API reference

Sign-in clients

Register OpenID Connect clients that let people sign in to a Serverless App Service's app.
GET/v1/orgs/:orgId/projects/:projectId/oauth-clients

The project's sign-in clients (never their secrets), with the issuer and its discovery URL.

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

Path parameters

  • orgId

    Organization id (org_…).

  • projectId

    Serverless App Service id (prj_…).

Errors

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

Response 200

{
  issuer: string
  discovery: string
  clients: {
    createdAt?: number
    updatedAt?: number
    lastUsedAt?: number
    secretExpiresAt?: number
    assignmentRequired: boolean
    clientId: string
    name: string
    redirectUris: string[]
    subjectType: "public" | "pairwise"
  }[]
}
POST/v1/orgs/:orgId/projects/:projectId/oauth-clients

Registers a client; the secret is in this response only.

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

Path parameters

  • orgId

    Organization id (org_…).

  • projectId

    Serverless App Service id (prj_…).

Request body

  • namestringrequired

    1–64 characters. Trimmed.

  • redirectUrisstring[]required

    1–10 items. Each 1–2,048 characters, trimmed.

  • subjectType"pairwise" | "public"

    Default "pairwise".

  • clientUristring

    Up to 512 characters. Trimmed.

  • logoUristring

    Up to 512 characters. Trimmed.

  • policyUristring

    Up to 512 characters. Trimmed.

  • tosUristring

    Up to 512 characters. Trimmed.

Errors

  • 400A Serverless App Service can have up to 10 sign-in clients.
  • 404Serverless App Service not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/projects/{projectId}/oauth-clients' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example",
    "redirectUris": [
      "example"
    ]
  }'
Send it from this page with your session or a key.

Response 201

{
  client: {
    createdAt?: number
    updatedAt?: number
    lastUsedAt?: number
    secretExpiresAt?: number
    assignmentRequired: boolean
    clientId: string
    name: string
    redirectUris: string[]
    subjectType: "public" | "pairwise"
  }
  clientSecret: string
}
PATCH/v1/orgs/:orgId/projects/:projectId/oauth-clients/:clientId

Renames a sign-in client or replaces its redirect URIs.

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

Path parameters

  • orgId

    Organization id (org_…).

  • projectId

    Serverless App Service id (prj_…).

  • clientId

    Sign-in client id (cli_…).

Request body

  • namestring

    1–64 characters. Trimmed.

  • redirectUrisstring[]

    1–10 items. Each 1–2,048 characters, trimmed.

  • clientUristring

    Up to 512 characters. Trimmed.

  • logoUristring

    Up to 512 characters. Trimmed.

  • policyUristring

    Up to 512 characters. Trimmed.

  • tosUristring

    Up to 512 characters. Trimmed.

Also checked: Nothing to update.

Errors

  • 404Client not found
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/projects/{projectId}/oauth-clients/{clientId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example",
    "redirectUris": [
      "example"
    ],
    "clientUri": "https://example.com"
  }'
Send it from this page with your session or a key.

Response 200

{
  client: {
    createdAt?: number
    updatedAt?: number
    lastUsedAt?: number
    secretExpiresAt?: number
    assignmentRequired: boolean
    clientId: string
    name: string
    redirectUris: string[]
    subjectType: "public" | "pairwise"
  }
}
POST/v1/orgs/:orgId/projects/:projectId/oauth-clients/:clientId/secret

Replaces the secret (the old one stops working at once); the new one is in this response only.

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

Path parameters

  • orgId

    Organization id (org_…).

  • projectId

    Serverless App Service id (prj_…).

  • clientId

    Sign-in client id (cli_…).

Errors

  • 404Client not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/projects/{projectId}/oauth-clients/{clientId}/secret' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  client: {
    createdAt?: number
    updatedAt?: number
    lastUsedAt?: number
    secretExpiresAt?: number
    assignmentRequired: boolean
    clientId: string
    name: string
    redirectUris: string[]
    subjectType: "public" | "pairwise"
  }
  clientSecret: string
}
DELETE/v1/orgs/:orgId/projects/:projectId/oauth-clients/:clientId

Deletes the client: sign-ins and refreshes with it stop at once.

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

Path parameters

  • orgId

    Organization id (org_…).

  • projectId

    Serverless App Service id (prj_…).

  • clientId

    Sign-in client id (cli_…).

Errors

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

Response 204 with no body