API reference

Organizations and members

Read and rename an organization, check what it still contains, delete it, and list its members.
GET/v1/orgs/:orgId/members

Members with their role, email, name and join time, and the organization's teams with their size. Callers with members:write also get pending invites.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/members' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  members: {
    userId: string
    role: "owner" | "admin" | "developer" | "viewer"
    email?: string
    name?: string
    joinedAt?: number
  }[]
  teams: {
    teamId: string
    slug: string
    name: string
    description?: string
    members: number
  }[]
  invites?: {
    inviteId: string
    email: string
    role: "owner" | "admin" | "developer" | "viewer"
    expiresAt: number
    createdAt?: number
  }[]
}
GET/v1/orgs/:orgId

The organization's id, slug, name, kind and creation time.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

Errors

  • 404Organization not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  org: {
    orgId: string
    slug: string
    name: string
    kind: "platform" | "customer"
    createdAt?: number
    deploymentSlug: string
  }
}
PATCH/v1/orgs/:orgId

Renames the organization. The slug doesn't change.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

Request body

  • namestringrequired

    1–64 characters. Trimmed.

Errors

  • 404Organization not found
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example"
  }'
Send it from this page with your session or a key.

Response 200

{
  org: {
    orgId: string
    slug: string
    name: string
    kind: "platform" | "customer"
    createdAt?: number
  }
}
GET/v1/orgs/:orgId/contents

What still has to be removed before the org can be deleted.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/contents' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  contents: {
    projects: number
    repositories: number
    databases: number
    buckets: number
    connectors: number
    agents: number
    files: number
    mailDomains: number
    mailboxes: number
    vehicles: number
    keys: number
  }
}
DELETE/v1/orgs/:orgId

Deletes a customer org: owners only, and only once contents counts nothing (docs/cloud/org-deletion.md). Its data in every app goes with it: Notes pages (history, files and comments included), then each service's handler (purgeOrgData: Tasks, Customers, Marketing, Maps, Drive's folders, sharing, keys…), then members, teams, invites, API keys, the SES tenant and Exchange sign-ins. Data is deleted for a while per request: until it's all gone it answers 202 with what's left, the org and its members stay, and asking again goes on. A service that fails answers 503, the same.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

Errors

  • 400The platform organization can't be deleted.
  • 404Organization not found
  • 409Remove its … first.
  • 503Some of the organization's data couldn't be deleted. Try again in a minute.
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 202

{
  pending: {
    pages: number
    services: ("keys" | "issues" | "maps" | "drive" | "messaging" | "crm" | "marketing" | "vehicles" | "sharing" | "notify" | "office")[]
  }
}

Response 204 with no body