Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

Quick StartWhat is Saasco?

Analytics

CRM

Email Marketing

Knowledge

Support

Projects

getList ProjectsgetGet ProjectpostUpdate ProjectdelDelete Project
Settings

Update Project

Updates a project's settings. Only the fields present in changes are written, so this is a partial update despite the POST. Slugs are unique across Saasco. Reusing one that belongs to another project returns 409.

POST
/projects/{projectId}

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project to update.

Request Body

application/json

changesrequiredobject

Fields to change. Anything omitted is left as-is.

autoTopUpEnabledboolean

Whether automatic credit top-up is enabled.

metaobject | null

Project metadata bag.

namestring

Display name of the project.

slugstring

Unique URL slug across Saasco. Reusing one that belongs to another project returns 409.

stripeCustomerIdstring | null

Live Stripe customer ID.

taglinestring | null

Short description shown on the project.

testStripeCustomerIdstring | null

Test-mode Stripe customer ID.

thumbnailstring | null

Image URL for the project.

autoTopUpAmountnumber | null
autoTopUpThresholdnumber | null

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string" \  -H "Content-Type: application/json" \  -d '{    "changes": {}  }'
{
  "id": "string",
  "createdAt": "string",
  "updatedAt": "string",
  "name": "string",
  "tagline": "string",
  "slug": "string",
  "balance": 0,
  "balanceVersion": -9007199254740991,
  "thumbnail": "string",
  "stripeCustomerId": "string",
  "testStripeCustomerId": "string",
  "autoTopUpEnabled": true,
  "meta": {
    "completedSetupSteps": [
      "sdk"
    ],
    "contactListVisibleColumns": [
      {
        "id": "string",
        "order": 0
      }
    ],
    "defaultEmailCampaignSendOrder": {
      "direction": "asc",
      "propertyKey": "string"
    },
    "defaultEmailFromDomain": "string",
    "defaultEmailFromName": "string",
    "defaultEmailFromUsername": "string",
    "hasCompletedOnboarding": true,
    "knowledgeArticlesVisibleColumns": [
      {
        "id": "string",
        "order": 0
      }
    ],
    "timezone": "string",
    "useCases": [
      "onboarding"
    ]
  },
  "autoTopUpAmount": 20,
  "autoTopUpThreshold": 10,
  "appConfigs": [
    {
      "id": "string",
      "createdAt": "string",
      "updatedAt": "string",
      "appId": "string",
      "activated": true,
      "setupCompleted": true,
      "projectId": "string"
    }
  ]
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Get Project

Fetches a single project along with its app configs: one entry per Saasco app the project has enabled, carrying that app's activation and setup-completion state. Returns 404 if the project does not exist.

Delete Project

Permanently deletes a project and everything cascading from it. Any queued usage is settled against the balance first, and the delete is refused with 403 if that leaves the project owing money. Top up before retrying. Returns the deleted project as it was at the point of deletion. This cannot be undone.