Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

OverviewGetting startedWhat is Saasco?

SDK

Quick startTrackingIdentifyConfigurationWidgetsProperties

MCP

Quick startHow it worksAuthorizationTool reference

REST API

Quick start
getGet Benchmark PreferencesputSet Benchmark Preferences
Benchmarks

Set Benchmark Preferences

Stores the cohort and funnel-step mapping used to compare this project's metrics with benchmarks. Replaces the previous preferences.

PUT
/projects/{projectId}/benchmarks/preferences

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project whose benchmark preferences to store.

Request Body

application/json

benchmarkPreferencesrequiredobject

Cohort and funnel-step mapping to store for this project.

businessInforequiredobject

Cohort the project's metrics are compared against.

acvLevelrequiredstring

Annual contract value band used to pick a benchmark cohort.

Value in: "low" | "mid" | "high"
businessModelrequiredstring

How someone becomes a paying customer: opt-in trial, opt-out trial, freemium, or a direct purchase.

Value in: "freeTrialOptIn" | "freeTrialOptOut" | "freemium" | "direct"
businessTyperequiredstring

Who the product sells to.

Value in: "b2b" | "b2c"
funnelStepsrequiredobject

Which analytics events stand in for each benchmark funnel step.

activationrequiredstring

Analytics event name that counts as activation.

completedOrderrequiredstring

Analytics event name that counts as a completed order.

pageViewrequiredstring

Analytics event name that counts as a page view.

signuprequiredstring

Analytics event name that counts as a signup.

startTrialrequiredstring

Analytics event name that counts as a trial start.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://www.saasco.com/api/v2/projects/string/benchmarks/preferences" \  -H "Content-Type: application/json" \  -d '{    "benchmarkPreferences": {      "businessInfo": {        "acvLevel": "low",        "businessModel": "freeTrialOptIn",        "businessType": "b2b"      },      "funnelSteps": {        "activation": "string",        "completedOrder": "string",        "pageView": "string",        "signup": "string",        "startTrial": "string"      }    }  }'
{
  "businessInfo": {
    "acvLevel": "low",
    "businessModel": "freeTrialOptIn",
    "businessType": "b2b"
  },
  "funnelSteps": {
    "activation": "string",
    "completedOrder": "string",
    "pageView": "string",
    "signup": "string",
    "startTrial": "string"
  }
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Get Benchmark Preferences

Reads the cohort and funnel-step mapping used to compare this project's metrics with benchmarks. Returns null when nothing has been saved.

List Projects

Lists the projects the caller can reach, each with its app configs. API keys are scoped to a single project, so an API-key caller always gets exactly that one project back. Session and MCP callers omit `take` for every membership they belong to; the dashboard passes `take` for the recent page and `id` to keep the current project. An MCP URL with `?projectId=` is limited to that project.