SMAO API Documentation
Partners

List partners

Returns a paginated list of all partners (MSPs) under your distributor account. Each partner includes an organizationCount showing how many customer organizations are linked to it. Use the externalPartnerId query parameter to filter by your own partner identifier.

GET
/partners
AuthorizationBearer <token>

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

In: header

Query Parameters

page?integer

1-based page number.

Default1
Range1 <= value
limit?integer

Page size.

Default50
Range1 <= value <= 100
externalPartnerId?string

Exact-match filter for the distributor partner identifier.

Length1 <= length <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.smao.ai/api/distributor/v1/partners"
{
  "status": "success",
  "page": 1,
  "limit": 1,
  "total": 0,
  "partners": [
    {
      "id": "665abc123def456789012345",
      "name": "MSP Hamburg GmbH",
      "externalPartnerId": "MSP-001",
      "contactEmail": "[email protected]",
      "contactName": "Hans Mueller",
      "isActive": true,
      "notes": null,
      "organizationId": "665abc123def456789012346",
      "organizationCount": 12,
      "createdAt": "2026-03-20T10:41:14.553Z"
    }
  ]
}
{
  "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."
}