SMAO API Documentation
Organizations

Update organization

Update allowed fields on a partner-managed organization. At least one field must be provided. If externalCustomerId is changed, uniqueness is enforced within the partner's organizations.

PATCH
/organizations/{organizationId}
AuthorizationBearer <token>

Long-lived distributor API key scoped to a channel partner on the shared smao instance.

In: header

Path Parameters

organizationIdstring

MongoDB ObjectId of the organization.

Match^[a-fA-F0-9]{24}$
name?string

Display name of the organization.

Length1 <= length <= 255
industry?string

Industry label. Send empty string to clear.

Lengthlength <= 255
timezone?string

IANA timezone identifier.

Length1 <= length <= 100
externalCustomerId?string

Your unique customer identifier. Must be unique within your partner scope.

Length1 <= length <= 255
externalContractId?string|null

Optional contract identifier. Send null to clear.

Lengthlength <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.smao.ai/api/distributor/v1/organizations/string" \  -H "Content-Type: application/json" \  -d '{    "name": "Acme GmbH (renamed)",    "externalContractId": "CON-2026-0002"  }'
{
  "status": "success",
  "organization": {
    "id": "string",
    "name": "string",
    "industry": "string",
    "timezone": "string",
    "channelPartner": "acme",
    "externalCustomerId": "string",
    "externalContractId": "string",
    "partnerId": "string",
    "ownerEmail": "[email protected]",
    "createdAt": "2019-08-24T14:15:22Z",
    "plan": {
      "id": "string",
      "slug": "string",
      "name": "string",
      "commitment": "none",
      "currency": "string",
      "baseFee": 0
    }
  }
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}

{
  "status": "error",
  "errorCode": "RATE_LIMITED",
  "message": "Too many requests for this API key."
}
{
  "status": "error",
  "errorCode": "INVALID_DATE_RANGE",
  "message": "from and to must be valid YYYY-MM-DD values"
}

{
  "status": "error",
  "errorCode": "RATE_LIMIT_UNAVAILABLE",
  "message": "Rate limit storage is unavailable. Try again shortly."
}