POSTpartial

Register an account-bound client

Verified account email required. Agent clients require complete registered agent identity. Partner clients require approved tenant administration. Exact HTTPS/loopback redirects. Cookie writes require the issuer Origin.

/api/oauth/clientsregisterAccountOAuthClient

Authentication and authority

Use one listed account-session, scoped OAuth, or partner credential alternative. Account tokens retain the approving account’s authority. Cookie-authenticated writes require same-origin authorization. Alternatives are OR; schemes in one alternative are AND.

CanonicalSession

Parameters

This operation has no path, query, or header parameters.

Request body

Required request body.

application/json

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "personal",
        "agent",
        "partner"
      ]
    },
    "redirectUris": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "scope": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cases:read",
          "filings:write",
          "answers:write",
          "submissions:write",
          "records:confirm",
          "records:write",
          "invitations:write",
          "messages:write",
          "remedies:write",
          "consents:write",
          "offline_access",
          "representatives:manage",
          "procedural:request",
          "termination:write"
        ]
      }
    },
    "partnerId": {
      "type": "string"
    },
    "mcpCaseId": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "kind",
    "scope"
  ]
}

Responses

201

Successful operation.

application/json

{
  "type": "object",
  "properties": {
    "client": {
      "$ref": "#/components/schemas/AccountOAuthClient",
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "enum": [
            "personal",
            "agent",
            "partner"
          ]
        },
        "partnerId": {
          "type": "string"
        },
        "mcpCaseId": {
          "type": "string"
        },
        "redirectUris": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "cases:read",
              "filings:write",
              "answers:write",
              "submissions:write",
              "records:confirm",
              "records:write",
              "invitations:write",
              "messages:write",
              "remedies:write",
              "consents:write",
              "offline_access",
              "representatives:manage",
              "procedural:request",
              "termination:write"
            ]
          }
        },
        "createdAt": {
          "type": "string"
        },
        "revokedAt": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "kind",
        "redirectUris",
        "scopes",
        "createdAt"
      ]
    },
    "clientSecret": {
      "type": "string",
      "description": "Confidential clients only; shown once."
    }
  },
  "required": [
    "client"
  ]
}
default

Authorization failure; consent_required requires explicit reacceptance.

application/json

{
  "$ref": "#/components/schemas/AccountOAuthError",
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "error_description": {
      "type": "string"
    }
  },
  "required": [
    "error"
  ]
}

Example response

Successful response

{
  "client": {
    "id": "id_test",
    "name": "name_test",
    "kind": "personal",
    "redirectUris": [
      "redirectUris_test"
    ],
    "scopes": [
      "cases:read"
    ],
    "createdAt": "createdAt_test"
  }
}

Errors

Read the response status and stable error code. See errors and rate limits for recovery. Refresh the resource before resolving a state or digest conflict.

Idempotency and retries

  • For throttling, honor Retry-After when present. Back off on retryable server failures.
  • The request is accepted only when its credential, authority, case state, and resource preconditions are satisfied.