Download OpenAPI specification:Download
The Lexabit REST API (v1) for compliance and financial intelligence. Authenticate with a bearer token (Laravel Sanctum). All endpoints are versioned under /{service}/v1.
Environments: https://api.lexabit.com is production — only for applications running against the live environment. For all development, testing, and integration work use https://api.staging.lexabit.com (same API, separate data and credentials).
Access-model fields such as sponsored, delegated, apps, and connectors are named differently in the Lexabit Portal than in this reference. Access Concepts & Portal Terms maps each one to the exact wording your users see.
Rate-limited. May require a reCAPTCHA token.
| email required | string <email> <= 255 characters |
| password required | string non-empty |
| entity_type | string <= 50 characters |
| device_name | string <= 255 characters |
| recaptcha_token | string |
| context | string Enum: "portal" "admin" |
required | object |
required | object |
{- "email": "user@example.com",
- "password": "string",
- "entity_type": "string",
- "device_name": "string",
- "recaptcha_token": "string",
- "context": "portal"
}"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | object (UserAuthV1Resource) |
required | object |
{- "data": {
- "id": null,
- "name": "string",
- "email": "string",
- "emailVerified": true,
- "emailVerifiedAt": "string",
- "entityType": "user",
- "isAdmin": true,
- "avatarUrl": "string"
}, - "meta": {
- "requestId": "string"
}
}Rate-limited by IP. May require a reCAPTCHA token.
| email required | string <email> <= 255 characters |
| password required | string >= 8 characters [0-9] |
| name | string <= 255 characters |
| entity_type | string <= 50 characters |
| recaptcha_token | string |
| password_confirmation required | string >= 8 characters [0-9] |
required | object |
required | object |
{- "email": "user@example.com",
- "password": "stringst",
- "name": "string",
- "entity_type": "string",
- "recaptcha_token": "string",
- "password_confirmation": "stringst"
}{- "data": {
- "requiresVerification": "string",
- "verificationEmailSent": true
}, - "meta": {
- "requestId": "string"
}
}| email required | string <email> <= 255 characters |
| entity_type | string <= 50 characters |
required | object |
required | object |
{- "email": "user@example.com",
- "entity_type": "string"
}{- "data": {
- "available": true
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | object |
required | object |
{- "data": {
- "local": "string",
- "oauth": [
- null
], - "recaptcha": {
- "enabled": true,
- "siteKey": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Returns redirect URLs in the response body (consumer drives the redirect).
| uuid required | string |
required | object |
required | object |
{- "data": {
- "verified": true,
- "redirectUrl": "string"
}, - "meta": {
- "requestId": "string"
}
}Always returns success to prevent email enumeration.
| email required | string <email> <= 255 characters |
| entity_type | string <= 50 characters |
required | object |
required | object |
{- "email": "user@example.com",
- "entity_type": "string"
}{- "data": {
- "sent": true
}, - "meta": {
- "requestId": "string"
}
}Rate-limited by IP. May require a reCAPTCHA token. Always returns success to prevent email enumeration.
| email required | string <email> <= 255 characters |
| entity_type | string <= 50 characters |
| recaptcha_token | string |
required | object |
required | object |
{- "email": "user@example.com",
- "entity_type": "string",
- "recaptcha_token": "string"
}{- "data": {
- "sent": true
}, - "meta": {
- "requestId": "string"
}
}Returns the email associated with the token so the reset form can pre-fill it.
| uuid required | string |
required | object |
required | object |
{- "data": {
- "valid": true,
- "email": "string"
}, - "meta": {
- "requestId": "string"
}
}Rate-limited by token.
| token required | string <uuid> |
| password required | string >= 8 characters |
| password_confirmation required | string >= 8 characters |
required | object |
required | object |
{- "token": "b5507016-7da2-4777-a161-1e8042a6a377",
- "password": "stringst",
- "password_confirmation": "stringst"
}{- "data": {
- "reset": true
}, - "meta": {
- "requestId": "string"
}
}Two paths:
| current_password | string or null |
| new_password required | string >= 8 characters |
| new_password_confirmation required | string >= 8 characters |
required | object |
required | object |
{- "current_password": "string",
- "new_password": "stringst",
- "new_password_confirmation": "stringst"
}{- "data": {
- "updated": true
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": 0,
- "name": "string",
- "createdAt": "string",
- "lastUsedAt": "string",
- "expiresAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| name required | string <= 255 characters |
| expiresAt | string or null <date-time> |
required | object (NewAccessToken) |
required | object |
{- "name": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "property1": "string",
- "property2": "string"
}, - "meta": {
- "requestId": "string"
}
}| tokenId required | integer |
required | object (NewAccessToken) |
required | object |
{- "data": {
- "property1": "string",
- "property2": "string"
}, - "meta": {
- "requestId": "string"
}
}| tokenId required | integer |
| name | string <= 255 characters |
| expiresAt | string <date-time> |
required | object |
required | object |
{- "name": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": 0,
- "name": "string",
- "createdAt": "string",
- "lastUsedAt": "string",
- "expiresAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "actorType": "user",
- "actorId": "string",
- "name": "string",
- "status": "string"
}, - "meta": {
- "requestId": "string"
}
}No route parameter exists for a collection endpoint, so entity.permission cannot gate it — authorization happens in-controller, exactly like ClientController::index.
| filter[origin] | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (AppListResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "status": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "connectorId": "string",
- "entity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "hasClientCredentials": true,
- "delegated": true,
- "keysCount": "string",
- "lastUsedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}Mirrors ClientController::store: validate -> AppService::create() -> 201 with AppResource + the first key if requested (createKey defaults true).
| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 255 characters |
| description | string or null |
| createKey | boolean |
| keyName | string <= 255 characters |
| roles | Array of strings |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "createKey": true,
- "keyName": "string",
- "roles": [
- "string"
]
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "status": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "connectorId": "string",
- "delegated": "string",
- "entity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "keysCount": "string",
- "lastUsedAt": "string",
- "keys": [
- {
- "id": "string",
- "name": "string",
- "lastUsedAt": "string",
- "expiresAt": "string",
- "createdAt": "string"
}
], - "hasClientCredentials": true,
- "clientCredentialClientId": "string",
- "clientCredentialLastUsedAt": "string",
- "clientCredentialType": "confidential",
- "key": {
- "property1": "string",
- "property2": "string"
}
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "status": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "connectorId": "string",
- "delegated": "string",
- "entity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "keysCount": "string",
- "lastUsedAt": "string",
- "keys": [
- {
- "id": "string",
- "name": "string",
- "lastUsedAt": "string",
- "expiresAt": "string",
- "createdAt": "string"
}
], - "hasClientCredentials": true,
- "clientCredentialClientId": "string",
- "clientCredentialLastUsedAt": "string",
- "clientCredentialType": "confidential"
}, - "meta": {
- "requestId": "string"
}
}status transitions delegate to AppService::suspend()/reactivate() (the
only lifecycle-transition entry points); name/description are plain
column updates, exactly like ClientController::update.
| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| status | string Enum: "active" "suspended" |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "status": "active"
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "status": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "connectorId": "string",
- "delegated": "string",
- "entity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "keysCount": "string",
- "lastUsedAt": "string",
- "keys": [
- {
- "id": "string",
- "name": "string",
- "lastUsedAt": "string",
- "expiresAt": "string",
- "createdAt": "string"
}
], - "hasClientCredentials": true,
- "clientCredentialClientId": "string",
- "clientCredentialLastUsedAt": "string",
- "clientCredentialType": "confidential"
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| expiresAt | string or null <date-time> |
required | object (NewAccessToken) |
required | object |
{- "name": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "property1": "string",
- "property2": "string"
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| keyId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string |
required | object (NewAccessToken) |
required | object |
{- "name": "string"
}{- "data": {
- "property1": "string",
- "property2": "string"
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| keyId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
required | object |
required | object |
{- "name": "string"
}{- "data": {
- "clientId": "string",
- "clientSecret": "string",
- "name": "string",
- "createdAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "clientId": "string",
- "clientSecret": "string",
- "name": "string",
- "createdAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (AppRoleResource) |
required | object |
{- "data": [
- {
- "roleKey": "string",
- "roleName": "string",
- "roleType": "string",
- "entityType": "string",
- "entityId": "string",
- "assignedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| X-Scope required | string Operating scope for the request: the opaque |
| entityType required | string |
| entityId required | string |
| roleKey required | string |
required | object |
required | object |
{- "entityType": "string",
- "entityId": "string",
- "roleKey": "string"
}{- "data": {
- "message": "Role assigned to app."
}, - "meta": {
- "requestId": "string"
}
}| app required | string The app ID |
| entityType | string |
| entityId | string |
| roleKey | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Role revoked from app.",
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}| authorizationId required | string |
required | object |
required | object |
{- "data": {
- "clientName": "string",
- "clientLogoUrl": "string",
- "homepageUrl": "string",
- "redirectUri": "string",
- "requestedRoles": [
- null
], - "requestedCapabilities": [
- {
- "area": "string",
- "areaName": "string",
- "capabilities": [
- null
]
}
], - "delegationRequested": true,
- "scopeEntity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "availableScopes": [
- null
]
}, - "meta": {
- "requestId": "string"
}
}| authorizationId required | string |
| decision required | string Enum: "approve" "deny" |
| delegate | boolean Opt in to delegated access ("act on your behalf"). Only valid when the authorization request asked for it. |
| sponsored required | boolean Ownership classification — forced choice, no default (LEX-109). |
| roles | Array of strings |
| capabilities | Array of strings |
required | object |
required | object |
{- "decision": "approve",
- "delegate": true,
- "sponsored": true,
- "roles": [
- "string"
], - "capabilities": [
- "string"
]
}{- "data": {
- "redirectUri": "string"
}, - "meta": {
- "requestId": "string"
}
}Exchange client-credentials or an authorization code for a bearer token, or refresh an existing one.
OAuth 2.0 token endpoint (RFC 6749). Dispatches on grant_type:
client_credentials (a first-party App authenticating with its own
client-credential set), authorization_code (a Connector redeeming a
consent-minted one-time code — with PKCE S256 when the authorize
request carried a code_challenge, which is mandatory for public
clients) or refresh_token (a Connector rotating a refresh token from
an earlier redemption for a fresh access token). Client credentials may
be sent either as an HTTP Basic Authorization header or as
client_id/client_secret body fields — never both, and never in the
query string.
Request and response are RFC-flat (application/x-www-form-urlencoded
or JSON in, plain JSON out) — NOT the platform {data,meta} envelope —
so standard OAuth client libraries work unmodified. The issued bearer
token expires after expires_in seconds. The authorization_code and
refresh_token grants also return a rotating refresh_token (LEX-130);
client_credentials does not.
| grant_type required | string One of |
| client_id | string The client id (App client credential, or Connector client id). Required here unless sent via HTTP Basic auth. |
| client_secret | string The client secret. Required for confidential clients unless sent via HTTP Basic auth; public (PKCE-only) clients have none. |
| code | string
|
| redirect_uri | string
|
| code_verifier | string
|
| refresh_token | string
|
| scope | string
|
| access_token required | string |
| token_type required | string |
| expires_in required | integer |
| refresh_token | string |
{- "grant_type": "authorization_code",
- "client_id": "string",
- "client_secret": "string",
- "code": "string",
- "redirect_uri": "string",
- "code_verifier": "string",
- "refresh_token": "string",
- "scope": "string"
}{- "access_token": "1|9x7K2mQpR4vL8nW3zC6hT1sD5fG0aJ2bE9cY4uI7oP",
- "token_type": "Bearer",
- "expires_in": 3600,
- "refresh_token": "rt_4Kf…"
}RFC 7009 revocation endpoint. Pass the token to revoke (a refresh token
or an access token) with the same client authentication you use at the
token endpoint. Revoking a refresh token disconnects the connection it
belongs to entirely; revoking an access token invalidates only that
bearer. Always returns 200 for an authenticated client, whether or not
the token was known.
| token required | string The refresh token or access token to revoke. |
| token_type_hint | string Optional: |
| client_id | string Your Connector client id. Required here unless sent via HTTP Basic auth. |
| client_secret | string Your Connector client secret (confidential clients only) unless sent via HTTP Basic auth. |
| property name* additional property | any |
{- "token": "string",
- "token_type_hint": "string",
- "client_id": "string",
- "client_secret": "string"
}{- "property1": null,
- "property2": null
}| filter[status] | string Default: "active" |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (OAuthConsentResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "app": {
- "id": "string",
- "name": "string",
- "logoUrl": "string",
- "homepageUrl": "string"
}, - "grantedRoles": [
- null
], - "delegated": true,
- "sponsored": true,
- "entity": {
- "type": "string",
- "id": "string",
- "name": "string"
}, - "grantedAt": "string",
- "revokedAt": "string",
- "status": "active"
}
], - "meta": {
- "requestId": "string"
}
}| filter[status] | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (EntityConnectionResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "app": {
- "id": "string",
- "name": "string",
- "status": "string",
- "logoUrl": "string",
- "homepageUrl": "string"
}, - "connector": {
- "id": "string",
- "name": "string"
}, - "grantedRoles": [
- null
], - "delegated": true,
- "sponsored": true,
- "grantedBy": {
- "userId": "string",
- "name": "string",
- "email": "string"
}, - "grantedAt": "string",
- "revokedAt": "string",
- "status": "active"
}
], - "meta": {
- "requestId": "string"
}
}| connection required | string <uuid> The connection ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Returns ETag + Cache-Control: private (slow-changing reference data).
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "accessibleSubsets": "string",
- "accessLevel": "string"
}, - "meta": {
- "requestId": "string"
}
}| page | integer >= 1 |
| perPage | integer [ 1 .. 100 ] |
| sort | string |
| filter[name] | string |
| filter[countryCode] | string = 2 characters |
| filter[status] | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | Array of any |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string",
- "pagination": {
- "page": "string",
- "perPage": "string",
- "total": "string",
- "totalPages": "string"
}
}
}Returns ETag + Cache-Control: private, max-age=300 for conditional-GET support.
| id required | string |
| profile | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "orgNo": "string",
- "name": "string",
- "countryCode": "string",
- "status": "string",
- "legalForm": "string",
- "source": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| profile | string |
| priorities | Array of strings |
| subsets | Array of strings Items Enum: "information" "addresses" "financials" "metric_snapshots" "rating" "announcements" "events" "roles" "signatories" "shareholders" "exceptions" "activity_classifications" "group_structure" |
object |
required | object |
required | object |
{- "profile": "string",
- "priorities": [
- "string"
], - "subsets": [
- "information"
], - "options": {
- "maxAge": "string",
- "forceRefresh": true,
- "createAccessGrants": true
}
}{- "data": {
- "id": "string",
- "orgNo": "string",
- "name": "string",
- "countryCode": "string",
- "status": "string",
- "legalForm": "string",
- "source": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Returns 201 + Location header on success.
| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| source | string |
| profile | string |
| createAccessGrants | boolean |
| subsets | Array of strings |
required | object |
required | object |
{- "source": "string",
- "profile": "string",
- "createAccessGrants": true,
- "subsets": [
- "string"
]
}{- "data": {
- "id": "string",
- "orgNo": "string",
- "name": "string",
- "countryCode": "string",
- "status": "string",
- "legalForm": "string",
- "source": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Returns a conflict error if a refetch is already in progress for this company.
| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| profile | string |
| priorities | Array of strings |
| subsets | Array of strings |
required | object |
required | object |
{- "profile": "string",
- "priorities": [
- "string"
], - "subsets": [
- "string"
]
}{- "data": {
- "id": "string",
- "orgNo": "string",
- "name": "string",
- "countryCode": "string",
- "status": "string",
- "legalForm": "string",
- "source": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "companyId": "string",
- "accessibleSubsets": [
- null
], - "accessLevel": "premium"
}, - "meta": {
- "requestId": "string"
}
}Uses cursor-based pagination. The cursor is an opaque token — clients should pass it back as received and must not attempt to decode or construct it.
| q required | string [ 2 .. 100 ] characters |
| country | string = 2 characters |
| country_code | string = 2 characters |
| perPage | integer [ 1 .. 100 ] |
| cursor | string or null |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | Array of any |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string",
- "pagination": {
- "perPage": { },
- "nextCursor": "string",
- "prevCursor": "string"
}, - "externalSearchEnabled": true
}
}Accepts both registrationNumber (v1 canonical) and the deprecated
registration_number alias, via LookupCompanyV1Request.
Returns the internal company identifier as data.internalId (previously returned as a separate company_id field outside the envelope).
| country | string = 2 characters |
| country_code | string = 2 characters |
| registrationNumber | string <= 64 characters |
| registration_number | string <= 64 characters |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "registrationNumber": "string",
- "name": "string",
- "countryCode": "string",
- "status": "string",
- "legalForm": "string",
- "address": "string",
- "internalId": "string",
- "registrySource": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "subsetType": "string",
- "data": "string",
- "resolvedAt": "string",
- "source": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | Array of any |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | Array of any |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "queued": 3,
- "running": 1,
- "completed": 15,
- "failed": 2,
- "cancelled": 1,
- "total": 22
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| profile | string |
| priority | string Enum: "low" "normal" "high" |
| companyIds required | Array of strings non-empty |
| subsets | Array of strings |
{- "profile": "string",
- "priority": "low",
- "companyIds": [
- "string"
], - "subsets": [
- "string"
]
}{- "data": {
- "id": "string",
- "type": "string",
- "status": "string",
- "progress": "string",
- "totalItems": "string",
- "userId": "string",
- "parameters": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "estimatedDuration": "string",
- "estimatedCompletion": "string",
- "completedAt": "string",
- "cancelledAt": "string",
- "failedAt": "string",
- "retriedFrom": "string"
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| forceRefresh | boolean |
| companyIds required | Array of strings [ 1 .. 1000 ] items |
| subsets | Array of strings |
{- "forceRefresh": true,
- "companyIds": [
- "string"
], - "subsets": [
- "string"
]
}{- "data": {
- "id": "string",
- "type": "string",
- "status": "string",
- "progress": "string",
- "totalItems": "string",
- "userId": "string",
- "parameters": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "estimatedDuration": "string",
- "estimatedCompletion": "string",
- "completedAt": "string",
- "cancelledAt": "string",
- "failedAt": "string",
- "retriedFrom": "string"
}, - "meta": {
- "requestId": "string"
}
}| jobId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "type": "string",
- "status": "string",
- "progress": "string",
- "totalItems": "string",
- "userId": "string",
- "parameters": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "estimatedDuration": "string",
- "estimatedCompletion": "string",
- "completedAt": "string",
- "cancelledAt": "string",
- "failedAt": "string",
- "retriedFrom": "string"
}, - "meta": {
- "requestId": "string"
}
}| jobId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "type": "string",
- "status": "string",
- "progress": "string",
- "totalItems": "string",
- "userId": "string",
- "parameters": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "estimatedDuration": "string",
- "estimatedCompletion": "string",
- "completedAt": "string",
- "cancelledAt": "string",
- "failedAt": "string",
- "retriedFrom": "string"
}, - "meta": {
- "requestId": "string"
}
}| jobId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": {
- "id": "string",
- "type": "string",
- "status": "string",
- "progress": "string",
- "totalItems": "string",
- "userId": "string",
- "parameters": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "estimatedDuration": "string",
- "estimatedCompletion": "string",
- "completedAt": "string",
- "cancelledAt": "string",
- "failedAt": "string",
- "retriedFrom": "string"
}, - "meta": {
- "requestId": "string"
}
}Generate a PDF report for a company based on its latest dataset information.
Returns binary application/pdf — not the standard {data,meta} envelope. This endpoint does not support the Idempotency-Key header.
Query parameters:
| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "message": "string"
}| ids[] | Array of integers |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ScoringResource) |
required | object |
{- "data": [
- {
- "id": 0,
- "companyNumber": "string",
- "companyName": "string",
- "approved": true,
- "grossAmount": "string",
- "currency": "string",
- "tenantId": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| organizationNumber required | string |
| amount required | number >= 0 |
required | object |
required | object |
{- "organizationNumber": "string",
- "amount": 0
}"string"| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Accepts perPage.
| country | string = 2 characters |
| bic | string <= 11 characters |
| search | string <= 255 characters |
| provider | string <= 100 characters |
| active_only | boolean |
| perPage | integer [ 1 .. 100 ] |
| per_page | integer [ 1 .. 100 ] |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (BankV1Resource) |
required | object |
{- "data": [
- {
- "id": 0,
- "bankIdentifier": "string",
- "countryCode": "string",
- "bic": "string",
- "bankName": "string",
- "slug": "string",
- "fullIdentifier": "string",
- "providerBankId": "string",
- "providerName": "string",
- "metadata": [
- null
], - "providerData": [
- null
], - "popularityRank": 0,
- "isActive": true,
- "logoUrl": "string",
- "lastVerifiedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}Optional ?country=XX filter.
| country | string = 2 characters |
| bic | string <= 11 characters |
| search | string <= 255 characters |
| provider | string <= 100 characters |
| active_only | boolean |
| perPage | integer [ 1 .. 100 ] |
| per_page | integer [ 1 .. 100 ] |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (BankStatsV1Resource) |
required | object |
{- "data": {
- "summary": {
- "totalBanks": 0,
- "uniqueBics": 0,
- "uniqueBankNames": 0,
- "activeBanks": 0
}, - "byCountry": [
- "string"
], - "topBanks": [
- "string"
], - "byProvider": [
- "string"
], - "filter": {
- "country": null
}
}, - "meta": {
- "requestId": "string"
}
}Pass ?all_branches=true to return all branch identifiers for the BIC.
| bic required | string |
| country | string = 2 characters |
| bic | string <= 11 characters |
| search | string <= 255 characters |
| provider | string <= 100 characters |
| active_only | boolean |
| perPage | integer [ 1 .. 100 ] |
| per_page | integer [ 1 .. 100 ] |
| all_branches | boolean Default: false |
| X-Scope required | string Operating scope for the request: the opaque |
required | BankByBicV1Resource (object) or BankByBicV1Resource (object) (BankByBicV1Resource) |
required | object |
{- "data": {
- "banks": [
- {
- "id": 0,
- "bankIdentifier": "string",
- "countryCode": "string",
- "bic": "string",
- "bankName": "string",
- "slug": "string",
- "fullIdentifier": "string",
- "providerBankId": "string",
- "providerName": "string",
- "metadata": [
- null
], - "providerData": [
- null
], - "popularityRank": 0,
- "isActive": true,
- "logoUrl": "string",
- "lastVerifiedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "count": "string",
- "bic": "string",
- "country": null
}, - "meta": {
- "requestId": "string"
}
}| country required | string |
| identifier required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (BankShowV1Resource) |
required | object |
{- "data": {
- "bank": {
- "id": 0,
- "bankIdentifier": "string",
- "countryCode": "string",
- "bic": "string",
- "bankName": "string",
- "slug": "string",
- "fullIdentifier": "string",
- "providerBankId": "string",
- "providerName": "string",
- "metadata": [
- null
], - "providerData": [
- null
], - "popularityRank": 0,
- "isActive": true,
- "logoUrl": "string",
- "lastVerifiedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "branches": [
- "string"
], - "branchCount": 0,
- "hasMultipleBranches": true
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| iban | string |
| bban | string |
| country | string = 2 characters |
required | object (BankIdentifyV1Resource) |
required | object |
{- "iban": "string",
- "bban": "string",
- "country": "st"
}{- "data": {
- "bank": {
- "id": 0,
- "bankIdentifier": "string",
- "countryCode": "string",
- "bic": "string",
- "bankName": "string",
- "slug": "string",
- "fullIdentifier": "string",
- "providerBankId": "string",
- "providerName": "string",
- "metadata": [
- null
], - "providerData": [
- null
], - "popularityRank": 0,
- "isActive": true,
- "logoUrl": "string",
- "lastVerifiedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "bic": "string",
- "bankName": "string",
- "bankIdentifier": "string",
- "countryCode": "string",
- "parsedIban": null
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| iban | string |
| bban | string |
| country | string = 2 characters |
required | object (BankGetBankV1Resource) |
required | object |
{- "iban": "string",
- "bban": "string",
- "country": "st"
}{- "data": {
- "bank": {
- "id": 0,
- "bankIdentifier": "string",
- "countryCode": "string",
- "bic": "string",
- "bankName": "string",
- "slug": "string",
- "fullIdentifier": "string",
- "providerBankId": "string",
- "providerName": "string",
- "metadata": [
- null
], - "providerData": [
- null
], - "popularityRank": 0,
- "isActive": true,
- "logoUrl": "string",
- "lastVerifiedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "hasMultipleBranches": true,
- "branchCount": 0
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| iban | string |
| bban | string |
| country | string = 2 characters |
required | object |
required | object |
{- "iban": "string",
- "bban": "string",
- "country": "st"
}{- "data": {
- "bic": "string"
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| bban required | string |
| country | string = 2 characters |
| bic | string [ 8 .. 11 ] characters |
required | object |
required | object |
{- "bban": "string",
- "country": "st",
- "bic": "stringst"
}{- "data": {
- "iban": "string",
- "valid": true,
- "parsed": {
- "country": "string",
- "check_digits": "string",
- "bban": "string",
- "bank_id": "string",
- "account": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Returns: country, check_digits, bban, bank_id, account.
| X-Scope required | string Operating scope for the request: the opaque |
| iban required | string |
required | object |
required | object |
{- "iban": "string"
}{- "data": {
- "country": "string",
- "checkDigits": "string",
- "bban": "string",
- "bankId": "string",
- "account": "string"
}, - "meta": {
- "requestId": "string"
}
}Returns {iban, valid} and optionally {parsed} when valid.
| X-Scope required | string Operating scope for the request: the opaque |
| iban required | string |
required | object |
required | object |
{- "iban": "string"
}{- "data": {
- "iban": "string",
- "valid": true,
- "parsed": {
- "country": "string",
- "checkDigits": "string",
- "bban": "string",
- "bankId": "string",
- "account": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Returns {bic, valid} and optionally {country} when valid.
| X-Scope required | string Operating scope for the request: the opaque |
| bic required | string |
required | object |
required | object |
{- "bic": "string"
}{- "data": {
- "bic": "string",
- "valid": true,
- "country": "string"
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| bic required | string [ 8 .. 11 ] characters |
required | object |
required | object |
{- "bic": "stringst"
}{- "data": {
- "bic": "string",
- "country": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "countries": [
- null
], - "count": 0
}, - "meta": {
- "requestId": "string"
}
}Catalog of available banks (slow-changing reference data). Returns a paginated collection. Responses include an ETag for conditional requests.
| countryCode | string |
| accountType | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "countryCode": "string",
- "bankingGroupName": null,
- "bankDisplayName": "string",
- "bankOfficialName": "string",
- "bic": "string",
- "status": "AVAILABLE",
- "logo_url": "string",
- "requires_psu_id": true,
- "beta": true,
- "maximum_consent_validity": "string",
- "supported_auth_approaches": "string",
- "supported_services": "string",
- "psu_types": "string",
- "popularity_rank": 0
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 1,
- "lastPage": 1
}
}
}List of supported country codes from active integrations. Responses include an ETag for conditional requests.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "countries": {
- "property1": null,
- "property2": null
}
}, - "meta": {
- "requestId": "string"
}
}Whether the current user is registered and active for account tracking. Returns 200 whether or not the user is active.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "active": true,
- "message": "User is registered and active for Account Tracking"
}, - "meta": {
- "requestId": "string"
}
}Register the current user for account tracking (D11 — pre-activation step).
| X-Scope required | string Operating scope for the request: the opaque |
"string"List accounts available for a specific consent.
| consentId required | integer |
| scopeEntityId | string |
| scopeEntityType | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "consent_id": 0,
- "consent_status": "string",
- "integration": "string",
- "owner_entity_id": "string",
- "owner_entity_type": "string",
- "accounts": [
- {
- "account_id": "string",
- "account_name": "string",
- "display_name": "string",
- "iban": "string",
- "bban": "string",
- "account_number": "string",
- "currency": "string",
- "account_type": "string",
- "tracking_status": "tracked"
}
], - "summary": {
- "total_accounts": 0,
- "tracked_accounts": 0,
- "new_accounts": 0
}, - "consent_info": {
- "granted_at": "string",
- "expires_at": "string",
- "remaining_days": "string",
- "scope": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Preview the impact of a purge. Available to anyone with accounttracking.delete. can_force_full flag tells the client whether NukeEverything is available.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "physical_account_id": 0,
- "other_tracker_count": 0,
- "is_last_tracker": "string",
- "transaction_count": 0,
- "linked_counterpart_count": 0,
- "sync_running": "string",
- "can_force_full": true
}, - "meta": {
- "requestId": "string"
}
}Destructively purge (hard delete) a tracked account.
Authorization is per-mode:
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| confirm required | string |
| mode required | string Enum: "nuke_everything" "smart_untrack_unless_last" |
| deleteOrphanedCounterparts | boolean |
required | object or object |
required | object |
{- "confirm": "string",
- "mode": "nuke_everything",
- "deleteOrphanedCounterparts": true
}{- "data": {
- "physical_accounts": null,
- "tracked_accounts": null,
- "transactions": 0,
- "counterparts": null,
- "merged_views": 0,
- "sessions_scrubbed": 0
}, - "meta": {
- "requestId": "string"
}
}List tracked accounts for the current actor/scope. Returns page-paginated ApiCollection + PagePaginationMeta.
| page | integer >= 1 |
| perPage | integer [ 1 .. 10000 ] |
| sort | string |
| filter[q] | string |
| filter[status] | string |
| filter[bankId] | string |
| filter[countryCode] | string = 2 characters |
| filter[accountType] | string Enum: "private" "company" "payment" |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "accountNumber": "string",
- "bankId": "string",
- "bankName": "string",
- "bic": "string",
- "bban": "string",
- "currency": "string",
- "countryCode": "string",
- "accountType": "string",
- "ownerName": "string",
- "grossAmount": 0,
- "balance": {
- "amount": 0,
- "currency": "string",
- "type": "string",
- "referenceDate": "string",
- "fetchedAt": "string"
}, - "status": "string",
- "isActive": true,
- "partnerAccountStatus": "string",
- "referenceId": "string",
- "lastTransactionSync": "string",
- "physicalAccountId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "scopeName": "string",
- "autoSyncEnabled": true,
- "counterpartScanningEnabled": true,
- "blacklistCheckingEnabled": true,
- "accountIntelligenceEnabled": true,
- "scopeOrigin": {
- "scopeEntityId": "string",
- "scopeEntityType": "string",
- "scopeEntityName": "string",
- "isInherited": true,
- "physicalAccountId": "string"
}, - "latestSyncRun": {
- "id": "string",
- "status": "string",
- "totalTransactions": "string",
- "transactionsSynced": "string",
- "detailsFailed": "string",
- "startedAt": "string",
- "completedAt": "string"
}, - "settings": "string",
- "availableSettings": "string",
- "backfillStatus": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "lastPage": 0
}
}
}Add (discover + track) a bank account. Returns 201 + Location header.
| X-Scope required | string Operating scope for the request: the opaque |
| bankId required | string |
| countryCode required | string = 2 characters |
| accountType required | string Enum: "private" "company" "payment" |
object Optional visibility configuration (privacy-first — default: self-restricted) |
| data required | Array of any |
required | object |
{- "bankId": "string",
- "countryCode": "st",
- "accountType": "private",
- "visibility": {
- "shared": true,
- "visibleTo": {
- "type": "string",
- "id": "string"
}
}
}{- "data": [
- null
], - "meta": {
- "requestId": "string"
}
}Bulk delete tracked accounts. Returns { data: { deleted: [...] }, meta: { requestId } }.
| ids[] | Array of integers[ items >= 1 ] |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "deleted": {
- "property1": null,
- "property2": null
}
}, - "meta": {
- "requestId": "string"
}
}Fetch a single tracked account with settings, availableSettings, backfillStatus. Returns ETag + Cache-Control: private.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "accountNumber": "string",
- "bankId": "string",
- "bankName": "string",
- "bic": "string",
- "bban": "string",
- "currency": "string",
- "countryCode": "string",
- "accountType": "string",
- "ownerName": "string",
- "grossAmount": 0,
- "balance": {
- "amount": 0,
- "currency": "string",
- "type": "string",
- "referenceDate": "string",
- "fetchedAt": "string"
}, - "status": "string",
- "isActive": true,
- "partnerAccountStatus": "string",
- "referenceId": "string",
- "lastTransactionSync": "string",
- "physicalAccountId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "scopeName": "string",
- "autoSyncEnabled": true,
- "counterpartScanningEnabled": true,
- "blacklistCheckingEnabled": true,
- "accountIntelligenceEnabled": true,
- "scopeOrigin": {
- "scopeEntityId": "string",
- "scopeEntityType": "string",
- "scopeEntityName": "string",
- "isInherited": true,
- "physicalAccountId": "string"
}, - "latestSyncRun": {
- "id": "string",
- "status": "string",
- "totalTransactions": "string",
- "transactionsSynced": "string",
- "detailsFailed": "string",
- "startedAt": "string",
- "completedAt": "string"
}, - "settings": "string",
- "availableSettings": "string",
- "backfillStatus": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Generate a full PDF report for a tracked account.
Returns binary application/pdf — not the standard {data,meta} envelope. This endpoint does not support the Idempotency-Key header.
| accountId required | string |
| from_date | string or null <date> |
| to_date | string or null <date> |
| include_charts | boolean |
| template | string Enum: "default" "compliance" "overview" |
| filename | string <= 255 characters |
Array of objects |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Generate a single-transaction PDF slip.
Returns binary application/pdf — not the standard {data,meta} envelope. This endpoint does not support the Idempotency-Key header.
| accountId required | string |
| transactionId required | string |
| filename | string <= 255 characters |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Generate a bulk PDF for a user-selected set of transactions on a single account.
Takes the route {accountId} (per-account, not multi-account). Requires transactionIds (array, min 1, max 100, each a string). Restricted to accounts within the caller's current scope. The response includes summary statistics for the included transactions.
SPECIAL SURFACE: binary application/pdf — NOT {data,meta}. Idempotency is not supported for this route.
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| filename | string or null <= 255 characters |
| transactionIds required | Array of strings [ 1 .. 100 ] items |
{- "filename": "string",
- "transactionIds": [
- "string"
]
}{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Update per-account feature settings (autoSyncEnabled, counterpartScanningEnabled, etc.). Returns the updated settings, available settings, and backfill status.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| autoSyncEnabled | boolean |
| counterpartScanningEnabled | boolean |
| blacklistCheckingEnabled | boolean |
| accountIntelligenceEnabled | boolean |
| analysisApproved | boolean LEX-121: user approval for transaction analysis. Deliberately NOT in mappedSettings(): it targets the shared PhysicalAccount, not a TrackedAccount column — the controller routes it to AccountSettingsService::setAnalysisApproval() with user attribution. |
required | object |
required | object |
{- "autoSyncEnabled": true,
- "counterpartScanningEnabled": true,
- "blacklistCheckingEnabled": true,
- "accountIntelligenceEnabled": true,
- "analysisApproved": true
}{- "data": {
- "settings": "string",
- "availableSettings": [
- null
], - "backfillStatus": {
- "last_backfill": null,
- "counterparts_needing_enrichment": "string",
- "total_counterparts": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Update the scope's visibility floor and trigger backfill if needed.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| trackingStartDate required | string <date-time> |
required | object |
required | object |
{- "trackingStartDate": "2019-08-24T14:15:22Z"
}{- "data": {
- "tracking_start_date": "string",
- "previous_tracking_start_date": "string",
- "earliest_booking": null,
- "backfill_dispatched": true
}, - "meta": {
- "requestId": "string"
}
}Trigger a counterpart backfill scan for an account.
Dry-run (dryRun=true): returns stats without dispatching. A live run dispatches a background scan and returns 202.
This endpoint does not support the Idempotency-Key header: re-sending dispatches a new scan.
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| fromDate | string <date> |
| dryRun | boolean |
required | object |
required | object |
{- "fromDate": "2019-08-24",
- "dryRun": true
}{- "data": {
- "transactionsWithoutEntity": "string",
- "totalCounterparts": 0,
- "counterpartsNeedingEnrichment": 0,
- "counterpartsAlreadyEnriched": "string",
- "fromDate": "string",
- "toDate": "string"
}, - "meta": {
- "requestId": "string"
}
}Consent statistics for the current user/scope.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "total": 0,
- "active": 0,
- "expired": 0,
- "revoked": 0,
- "expiring_soon": 0,
- "by_integration": {
- "property1": null,
- "property2": null
}
}, - "meta": {
- "requestId": "string"
}
}Batch-revoke expired consents. This endpoint does not support the Idempotency-Key header.
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "expiredCount": 0,
- "processedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}List consents by integration name.
| integration required | string |
| page | integer >= 1 |
| perPage | integer [ 1 .. 100 ] |
| sort | string Enum: "createdAt" "-createdAt" "expiresAt" "-expiresAt" |
| filter[integration] | string |
| filter[status] | string |
| filter[trackedAccountId] | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "lastPage": 0
}
}
}List active consents by integration name.
| integration required | string |
| page | integer >= 1 |
| perPage | integer [ 1 .. 100 ] |
| sort | string Enum: "createdAt" "-createdAt" "expiresAt" "-expiresAt" |
| filter[integration] | string |
| filter[status] | string |
| filter[trackedAccountId] | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "lastPage": 0
}
}
}List consents visible to actor in current context. Returns page-paginated ApiCollection.
| page | integer >= 1 |
| perPage | integer [ 1 .. 100 ] |
| sort | string Enum: "createdAt" "-createdAt" "expiresAt" "-expiresAt" |
| filter[integration] | string |
| filter[status] | string |
| filter[trackedAccountId] | integer |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "lastPage": 0
}
}
}Create a new consent. Returns 201 + Location header.
| X-Scope required | string Operating scope for the request: the opaque |
| integrationName required | string <= 100 characters Enum: "Neonomics" "CreditSafe" "TestIntegration" |
| purpose required | string <= 100 characters Enum: "account_access" "transaction_history" "balance_inquiry" "credit_check" |
| expiryDays | integer [ 1 .. 90 ] |
| trackedAccountId | integer or null |
| initialScopeType | string or null |
| initialScopeId | string or null |
| scope | Array of strings non-empty [ items <= 100 characters ] Items Enum: "accounts:read" "transactions:read" "balances:read" "statements:read" "profile:read" "companies:read" |
| metadata | Array of strings or null[ items <= 255 characters ] |
required | object |
required | object |
{- "integrationName": "Neonomics",
- "purpose": "account_access",
- "expiryDays": 1,
- "trackedAccountId": 0,
- "initialScopeType": "string",
- "initialScopeId": "string",
- "scope": [
- "accounts:read"
], - "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Fetch a single consent.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Update consent metadata.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
| metadata required | Array of strings non-empty [ items <= 255 characters ] |
required | object |
required | object |
{- "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Soft-delete (revoke) a consent. Returns 204 No Content.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Return live consent status fields.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "consentId": 0,
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "remainingDays": 0,
- "grantedAt": "string",
- "revokedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Validate consent for a specific operation.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
| operation required | string <= 100 characters |
| requiredScopes | Array of strings[ items <= 100 characters ] |
required | object |
required | object |
{- "operation": "string",
- "requiredScopes": [
- "string"
]
}{- "data": {
- "consentId": 0,
- "operation": null,
- "isValid": true,
- "consentStatus": "string",
- "validationTimestamp": "string"
}, - "meta": {
- "requestId": "string"
}
}Return remaining validity days for a consent.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "consentId": 0,
- "remainingDays": 0,
- "expiresAt": "string",
- "isExpired": true
}, - "meta": {
- "requestId": "string"
}
}Explicitly revoke a consent. Returns 204 No Content.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Renew a consent by creating a new one and revoking the old. Returns 201 + new consent resource.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "oldConsentId": 0,
- "newConsent": {
- "id": "string",
- "integrationName": "string",
- "purpose": "string",
- "scope": "string",
- "status": "string",
- "isValid": true,
- "expiresAt": "string",
- "grantedAt": "string",
- "revokedAt": "string",
- "remainingDays": "string",
- "trackedAccountId": "string",
- "ownerId": "string",
- "ownerType": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "requiresRedirect": true
}, - "meta": {
- "requestId": "string"
}
}Initiate OAuth redirect for consent.
Returns JSON {data:{consentId, redirectUrl, expiresIn}} — not an HTTP 302. The client receives the URL and opens it. This endpoint does not support the Idempotency-Key header.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
| bankId required | string <= 50 characters |
| redirectUrl | string <uri> <= 255 characters |
required | object |
required | object |
{- "bankId": "string",
}{- "data": {
- "consentId": 0,
- "redirectUrl": "string",
- "expiresIn": 300
}, - "meta": {
- "requestId": "string"
}
}List visibility assignments for a consent.
| consent required | integer The consent ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "consentId": 0,
- "visibilityAssignments": [
- {
- "id": "string",
- "scopeType": "string",
- "scopeId": "string",
- "visibilityLevel": "string",
- "assignmentType": "string",
- "expiresAt": "string",
- "grantedBy": "string",
- "createdAt": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Revoke consent sharing from a scope. Returns 204 No Content.
| consent required | integer The consent ID |
| scopeType required | string Enum: "user" "tenant" "group" "project" |
| scopeId required | string <= 255 characters |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Process OAuth callback from bank provider.
Returns the raw result from the callback registry — may be a JSON response or an HTTP 302 redirect depending on the integration's callback processor. Never wrapped in {data,meta}.
| integration required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| success required | boolean |
| data required | Array of any |
[ ]Initiate a bank-account discovery session with the connected banking integration. Returns an opaque session object.
This endpoint does not support the Idempotency-Key header.
| X-Scope required | string Operating scope for the request: the opaque |
| bankId required | string |
| countryCode required | string = 2 characters |
| accountType required | string Enum: "private" "company" "payment" |
{- "bankId": "string",
- "countryCode": "st",
- "accountType": "private"
}{- "data": {
- "session_uuid": "string",
- "redirect_url": "string",
- "requires_redirect": true,
- "bank_name": "string",
- "status": "string"
}, - "meta": {
- "requestId": "string"
}
}List accounts available within a discovery session. Returns the raw session account list from the provider.
| sessionUuid required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": {
- "property1": null,
- "property2": null
}, - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 1,
- "lastPage": 1
}
}
}Track selected accounts from a discovery session. Returns 201 on success.
| sessionUuid required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| accountIds required | Array of strings non-empty |
object Optional visibility configuration (privacy-first — default: self-restricted) |
required | object Don't mark session as completed - keep it active for potential additional tracking |
required | object |
{- "accountIds": [
- "string"
], - "visibility": {
- "shared": true,
- "visibleTo": {
- "type": "string",
- "id": "string"
}
}
}"string"Get counterparts for a specific account. Also accepts the deprecated flat query parameters.
| accountId required | integer |
| page | integer >= 1 ── v1 standard pagination ──────────────────────────────────── |
| perPage | integer [ 1 .. 10000 ] |
| per_page | integer [ 1 .. 10000 ] Deprecated alias of perPage |
| sort | string |
| filter[name] | string <= 255 characters |
| filter[type] | string |
| filter[parentId] | integer |
| filter[accessScope] | string Enum: "private" "user" "group" "tenant" "global" |
| counterpart_identifier | string <= 255 characters ── Deprecated flat filters — prefer filter[field]=value ──────────── |
| counterpart_type | string |
| country_code | string = 2 characters |
| access_scope | string Enum: "private" "user" "group" "tenant" "global" |
| creation_source | string <= 50 characters |
| min_confidence | number [ 0 .. 1 ] |
| is_manual | boolean |
| startDate | string or null <date-time> ── Timeframe (both camelCase and snake_case) ───────────────── |
| start_date | string or null <date-time> |
| endDate | string or null <date-time> |
| end_date | string or null <date-time> |
| rootsOnly | boolean ── Include flags (both camelCase and snake_case) ───────────── |
| roots_only | boolean |
| includeParent | boolean |
| include_parent | boolean |
| includeChildren | boolean |
| include_children | boolean |
| includeRelationships | boolean |
| include_relationships | boolean |
| includeBoundEntities | boolean |
| include_bound_entities | boolean |
| groupByParent | boolean |
| group_by_parent | boolean |
| minConfidence | number [ 0 .. 1 ] ── Min confidence (camelCase alias) ────────────────────────── |
| accessScope | string Enum: "private" "user" "group" "tenant" "global" |
| creationSource | string <= 50 characters |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "counterpartIdentifier": "string",
- "name": "string",
- "nameLowercase": "string",
- "type": "string",
- "countryCode": "string",
- "visibleToEntityType": "string",
- "visibleToEntityId": "string",
- "accessScope": "string",
- "confidenceScore": 0,
- "creationSource": "string",
- "isActive": true,
- "isRoot": true,
- "parentId": "string",
- "displayName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "effectiveName": "string",
- "hasUserAlias": "string",
- "transactionCount": "string",
- "childCount": "string",
- "transactionVolumes": "string",
- "ownership": "string",
- "relationshipSummary": "string",
- "boundEntities": "string",
- "entityMappings": "string",
- "parent": "string",
- "metadata": "string",
- "establishedAt": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "trackedAccountIds": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": { },
- "currentPage": { },
- "lastPage": 0
}
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "user": [
- {
- "id": "string",
- "type": "user",
- "name": "string"
}
], - "group": [
- {
- "id": "string",
- "type": "string",
- "name": "string"
}
], - "tenant": [
- {
- "id": "string",
- "type": "string",
- "name": "string"
}
], - "global": [
- {
- "id": "system",
- "type": "system",
- "name": "Global (System-wide)"
}
]
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "total_accessible_counterparts": 0,
- "counterparts_by_scope": "string",
- "counterparts_by_type": "string",
- "counterparts_by_source": "string",
- "own_counterparts": 0,
- "inherited_counterparts": 0,
- "high_confidence_counterparts": 0,
- "manual_counterparts": 0,
- "auto_created_counterparts": 0
}, - "meta": {
- "requestId": "string"
}
}Get counterparts for an entity type/id pair. Uses ?entityType=...&entityId=... query params.
| page | integer >= 1 ── v1 standard pagination ──────────────────────────────────── |
| perPage | integer [ 1 .. 10000 ] |
| per_page | integer [ 1 .. 10000 ] Deprecated alias of perPage |
| sort | string |
| filter[name] | string <= 255 characters |
| filter[type] | string |
| filter[parentId] | integer |
| filter[accessScope] | string Enum: "private" "user" "group" "tenant" "global" |
| counterpart_identifier | string <= 255 characters ── Deprecated flat filters — prefer filter[field]=value ──────────── |
| counterpart_type | string |
| country_code | string = 2 characters |
| access_scope | string Enum: "private" "user" "group" "tenant" "global" |
| creation_source | string <= 50 characters |
| min_confidence | number [ 0 .. 1 ] |
| is_manual | boolean |
| startDate | string or null <date-time> ── Timeframe (both camelCase and snake_case) ───────────────── |
| start_date | string or null <date-time> |
| endDate | string or null <date-time> |
| end_date | string or null <date-time> |
| rootsOnly | boolean ── Include flags (both camelCase and snake_case) ───────────── |
| roots_only | boolean |
| includeParent | boolean |
| include_parent | boolean |
| includeChildren | boolean |
| include_children | boolean |
| includeRelationships | boolean |
| include_relationships | boolean |
| includeBoundEntities | boolean |
| include_bound_entities | boolean |
| groupByParent | boolean |
| group_by_parent | boolean |
| minConfidence | number [ 0 .. 1 ] ── Min confidence (camelCase alias) ────────────────────────── |
| accessScope | string Enum: "private" "user" "group" "tenant" "global" |
| creationSource | string <= 50 characters |
| entityType | string |
| entityId | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "counterpartIdentifier": "string",
- "name": "string",
- "nameLowercase": "string",
- "type": "string",
- "countryCode": "string",
- "visibleToEntityType": "string",
- "visibleToEntityId": "string",
- "accessScope": "string",
- "confidenceScore": 0,
- "creationSource": "string",
- "isActive": true,
- "isRoot": true,
- "parentId": "string",
- "displayName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "effectiveName": "string",
- "hasUserAlias": "string",
- "transactionCount": "string",
- "childCount": "string",
- "transactionVolumes": "string",
- "ownership": "string",
- "relationshipSummary": "string",
- "boundEntities": "string",
- "entityMappings": "string",
- "parent": "string",
- "metadata": "string",
- "establishedAt": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "trackedAccountIds": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": { },
- "currentPage": { },
- "lastPage": 0
}
}
}| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "processed": 0,
- "bound": 0,
- "errors": [
- {
- "counterpart_id": "string",
- "error": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| primaryId required | integer |
| duplicateIds required | Array of integers non-empty |
required | object |
required | object |
{- "primaryId": 0,
- "duplicateIds": [
- 0
]
}{- "data": {
- "successful": [
- "string"
], - "failed": [
- {
- "id": "string",
- "reason": "Failed to save relationship"
}
], - "skipped": [
- {
- "id": "string",
- "reason": "Cannot set counterpart as child of itself"
}
]
}, - "meta": {
- "requestId": "string"
}
}List counterparts accessible to the current actor. Accepts v1 filter[field]=value and the deprecated flat query parameters.
| page | integer >= 1 ── v1 standard pagination ──────────────────────────────────── |
| perPage | integer [ 1 .. 10000 ] |
| per_page | integer [ 1 .. 10000 ] Deprecated alias of perPage |
| sort | string |
| filter[name] | string <= 255 characters |
| filter[type] | string |
| filter[parentId] | integer |
| filter[accessScope] | string Enum: "private" "user" "group" "tenant" "global" |
| counterpart_identifier | string <= 255 characters ── Deprecated flat filters — prefer filter[field]=value ──────────── |
| counterpart_type | string |
| country_code | string = 2 characters |
| access_scope | string Enum: "private" "user" "group" "tenant" "global" |
| creation_source | string <= 50 characters |
| min_confidence | number [ 0 .. 1 ] |
| is_manual | boolean |
| startDate | string or null <date-time> ── Timeframe (both camelCase and snake_case) ───────────────── |
| start_date | string or null <date-time> |
| endDate | string or null <date-time> |
| end_date | string or null <date-time> |
| rootsOnly | boolean ── Include flags (both camelCase and snake_case) ───────────── |
| roots_only | boolean |
| includeParent | boolean |
| include_parent | boolean |
| includeChildren | boolean |
| include_children | boolean |
| includeRelationships | boolean |
| include_relationships | boolean |
| includeBoundEntities | boolean |
| include_bound_entities | boolean |
| groupByParent | boolean |
| group_by_parent | boolean |
| minConfidence | number [ 0 .. 1 ] ── Min confidence (camelCase alias) ────────────────────────── |
| accessScope | string Enum: "private" "user" "group" "tenant" "global" |
| creationSource | string <= 50 characters |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "counterpartIdentifier": "string",
- "name": "string",
- "nameLowercase": "string",
- "type": "string",
- "countryCode": "string",
- "visibleToEntityType": "string",
- "visibleToEntityId": "string",
- "accessScope": "string",
- "confidenceScore": 0,
- "creationSource": "string",
- "isActive": true,
- "isRoot": true,
- "parentId": "string",
- "displayName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "effectiveName": "string",
- "hasUserAlias": "string",
- "transactionCount": "string",
- "childCount": "string",
- "transactionVolumes": "string",
- "ownership": "string",
- "relationshipSummary": "string",
- "boundEntities": "string",
- "entityMappings": "string",
- "parent": "string",
- "metadata": "string",
- "establishedAt": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "trackedAccountIds": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": { },
- "currentPage": { },
- "lastPage": 0
}
}
}Create a new counterpart entity. Returns 201 + Location header.
| X-Scope required | string Operating scope for the request: the opaque |
| counterpartIdentifier | string <= 255 characters ── Required: identifier (accept both forms) ────────────────── |
| counterpart_identifier | string <= 255 characters |
| name | string or null <= 255 characters ── Name ────────────────────────────────────────────────────── |
| counterpart_name | string or null <= 255 characters |
| type | string or null Enum: "company" "person" "bank" "government" "unknown" ── Type ────────────────────────────────────────────────────── |
| counterpart_type | string or null Enum: "company" "person" "bank" "government" "unknown" |
| visibleToEntityType | string or null ── Visibility (camelCase) ───────────────────────────────────── |
| visibleToEntityId | string or null |
| visible_to_entity_type | string or null Deprecated snake_case forms |
| visible_to_entity_id | string or null |
| countryCode | string or null = 2 characters ── Rich fields ──────────────────────────────────────────────── |
| country_code | string or null = 2 characters |
| accessScope | string or null Enum: "private" "user" "group" "tenant" "global" |
| access_scope | string or null Enum: "private" "user" "group" "tenant" "global" |
| confidenceScore | number or null [ 0 .. 1 ] |
| confidence_score | number or null [ 0 .. 1 ] |
| metadata | Array of strings or null ── Metadata (opaque blob) ───────────────────────────────────── |
| data required | string |
required | object |
{- "counterpartIdentifier": "string",
- "counterpart_identifier": "string",
- "name": "string",
- "counterpart_name": "string",
- "type": "company",
- "counterpart_type": "company",
- "visibleToEntityType": "string",
- "visibleToEntityId": "string",
- "visible_to_entity_type": "string",
- "visible_to_entity_id": "string",
- "countryCode": "st",
- "country_code": "st",
- "accessScope": "private",
- "access_scope": "private",
- "confidenceScore": 1,
- "confidence_score": 1,
- "metadata": [
- "string"
]
}{- "data": "string",
- "meta": {
- "requestId": "string"
}
}Fetch a single counterpart with full rich shape.
| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | string |
required | object |
{- "data": "string",
- "meta": {
- "requestId": "string"
}
}Update a counterpart. Now accepts country_code, confidence_score, metadata.
| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string or null <= 255 characters ── Name (camelCase + deprecated snake_case) ────────────────────────────────── |
| counterpart_name | string or null <= 255 characters |
| displayName | string or null <= 255 characters ── Display name ────────────────────────────────────────────── |
| display_name | string or null <= 255 characters |
| type | string or null Enum: "company" "person" "bank" "government" "unknown" ── Type ────────────────────────────────────────────────────── |
| counterpart_type | string or null Enum: "company" "person" "bank" "government" "unknown" |
| countryCode | string or null = 2 characters ── Country ─────────────────────────────────────────────────── |
| country_code | string or null = 2 characters |
| confidenceScore | number or null [ 0 .. 1 ] ── Confidence ──────────────────────────────────────────────── |
| confidence_score | number or null [ 0 .. 1 ] |
| metadata | Array of strings or null ── Metadata (opaque blob) ───────────────────────────────────── |
| data required | string |
required | object |
{- "name": "string",
- "counterpart_name": "string",
- "displayName": "string",
- "display_name": "string",
- "type": "company",
- "counterpart_type": "company",
- "countryCode": "st",
- "country_code": "st",
- "confidenceScore": 1,
- "confidence_score": 1,
- "metadata": [
- "string"
]
}{- "data": "string",
- "meta": {
- "requestId": "string"
}
}Delete a counterpart. Returns 204 No Content.
| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "counterpartId": 0,
- "alias": null
}, - "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| alias required | string <= 255 characters |
required | object |
required | object |
{- "alias": "string"
}{- "data": {
- "counterpartId": 0,
- "alias": null
}, - "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| displayName required | string <= 255 characters |
| data required | string |
required | object |
{- "displayName": "string"
}{- "data": "string",
- "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| entityId required | string |
| entityType required | string |
required | object |
required | object |
{- "entityId": "string",
- "entityType": "string"
}{- "data": {
- "counterpartId": 0,
- "entityId": null,
- "entityType": null
}, - "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| transactionIds required | Array of integers non-empty [ items >= 1 ] |
| transaction_ids | string |
required | object |
required | object |
{- "transactionIds": [
- 1
], - "transaction_ids": "string"
}{- "data": {
- "counterpartId": 0,
- "boundCount": 0,
- "results": {
- "successful": [
- "string"
], - "failed": [
- {
- "transaction_id": "string",
- "error": "string"
}
], - "already_bound": [
- "string"
]
}
}, - "meta": {
- "requestId": "string"
}
}Cursor-paginated transactions linked to a counterpart.
| counterpart required | integer The counterpart ID |
| cursor | string |
| filter[fromDate] | string |
| filter[toDate] | string |
| filter[accountId] | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "transactionId": "string",
- "internalTransactionId": "string",
- "physicalAccountId": "string",
- "transactionAmount": 0,
- "amount": 0,
- "signedAmount": "string",
- "currencyCode": "string",
- "currency": "string",
- "sourceCurrency": "string",
- "targetCurrency": "string",
- "exchangeRate": 0,
- "bookingDate": "string",
- "valueDate": "string",
- "debtorIban": "string",
- "debtorBban": "string",
- "debtorName": "string",
- "debtorBankName": "string",
- "debtorRemittanceInformation": "string",
- "creditorIban": "string",
- "creditorBban": "string",
- "creditorName": "string",
- "creditorBankName": "string",
- "creditorRemittanceInformation": "string",
- "direction": "string",
- "counterpartAccountNumber": "string",
- "counterpartName": "string",
- "remittanceInformation": "string",
- "description": "string",
- "counterpartyBankName": "string",
- "countryCode": "string",
- "countryCodeConfidence": 0,
- "countryCodeMethod": "string",
- "transactionType": "string",
- "type": "string",
- "canonicalType": "string",
- "canonicalTypeLabel": "string",
- "canonicalSubtype": "string",
- "canonicalChannel": "string",
- "canonicalChannelLabel": "string",
- "canonicalScheme": "string",
- "canonicalPurpose": "string",
- "classificationConfidence": 0,
- "classificationMethod": "string",
- "classificationCountry": "string",
- "classificationProvider": "string",
- "merchantCategoryCode": "string",
- "transactionStatus": "string",
- "status": "string",
- "transactionMetadata": "string",
- "mandateId": "string",
- "referenceNumber": "string",
- "isReversal": true,
- "counterpartType": "string",
- "counterpartTypeLabel": "string",
- "counterpartTypeConfidence": 0,
- "counterpartTypeMethod": "string",
- "companyId": "string",
- "company": {
- "id": "string",
- "name": "string",
- "organizationNumber": "string"
}, - "companyBindingSource": "string",
- "companyBindingConfidence": 0,
- "companyBoundAt": "string",
- "companyBoundBy": "string",
- "counterpartEntityId": "string",
- "counterpart": {
- "id": "string",
- "counterpartName": "string",
- "displayName": "string",
- "effectiveName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "hasUserAlias": true,
- "type": "string",
- "countryCode": "string",
- "isRoot": "string",
- "directCounterpart": {
- "id": "string",
- "counterpartName": "string",
- "displayName": "string"
}
}, - "isCardTransaction": "string",
- "isInstantPayment": "string",
- "isFee": "string",
- "isTransfer": "string",
- "hasHighConfidence": "string",
- "needsReclassification": "string",
- "hasCounterpartClassification": "string",
- "hasHighCounterpartConfidence": "string",
- "needsCounterpartClassification": "string",
- "boundCompanyId": "string",
- "boundCompanyName": "string",
- "raw": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "perPage": { },
- "nextCursor": "string",
- "prevCursor": null
}
}
}v1 exception: returns snake_case service output (documented).
| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "root": {
- "id": 0,
- "counterpart_identifier": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "counterpart_type": "string",
- "confidence_score": "string",
- "creation_source": "string",
- "established_at": "string",
- "transaction_count": 0,
- "relationship_summary": {
- "parent_id": 0,
- "has_parent": true,
- "has_children": true,
- "child_count": 0,
- "sibling_count": 0,
- "depth_level": 0,
- "is_root": true,
- "is_leaf": true
}
}, - "tree": {
- "id": 0,
- "counterpart_identifier": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "counterpart_type": "string",
- "confidence_score": "string",
- "creation_source": "string",
- "established_at": "string",
- "transaction_count": 0,
- "relationship_summary": {
- "parent_id": 0,
- "has_parent": true,
- "has_children": true,
- "child_count": 0,
- "sibling_count": 0,
- "depth_level": 0,
- "is_root": true,
- "is_leaf": true
}, - "children": [
- [
- null
]
]
}, - "current_counterpart_id": 0,
- "tree_stats": {
- "total_members": "string",
- "max_depth": 0
}
}, - "meta": {
- "requestId": "string"
}
}v1 exception: returns snake_case service output (documented).
| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "parent": {
- "id": 0,
- "counterpart_identifier": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "transaction_count": 0
}, - "children": [
- {
- "id": "string",
- "counterpart_identifier": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "transaction_count": "string"
}
], - "siblings": [
- {
- "id": "string",
- "counterpart_identifier": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "transaction_count": "string"
}
], - "summary": {
- "parent_id": 0,
- "has_parent": true,
- "has_children": true,
- "child_count": 0,
- "sibling_count": 0,
- "depth_level": 0,
- "is_root": true,
- "is_leaf": true
}
}, - "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| parentId required | integer |
required | object |
required | object |
{- "parentId": 0
}{- "data": {
- "counterpartId": 0,
- "parentId": "string",
- "linked": true
}, - "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}| counterpart required | integer The counterpart ID |
| X-Scope required | string Operating scope for the request: the opaque |
| parentId required | integer |
required | object |
required | object |
{- "parentId": 0
}{- "data": {
- "counterpartId": 0,
- "parentId": "string"
}, - "meta": {
- "requestId": "string"
}
}Force-update transactions for an account from the provider. This endpoint does not support the Idempotency-Key header.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "job_dispatched": true,
- "from_date": "string",
- "to_date": "string",
- "force_refresh": true,
- "backfill_triggered": true
}, - "meta": {
- "requestId": "string"
}
}Cursor-paginated transaction list, ordered by booking date. Treat the cursor as an opaque string. Responses do not include an ETag.
| id required | integer |
| perPage | integer [ 1 .. 10000 ] |
| cursor | string or null |
| filter[fromDate] | string <date> |
| filter[toDate] | string <date> |
| filter[scope] | string Enum: "organization" "person" |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects or objects |
required | object |
{- "data": [
- {
- "id": "string",
- "internalTransactionId": "string",
- "bookingDate": "string",
- "valueDate": "string",
- "transactionAmount": 0,
- "currencyCode": "string",
- "sourceCurrency": "string",
- "targetCurrency": "string",
- "exchangeRate": 0,
- "debtorIban": "string",
- "debtorBban": "string",
- "debtorName": "string",
- "debtorBankName": "string",
- "debtorRemittanceInformation": "string",
- "creditorIban": "string",
- "creditorBban": "string",
- "creditorName": "string",
- "creditorBankName": "string",
- "creditorRemittanceInformation": "string",
- "direction": "string",
- "counterpartAccountNumber": "string",
- "counterpartName": "string",
- "remittanceInformation": "string",
- "counterpartyBankName": "string",
- "countryCode": "string",
- "countryCodeConfidence": 0,
- "countryCodeMethod": "string",
- "transactionType": "string",
- "canonicalType": "string",
- "canonicalTypeLabel": "string",
- "canonicalSubtype": "string",
- "canonicalChannel": "string",
- "canonicalChannelLabel": "string",
- "canonicalScheme": "string",
- "canonicalPurpose": "string",
- "classificationConfidence": 0,
- "classificationMethod": "string",
- "classificationCountry": "string",
- "classificationProvider": "string",
- "merchantCategoryCode": "string",
- "transactionStatus": "string",
- "transactionMetadata": "string",
- "mandateId": "string",
- "referenceNumber": "string",
- "isReversal": true,
- "counterpartType": "string",
- "counterpartTypeLabel": "string",
- "counterpartTypeConfidence": 0,
- "counterpartTypeMethod": "string",
- "companyId": "string",
- "counterpartEntityId": "string",
- "company_id": "string",
- "company": {
- "id": "string",
- "name": "string",
- "organization_number": "string"
}, - "company_binding_source": "string",
- "company_binding_confidence": 0,
- "company_bound_at": "string",
- "company_bound_by": "string",
- "isCardTransaction": "string",
- "isInstantPayment": "string",
- "isFee": "string",
- "isTransfer": "string",
- "hasHighConfidence": "string",
- "needsReclassification": "string",
- "hasCounterpartClassification": "string",
- "hasHighCounterpartConfidence": "string",
- "needsCounterpartClassification": "string",
- "counterpart": {
- "id": "string",
- "counterpart_name": "string",
- "display_name": "string",
- "user_alias": "string",
- "user_alias_notes": "string",
- "effective_name": "string",
- "has_user_alias": true,
- "type": "string",
- "country_code": "string",
- "is_root": "string",
- "direct_counterpart": {
- "id": 0,
- "counterpart_name": "string",
- "display_name": "string"
}
}
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "perPage": { },
- "nextCursor": "string",
- "prevCursor": null
}
}
}Fetch a single transaction.
| accountId required | integer |
| transactionId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object or null |
required | object |
{ }Sync transactions for an account.
Async (background=true): dispatches a background sync job and returns 202 { "data": { "status": "queued", "accountId": N, "estimatedCompletion": "..." }, "meta": { ... } }
Sync (background=false, default): runs inline and returns 200 { "data": { "syncMode": "immediate", "syncedCount": N }, "meta": { ... } }
This endpoint does not support the Idempotency-Key header.
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| background | boolean |
object |
required | object |
required | object |
{- "background": true,
- "filter": {
- "fromDate": "2019-08-24",
- "toDate": "2019-08-24",
- "scope": "organization"
}
}{- "data": {
- "syncMode": "immediate",
- "syncedCount": 0
}, - "meta": {
- "requestId": "string"
}
}Current sync state for an account. Returns null data if no sync run exists. This endpoint does not return an ETag (the data is volatile).
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Transaction statistics for an account. Returns an ETag and Cache-Control: private for conditional requests.
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "total_transactions": 0,
- "incoming_count": 0,
- "outgoing_count": 0,
- "bound_to_companies": 0,
- "unbound_transactions": 0,
- "total_incoming_amount": null,
- "total_outgoing_amount": null,
- "avg_transaction_amount": null,
- "date_range": {
- "earliest": null,
- "latest": null
}
}, - "meta": {
- "requestId": "string"
}
}Auto-bind transactions by counterpart name matching.
| accountId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "boundCount": 0,
- "message": "string"
}, - "meta": {
- "requestId": "string"
}
}Bind a transaction to a company.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| companyId required | integer |
required | object |
required | object |
{- "companyId": 0
}{- "data": {
- "message": "Transaction successfully bound to company"
}, - "meta": {
- "requestId": "string"
}
}Unbind a transaction from a company.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Transaction successfully unbound from company"
}, - "meta": {
- "requestId": "string"
}
}Suggest companies for a transaction based on counterpart name.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "suggestions": [
- "string"
]
}, - "meta": {
- "requestId": "string"
}
}Bind a transaction to a counterpart entity. Returns 201 + CounterpartV1Resource.
| transaction required | integer The transaction ID |
| X-Scope required | string Operating scope for the request: the opaque |
| counterpartId required | integer |
| data required | string |
required | object |
{- "counterpartId": 0
}{- "data": "string",
- "meta": {
- "requestId": "string"
}
}Unbind a transaction from its counterpart. Returns 204 No Content.
| transaction required | integer The transaction ID |
| counterpartEntityId | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Get the counterpart entity linked to a transaction.
| transaction required | integer The transaction ID |
| X-Scope required | string Operating scope for the request: the opaque |
| data required | string |
required | object |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Suggest counterparts for a transaction based on name/IBAN matching.
| transaction required | integer The transaction ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "suggestions": [
- null
]
}, - "meta": {
- "requestId": "string"
}
}Auto-create a counterpart from a transaction and optionally bind. Returns 201 + CounterpartV1Resource.
| transaction required | integer The transaction ID |
| X-Scope required | string Operating scope for the request: the opaque |
| overrideIdentifier | string or null <= 255 characters |
| autoBind | boolean |
| data required | string |
required | object |
{- "overrideIdentifier": "string",
- "autoBind": true
}{- "data": "string",
- "meta": {
- "requestId": "string"
}
}Bind an account identifier to an entity. Returns 201 + AccountMappingV1Resource.
| X-Scope required | string Operating scope for the request: the opaque |
| accountIdentifier required | string <= 50 characters |
| entityId required | string <= 50 characters |
| entityType required | string |
| ownershipType | string or null Enum: "owner" "authorized_signatory" "joint_owner" |
| confidenceScore | number or null [ 0 .. 1 ] |
| accessScope | string or null Enum: "private" "user" "group" "tenant" "global" |
| countryCode | string or null = 2 characters |
| metadata | Array of strings or null |
required | object |
required | object |
{- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "ownershipType": "owner",
- "confidenceScore": 1,
- "accessScope": "private",
- "countryCode": "st",
- "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "ownershipType": "string",
- "confidenceScore": "string",
- "accessScope": "string",
- "countryCode": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Auto-generate mappings based on transaction history.
| X-Scope required | string Operating scope for the request: the opaque |
| min_confidence | number or null [ 0.5 .. 1 ] |
| access_scope | string or null Enum: "private" "user" "group" "tenant" "global" |
| dry_run | boolean or null |
| account_identifiers | Array of strings or null <= 100 items [ items <= 50 characters ] |
required | object |
required | object |
{- "min_confidence": 0.5,
- "access_scope": "private",
- "dry_run": true,
- "account_identifiers": [
- "string"
]
}{- "data": {
- "message": "Auto-generation dry run completed",
- "generated": 0,
- "skipped": 0,
- "suggestions": [
- {
- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "confidence": "string",
- "reason": "string"
}
], - "errors": [
- {
- "accountIdentifier": "string",
- "error": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Bulk import mappings.
| X-Scope required | string Operating scope for the request: the opaque |
| mappings required | Array of strings non-empty [ items ] |
required | object |
required | object |
{- "mappings": [
- [
- "string"
]
]
}{- "data": {
- "imported": 0,
- "updated": 0,
- "errors": [
- {
- "index": "string",
- "data": "string",
- "error": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Get mapping statistics for the current user.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "total_accessible_mappings": 0,
- "active_accessible_mappings": 0,
- "mappings_by_ownership_type": "string",
- "mappings_by_source": "string",
- "mappings_by_scope": "string",
- "high_confidence_mappings": 0,
- "manual_mappings": 0,
- "auto_generated_mappings": 0,
- "own_mappings": 0
}, - "meta": {
- "requestId": "string"
}
}Get accounts mapped to an entity.
| entityType required | string |
| entityId required | string |
| ownership_type | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "entityId": "string",
- "entityType": "string",
- "accounts": [
- {
- "id": 0,
- "accountIdentifier": "string",
- "accountType": "string",
- "countryCode": "string",
- "ownershipType": "string",
- "confidenceScore": "string",
- "mappingSource": "string",
- "establishedAt": "2019-08-24T14:15:22Z"
}
]
}, - "meta": {
- "requestId": "string"
}
}Get entity suggestions for an account.
| accountIdentifier required | string |
| accountName | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "accountIdentifier": "string",
- "suggestions": [
- {
- "entityId": "string",
- "entityType": "string",
- "entityName": "string",
- "confidence": "string",
- "reason": "string",
- "source": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Remove all entity bindings for an account identifier.
| accountIdentifier required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "string",
- "accountIdentifier": "string",
- "deactivatedCount": 0
}, - "meta": {
- "requestId": "string"
}
}Bind a transaction to an entity.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| entityId required | string |
| entityType required | string |
required | object |
required | object |
{- "entityId": "string",
- "entityType": "string"
}{- "data": {
- "message": "Transaction successfully bound to entity",
- "transactionId": "string",
- "entity": {
- "id": "string",
- "type": "string",
- "name": "string"
}, - "mappingCreated": true
}, - "meta": {
- "requestId": "string"
}
}Unbind a transaction from its entity. Returns 204 No Content.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Get entity suggestions for a transaction.
| transactionId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "transactionId": 0,
- "counterpartyAccount": "string",
- "counterpartyName": "string",
- "suggestions": [
- {
- "entityId": "string",
- "entityType": "string",
- "entityName": "string",
- "confidence": "string",
- "reason": "string",
- "source": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}List mappings accessible to the current user.
| accountIdentifier | string |
| entityType | string |
| ownershipType | string |
| accessScope | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "ownershipType": "string",
- "confidenceScore": "string",
- "accessScope": "string",
- "countryCode": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": { },
- "currentPage": { },
- "lastPage": 0
}
}
}Get a specific mapping.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "ownershipType": "string",
- "confidenceScore": "string",
- "accessScope": "string",
- "countryCode": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Update a mapping.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| ownershipType | string or null Enum: "owner" "authorized_signatory" "joint_owner" |
| confidenceScore | number or null [ 0 .. 1 ] |
| accessScope | string or null Enum: "private" "user" "group" "tenant" "global" |
| metadata | Array of strings or null |
required | object |
required | object |
{- "ownershipType": "owner",
- "confidenceScore": 1,
- "accessScope": "private",
- "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "accountIdentifier": "string",
- "entityId": "string",
- "entityType": "string",
- "ownershipType": "string",
- "confidenceScore": "string",
- "accessScope": "string",
- "countryCode": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Delete/deactivate a mapping. Returns 204 No Content.
| id required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Ad-hoc merged transactions, cursor-paginated. Requires ?accountIds[]= query parameter.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
"string"Ad-hoc merged aggregates.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
"string"Ad-hoc merged counterparts.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
"string"List merged account views visible to the actor.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "defaultFromDate": "string",
- "defaultToDate": "string",
- "defaultBucket": "string",
- "accounts": [
- {
- "id": 0,
- "name": "string",
- "number": "string",
- "bank": "string",
- "position": 0,
- "colorHint": "string"
}
], - "accountIds": [
- null
], - "isFavorite": true,
- "owner": "string",
- "deniedAccountIds": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "lastPage": 0
}
}
}Create a new merged account view. Returns 201 + Location header.
| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 120 characters |
| description | string or null |
| defaultFromDate | string or null <date> |
| defaultToDate | string or null <date> |
| defaultBucket | string or null Enum: "auto" "day" "week" "month" |
| accountIds required | Array of integers [ 1 .. 50 ] items |
| colorHints | string |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "defaultFromDate": "2019-08-24",
- "defaultToDate": "2019-08-24",
- "defaultBucket": "auto",
- "accountIds": [
- 0
], - "colorHints": "string"
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "defaultFromDate": "string",
- "defaultToDate": "string",
- "defaultBucket": "string",
- "accounts": [
- {
- "id": 0,
- "name": "string",
- "number": "string",
- "bank": "string",
- "position": 0,
- "colorHint": "string"
}
], - "accountIds": [
- null
], - "isFavorite": true,
- "owner": "string",
- "deniedAccountIds": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Fetch a single merged account view.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "defaultFromDate": "string",
- "defaultToDate": "string",
- "defaultBucket": "string",
- "accounts": [
- {
- "id": 0,
- "name": "string",
- "number": "string",
- "bank": "string",
- "position": 0,
- "colorHint": "string"
}
], - "accountIds": [
- null
], - "isFavorite": true,
- "owner": "string",
- "deniedAccountIds": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Update a merged account view.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 120 characters |
| description | string or null |
| defaultFromDate | string or null <date> |
| defaultToDate | string or null <date> |
| defaultBucket | string or null Enum: "auto" "day" "week" "month" |
| accountIds | Array of integers [ 1 .. 50 ] items |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "defaultFromDate": "2019-08-24",
- "defaultToDate": "2019-08-24",
- "defaultBucket": "auto",
- "accountIds": [
- 0
]
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "defaultFromDate": "string",
- "defaultToDate": "string",
- "defaultBucket": "string",
- "accounts": [
- {
- "id": 0,
- "name": "string",
- "number": "string",
- "bank": "string",
- "position": 0,
- "colorHint": "string"
}
], - "accountIds": [
- null
], - "isFavorite": true,
- "owner": "string",
- "deniedAccountIds": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Update a merged account view.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 120 characters |
| description | string or null |
| defaultFromDate | string or null <date> |
| defaultToDate | string or null <date> |
| defaultBucket | string or null Enum: "auto" "day" "week" "month" |
| accountIds | Array of integers [ 1 .. 50 ] items |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "defaultFromDate": "2019-08-24",
- "defaultToDate": "2019-08-24",
- "defaultBucket": "auto",
- "accountIds": [
- 0
]
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "defaultFromDate": "string",
- "defaultToDate": "string",
- "defaultBucket": "string",
- "accounts": [
- {
- "id": 0,
- "name": "string",
- "number": "string",
- "bank": "string",
- "position": 0,
- "colorHint": "string"
}
], - "accountIds": [
- null
], - "isFavorite": true,
- "owner": "string",
- "deniedAccountIds": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Delete a merged account view. Returns 204 No Content.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}Get transactions for a saved view. Cursor-paginated.
| view required | string <uuid> The view ID |
| perPage | integer [ 1 .. 10000 ] |
| cursor | string or null |
| filter[fromDate] | string <date> |
| filter[toDate] | string <date> |
| bucket | string Enum: "auto" "day" "week" "month" |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "transactions": [
- {
- "id": "string",
- "transactionId": "string",
- "internalTransactionId": "string",
- "physicalAccountId": "string",
- "transactionAmount": 0,
- "amount": 0,
- "signedAmount": "string",
- "currencyCode": "string",
- "currency": "string",
- "sourceCurrency": "string",
- "targetCurrency": "string",
- "exchangeRate": 0,
- "bookingDate": "string",
- "valueDate": "string",
- "debtorIban": "string",
- "debtorBban": "string",
- "debtorName": "string",
- "debtorBankName": "string",
- "debtorRemittanceInformation": "string",
- "creditorIban": "string",
- "creditorBban": "string",
- "creditorName": "string",
- "creditorBankName": "string",
- "creditorRemittanceInformation": "string",
- "direction": "string",
- "counterpartAccountNumber": "string",
- "counterpartName": "string",
- "remittanceInformation": "string",
- "description": "string",
- "counterpartyBankName": "string",
- "countryCode": "string",
- "countryCodeConfidence": 0,
- "countryCodeMethod": "string",
- "transactionType": "string",
- "type": "string",
- "canonicalType": "string",
- "canonicalTypeLabel": "string",
- "canonicalSubtype": "string",
- "canonicalChannel": "string",
- "canonicalChannelLabel": "string",
- "canonicalScheme": "string",
- "canonicalPurpose": "string",
- "classificationConfidence": 0,
- "classificationMethod": "string",
- "classificationCountry": "string",
- "classificationProvider": "string",
- "merchantCategoryCode": "string",
- "transactionStatus": "string",
- "status": "string",
- "transactionMetadata": "string",
- "mandateId": "string",
- "referenceNumber": "string",
- "isReversal": true,
- "counterpartType": "string",
- "counterpartTypeLabel": "string",
- "counterpartTypeConfidence": 0,
- "counterpartTypeMethod": "string",
- "companyId": "string",
- "company": {
- "id": "string",
- "name": "string",
- "organizationNumber": "string"
}, - "companyBindingSource": "string",
- "companyBindingConfidence": 0,
- "companyBoundAt": "string",
- "companyBoundBy": "string",
- "counterpartEntityId": "string",
- "counterpart": {
- "id": "string",
- "counterpartName": "string",
- "displayName": "string",
- "effectiveName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "hasUserAlias": true,
- "type": "string",
- "countryCode": "string",
- "isRoot": "string",
- "directCounterpart": {
- "id": "string",
- "counterpartName": "string",
- "displayName": "string"
}
}, - "isCardTransaction": "string",
- "isInstantPayment": "string",
- "isFee": "string",
- "isTransfer": "string",
- "hasHighConfidence": "string",
- "needsReclassification": "string",
- "hasCounterpartClassification": "string",
- "hasHighCounterpartConfidence": "string",
- "needsCounterpartClassification": "string",
- "boundCompanyId": "string",
- "boundCompanyName": "string",
- "raw": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "trackedAccountId": 0,
- "viewId": "string"
}
], - "deniedAccountIds": [ ]
}, - "meta": {
- "requestId": "string",
- "pagination": {
- "perPage": { },
- "nextCursor": "string",
- "prevCursor": null
}
}
}Get aggregates for a saved view.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
| bucket required | string |
| requested_bucket required | string |
| from required | string |
| to required | string |
required | Array of objects |
| currencies required | Array of any |
| denied_account_ids required | string |
| count_per_bucket required | string |
| amount_per_bucket required | string |
| running_balance required | string |
| balance_origin required | string |
{- "bucket": "string",
- "requested_bucket": "string",
- "from": "string",
- "to": "string",
- "accounts": [
- {
- "id": 0,
- "label": "string",
- "currency": "string",
- "color_hint": "string",
- "position": 0
}
], - "currencies": [
- null
], - "denied_account_ids": "string",
- "count_per_bucket": "string",
- "amount_per_bucket": "string",
- "running_balance": "string",
- "balance_origin": "string"
}Get counterparts for a saved view.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "counterpartIdentifier": "string",
- "name": "string",
- "nameLowercase": "string",
- "type": "string",
- "countryCode": "string",
- "visibleToEntityType": "string",
- "visibleToEntityId": "string",
- "accessScope": "string",
- "confidenceScore": 0,
- "creationSource": "string",
- "isActive": true,
- "isRoot": true,
- "parentId": "string",
- "displayName": "string",
- "userAlias": "string",
- "userAliasNotes": "string",
- "effectiveName": "string",
- "hasUserAlias": "string",
- "transactionCount": "string",
- "childCount": "string",
- "transactionVolumes": "string",
- "ownership": "string",
- "relationshipSummary": "string",
- "boundEntities": "string",
- "entityMappings": "string",
- "parent": "string",
- "metadata": "string",
- "establishedAt": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "trackedAccountIds": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0,
- "perPage": { },
- "currentPage": { },
- "lastPage": 0
}, - "deniedAccountIds": [ ],
- "timeframe": {
- "startDate": "string",
- "endDate": "string"
}
}
}Generate a PDF report for a merged account view.
Returns binary application/pdf — not wrapped in the {data,meta} envelope. This endpoint does not support the Idempotency-Key header.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
| filename | string or null <= 255 characters |
object | |
required | Array of objects [ 1 .. 6 ] items |
{- "filename": "string",
- "filters": {
- "fromDate": "2019-08-24",
- "toDate": "2019-08-24",
- "direction": "Incoming"
}, - "charts": [
- {
- "id": "string",
- "image_base64": "string",
- "width": 1,
- "height": 1
}
]
}{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Pin a view as a favorite for the current user.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "viewId": "string",
- "isFavorite": true
}, - "meta": {
- "requestId": "string"
}
}Unpin a view from favorites.
| view required | string <uuid> The view ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "viewId": "string",
- "isFavorite": true
}, - "meta": {
- "requestId": "string"
}
}DELETE clients/v1?ids[]=uuid1&ids[]=uuid2
Atomic: all deletions happen in a single transaction. If any item fails authorization or has active cases, the whole batch is rolled back.
Returns 200 with the list of deleted IDs on success.
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "deleted": [
- "string"
]
}, - "meta": {
- "requestId": "string"
}
}Two-tier authorization:
clients.list capability gates access to the endpoint.| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ClientListResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": "string",
- "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}
], - "meta": {
- "requestId": "string"
}
}Returns 201 Created + Location header pointing to the new resource.
| X-Scope required | string Operating scope for the request: the opaque |
| type required | string Enum: "company" "person" |
| displayName required | string <= 255 characters |
| countryCode required | string = 2 characters |
| registrationNumber | string or null <= 20 characters Company-specific |
| nationalId | string or null <= 100 characters Person-specific |
| nationalIdLast4 | string or null = 4 characters |
| dateOfBirth | string or null <date-time> |
| personSnapshot | Array of strings or null |
| status | string or null Enum: "prospect" "active" "inactive" "archived" Optional common fields |
| onboardedAt | string or null <date-time> |
| engagementType | string or null Enum: "advisory" "litigation" "transactional" "compliance" "other" |
| taxResidenceCountryCode | string or null = 2 characters |
| vatNumber | string or null <= 30 characters |
| lei | string or null <= 20 characters |
| preferredLanguage | string or null = 2 characters |
| notes | string or null |
| tags | Array of strings or null[ items <= 50 characters ] |
object |
required | object |
required | object |
{- "type": "company",
- "displayName": "string",
- "countryCode": "st",
- "registrationNumber": "string",
- "nationalId": "string",
- "nationalIdLast4": "stri",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "personSnapshot": [
- "string"
], - "status": "prospect",
- "onboardedAt": "2019-08-24T14:15:22Z",
- "engagementType": "advisory",
- "taxResidenceCountryCode": "st",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "st",
- "notes": "string",
- "tags": [
- "string"
], - "companySnapshot": {
- "registrationNumber": "string",
- "name": "string",
- "countryCode": "st"
}
}{- "data": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Two-layer check:
| client required | string The client ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Supports both PUT (full replace) and PATCH (partial update).
PATCH is the default — UpdateClientRequest uses sometimes throughout.
| client required | string The client ID |
| X-Scope required | string Operating scope for the request: the opaque |
| displayName | string <= 255 characters |
| countryCode | string = 2 characters |
| registrationNumber | string or null <= 20 characters Company fields |
| companySnapshot | Array of strings or null |
| nationalId | string or null <= 100 characters Person fields |
| nationalIdLast4 | string or null = 4 characters |
| dateOfBirth | string or null <date-time> |
| personSnapshot | Array of strings or null |
| status | string Enum: "prospect" "active" "inactive" "archived" Status / engagement |
| onboardedAt | string or null <date-time> |
| engagementType | string or null Enum: "advisory" "litigation" "transactional" "compliance" "other" |
| taxResidenceCountryCode | string or null = 2 characters Tax / financial |
| vatNumber | string or null <= 30 characters |
| lei | string or null <= 20 characters |
| preferredLanguage | string or null = 2 characters Comms |
| notes | string or null Freeform |
| tags | Array of strings or null[ items <= 50 characters ] |
required | object |
required | object |
{- "displayName": "string",
- "countryCode": "st",
- "registrationNumber": "string",
- "companySnapshot": [
- "string"
], - "nationalId": "string",
- "nationalIdLast4": "stri",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "personSnapshot": [
- "string"
], - "status": "prospect",
- "onboardedAt": "2019-08-24T14:15:22Z",
- "engagementType": "advisory",
- "taxResidenceCountryCode": "st",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "st",
- "notes": "string",
- "tags": [
- "string"
]
}{- "data": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Supports both PUT (full replace) and PATCH (partial update).
PATCH is the default — UpdateClientRequest uses sometimes throughout.
| client required | string The client ID |
| X-Scope required | string Operating scope for the request: the opaque |
| displayName | string <= 255 characters |
| countryCode | string = 2 characters |
| registrationNumber | string or null <= 20 characters Company fields |
| companySnapshot | Array of strings or null |
| nationalId | string or null <= 100 characters Person fields |
| nationalIdLast4 | string or null = 4 characters |
| dateOfBirth | string or null <date-time> |
| personSnapshot | Array of strings or null |
| status | string Enum: "prospect" "active" "inactive" "archived" Status / engagement |
| onboardedAt | string or null <date-time> |
| engagementType | string or null Enum: "advisory" "litigation" "transactional" "compliance" "other" |
| taxResidenceCountryCode | string or null = 2 characters Tax / financial |
| vatNumber | string or null <= 30 characters |
| lei | string or null <= 20 characters |
| preferredLanguage | string or null = 2 characters Comms |
| notes | string or null Freeform |
| tags | Array of strings or null[ items <= 50 characters ] |
required | object |
required | object |
{- "displayName": "string",
- "countryCode": "st",
- "registrationNumber": "string",
- "companySnapshot": [
- "string"
], - "nationalId": "string",
- "nationalIdLast4": "stri",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "personSnapshot": [
- "string"
], - "status": "prospect",
- "onboardedAt": "2019-08-24T14:15:22Z",
- "engagementType": "advisory",
- "taxResidenceCountryCode": "st",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "st",
- "notes": "string",
- "tags": [
- "string"
]
}{- "data": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Returns 204 No Content on success. Refuses deletion if active LegalCases exist.
| client required | string The client ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}DELETE cases/v1?ids[]=uuid1&ids[]=uuid2
Atomic: all deletions happen in a single transaction. If any item fails authorization or visibility, the whole batch is rolled back.
Returns 200 with the list of deleted IDs on success.
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "deleted": [
- "string"
]
}, - "meta": {
- "requestId": "string"
}
}Two-tier authorization:
cases.list capability gates access to the endpoint.| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (LegalCaseListResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "caseIdDisplay": "string",
- "caseType": "string",
- "status": "string",
- "clientId": "string",
- "client": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "openedAt": "string",
- "closedAt": "string",
- "targetCompletionDate": "string",
- "description": "string",
- "notes": "string",
- "tags": "string",
- "team": {
- "leadAttorney": "string",
- "caseManager": "string",
- "stakeholders": [
- "string"
]
}, - "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}
], - "meta": {
- "requestId": "string"
}
}Runs in a DB transaction so case creation and role assignments are atomic. If any role assignment fails the entire operation rolls back.
Returns 201 Created + Location header pointing to the new resource.
| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 255 characters Required fields |
| clientId required | string <uuid> |
| caseType required | string Enum: "m_a" "bankruptcy" "litigation" "compliance" "due_diligence" "other" |
| caseIdDisplay | string or null <= 50 characters Optional fields |
| status | string or null Enum: "draft" "open" "on_hold" "closed" "archived" |
| openedAt | string or null <date-time> |
| targetCompletionDate | string or null <date-time> |
| description | string or null |
| notes | string or null |
| tags | Array of strings or null[ items <= 50 characters ] |
object Internal team assignments (processed post-creation). User IDs are integers today; the codebase plans to migrate to UUIDs. Validation accepts either by deferring to the exists:users,id check. |
required | object |
required | object |
{- "name": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "caseType": "m_a",
- "caseIdDisplay": "string",
- "status": "draft",
- "openedAt": "2019-08-24T14:15:22Z",
- "targetCompletionDate": "2019-08-24T14:15:22Z",
- "description": "string",
- "notes": "string",
- "tags": [
- "string"
], - "team": {
- "leadAttorneyId": 0,
- "caseManagerId": 0,
- "stakeholderIds": [
- 0
]
}
}{- "data": {
- "id": "string",
- "name": "string",
- "caseIdDisplay": "string",
- "caseType": "string",
- "status": "string",
- "clientId": "string",
- "client": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "openedAt": "string",
- "closedAt": "string",
- "targetCompletionDate": "string",
- "description": "string",
- "notes": "string",
- "tags": [
- null
], - "team": {
- "leadAttorney": "string",
- "caseManager": "string",
- "stakeholders": [
- "string"
]
}, - "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Two-layer check:
| case required | string The case ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "caseIdDisplay": "string",
- "caseType": "string",
- "status": "string",
- "clientId": "string",
- "client": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "openedAt": "string",
- "closedAt": "string",
- "targetCompletionDate": "string",
- "description": "string",
- "notes": "string",
- "tags": [
- null
], - "team": {
- "leadAttorney": "string",
- "caseManager": "string",
- "stakeholders": [
- "string"
]
}, - "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Supports both PUT (full replace) and PATCH (partial update).
PATCH is the default — UpdateCaseRequest uses sometimes throughout.
| case required | string The case ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| caseType | string Enum: "m_a" "bankruptcy" "litigation" "compliance" "due_diligence" "other" |
| status | string Enum: "draft" "open" "on_hold" "closed" "archived" |
| openedAt | string or null <date-time> |
| closedAt | string or null <date-time> |
| targetCompletionDate | string or null <date-time> |
| description | string or null |
| notes | string or null |
| tags | Array of strings or null[ items <= 50 characters ] |
required | object |
required | object |
{- "name": "string",
- "caseType": "m_a",
- "status": "draft",
- "openedAt": "2019-08-24T14:15:22Z",
- "closedAt": "2019-08-24T14:15:22Z",
- "targetCompletionDate": "2019-08-24T14:15:22Z",
- "description": "string",
- "notes": "string",
- "tags": [
- "string"
]
}{- "data": {
- "id": "string",
- "name": "string",
- "caseIdDisplay": "string",
- "caseType": "string",
- "status": "string",
- "clientId": "string",
- "client": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "openedAt": "string",
- "closedAt": "string",
- "targetCompletionDate": "string",
- "description": "string",
- "notes": "string",
- "tags": [
- null
], - "team": {
- "leadAttorney": "string",
- "caseManager": "string",
- "stakeholders": [
- "string"
]
}, - "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Supports both PUT (full replace) and PATCH (partial update).
PATCH is the default — UpdateCaseRequest uses sometimes throughout.
| case required | string The case ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| caseType | string Enum: "m_a" "bankruptcy" "litigation" "compliance" "due_diligence" "other" |
| status | string Enum: "draft" "open" "on_hold" "closed" "archived" |
| openedAt | string or null <date-time> |
| closedAt | string or null <date-time> |
| targetCompletionDate | string or null <date-time> |
| description | string or null |
| notes | string or null |
| tags | Array of strings or null[ items <= 50 characters ] |
required | object |
required | object |
{- "name": "string",
- "caseType": "m_a",
- "status": "draft",
- "openedAt": "2019-08-24T14:15:22Z",
- "closedAt": "2019-08-24T14:15:22Z",
- "targetCompletionDate": "2019-08-24T14:15:22Z",
- "description": "string",
- "notes": "string",
- "tags": [
- "string"
]
}{- "data": {
- "id": "string",
- "name": "string",
- "caseIdDisplay": "string",
- "caseType": "string",
- "status": "string",
- "clientId": "string",
- "client": {
- "id": "string",
- "type": "string",
- "displayName": "string",
- "countryCode": "string",
- "registrationNumber": "string",
- "companySnapshot": {
- "registrationNumber": "string",
- "countryCode": "string",
- "country": "string",
- "vatNumber": "string",
- "name": "string",
- "tradingName": "string",
- "status": "string",
- "statusCode": "string",
- "legalForm": "string",
- "legalFormCode": "string",
- "registrationDate": "string",
- "incorporationDate": "string",
- "dissolutionDate": "string",
- "address": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "postalAddress": {
- "street": "string",
- "street2": "string",
- "postalCode": "string",
- "city": "string",
- "region": "string",
- "countryCode": "string",
- "country": "string"
}, - "industryCode": "string",
- "industryDescription": "string",
- "naceCode": "string",
- "numberOfEmployees": 0,
- "website": "string",
- "email": "string",
- "shareCapital": 0,
- "capitalCurrency": "string",
- "businessDescription": "string",
- "sectorCode": "string",
- "sectorDescription": "string",
- "isGroupMember": true,
- "registrySource": "string",
- "fetchedAt": "string",
- "sourceUpdatedAt": "string",
- "contacts": [
- null
], - "schemaVersion": 0
}, - "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "personSnapshot": {
- "name": "string",
- "countryCode": "string",
- "nationalIdLast4": "string",
- "dateOfBirth": "string",
- "address": "string"
}, - "status": "string",
- "onboardedAt": "string",
- "riskClassification": "string",
- "cddLevel": "string",
- "pepStatus": "string",
- "sanctionsStatus": "string",
- "amlLastReviewedAt": "string",
- "amlNextReviewDueAt": "string",
- "conflictCheckStatus": "string",
- "conflictCheckedAt": "string",
- "conflictCheckNotes": "string",
- "engagementType": "string",
- "taxResidenceCountryCode": "string",
- "vatNumber": "string",
- "lei": "string",
- "preferredLanguage": "string",
- "notes": "string",
- "tags": [
- null
], - "lastSyncedAt": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "openedAt": "string",
- "closedAt": "string",
- "targetCompletionDate": "string",
- "description": "string",
- "notes": "string",
- "tags": [
- null
], - "team": {
- "leadAttorney": "string",
- "caseManager": "string",
- "stakeholders": [
- "string"
]
}, - "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "registryId": 0
}, - "meta": {
- "requestId": "string"
}
}Returns 204 No Content on success.
| case required | string The case ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}Subscription gate: team.view requires the 'team' entity_service_subscription on the tenant. Returns 403 (not empty list) when the feature is unavailable so the client knows this tier does not include Teams.
Visibility: tenant-wide viewers (admin/owner role on the tenant) see all teams. Team managers and members see only teams that GlobalAccessControl considers visible to them (they have a relationship with the team).
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (TeamResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": "string",
- "isActive": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 255 characters |
| slug | string or null <= 255 characters |
| description | string or null |
| metadata | Array of strings or null |
required | object |
required | object |
{- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": "string",
- "isActive": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": "string",
- "isActive": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "memberCount": 0
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| metadata | Array of strings or null |
| isActive | boolean |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "metadata": [
- "string"
], - "isActive": true
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": "string",
- "isActive": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| metadata | Array of strings or null |
| isActive | boolean |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "metadata": [
- "string"
], - "isActive": true
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "metadata": "string",
- "isActive": "string",
- "createdBy": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": 0,
- "user_id": 0,
- "name": "string",
- "email": "string",
- "member_role": "manager",
- "role": "string",
- "roles": [
- null
], - "permissions": [
- "string"
], - "permission_count": 0,
- "established_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| userId required | integer |
| memberRole | string or null Enum: "member" "manager" |
required | object |
required | object |
{- "userId": 0,
- "memberRole": "member"
}{- "data": {
- "message": "Member added successfully."
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "role": "string",
- "role_name": "string",
- "capabilities": [
- null
], - "key": "string",
- "type": "string",
- "target_entity_type": "string",
- "target_entity_id": "string",
- "assigned_at": "2019-08-24T14:15:22Z",
- "assigned_by": 0,
- "expires_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| role required | string <= 100 characters |
| roleType | string or null Enum: "standard" "custom" |
| expiresAt | string or null <date-time> |
required | object |
required | object |
{- "role": "string",
- "roleType": "standard",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "message": "Role assigned to team."
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| role required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Role revoked from team.",
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}Returns the permissions the user has at the team's tenant scope (inherited via the team's polymorphic role assignments).
Route middleware: entity.permission:group,team.view
| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "capability": "string",
- "source": "team"
}
], - "meta": {
- "requestId": "string",
- "teamId": "string",
- "teamRoles": [
- {
- "id": "string",
- "role": "string",
- "role_name": "string",
- "capabilities": [
- null
], - "key": "string",
- "type": "string",
- "target_entity_type": "string",
- "target_entity_id": "string",
- "assigned_at": "2019-08-24T14:15:22Z",
- "assigned_by": 0,
- "expires_at": "2019-08-24T14:15:22Z"
}
], - "permissionCount": 0
}
}User-scoping: only returns groups where the user has an active member, owner, or admin relationship.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (GroupResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "string",
- "metadata": [
- null
], - "isActive": true,
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 255 characters |
| slug | string or null <= 255 characters |
| description | string or null |
| groupType | string or null Enum: "department" "team" "workgroup" "community" "custom" |
| metadata | Array of strings or null |
| tenantId | string or null |
object |
required | object |
required | object |
{- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "department",
- "metadata": [
- "string"
], - "tenantId": "string",
- "profile": {
- "displayName": "string",
- "description": "string",
- "visibilityScope": "private"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "string",
- "metadata": [
- null
], - "isActive": true,
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "string",
- "metadata": [
- null
], - "isActive": true,
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "memberCount": 0
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| groupType | string Enum: "department" "team" "workgroup" "community" "custom" |
| metadata | Array of strings or null |
| isActive | boolean |
object |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "groupType": "department",
- "metadata": [
- "string"
], - "isActive": true,
- "profile": {
- "displayName": "string",
- "description": "string",
- "visibilityScope": "private"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "string",
- "metadata": [
- null
], - "isActive": true,
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| groupType | string Enum: "department" "team" "workgroup" "community" "custom" |
| metadata | Array of strings or null |
| isActive | boolean |
object |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "groupType": "department",
- "metadata": [
- "string"
], - "isActive": true,
- "profile": {
- "displayName": "string",
- "description": "string",
- "visibilityScope": "private"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "groupType": "string",
- "metadata": [
- null
], - "isActive": true,
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "membershipId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "membershipStatus": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "displayName": "string",
- "email": null
}
], - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| X-Scope required | string Operating scope for the request: the opaque |
| userId required | integer |
| role required | string Enum: "member" "owner" "admin" |
required | object |
required | object |
{- "userId": 0,
- "role": "member"
}{- "data": {
- "message": "Member added successfully."
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| role required | string Enum: "member" "owner" "admin" |
required | object |
required | object |
{- "role": "member"
}{- "data": {
- "message": "Member role updated successfully."
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "userId": 0,
- "groupId": "string",
- "roles": [
- {
- "key": "string",
- "type": "string",
- "assignedAt": "string"
}
], - "permissions": [
- "string"
], - "permissionCount": 0
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| permission required | string |
| expiresAt | string or null <date-time> |
required | object |
required | object |
{- "permission": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "message": "Permission granted successfully."
}, - "meta": {
- "requestId": "string"
}
}| group required | string The group ID |
| userId required | integer |
| permission required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Permission revoked successfully.",
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}User-scoping: only returns active projects where the user has an active assigned, owner, or collaborator relationship.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ProjectResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| X-Scope required | string Operating scope for the request: the opaque |
| name required | string <= 255 characters |
| slug | string or null <= 255 characters |
| description | string or null |
| projectCode | string or null <= 50 characters |
| projectType | string or null Enum: "audit" "compliance" "investigation" "research" "development" "consulting" "custom" |
| status | string or null Enum: "draft" "active" "on_hold" "completed" "cancelled" |
| priority | string or null Enum: "low" "medium" "high" "critical" |
| startDate | string or null <date-time> |
| endDate | string or null <date-time> |
| deadlineDate | string or null <date-time> |
| budget | number or null >= 0 |
| currencyCode | string or null = 3 characters |
| metadata | Array of strings or null |
| tenantId | string or null |
| groupId | string or null |
object |
required | object |
required | object |
{- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "audit",
- "status": "draft",
- "priority": "low",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "deadlineDate": "2019-08-24T14:15:22Z",
- "budget": 0,
- "currencyCode": "str",
- "metadata": [
- "string"
], - "tenantId": "string",
- "groupId": "string",
- "profile": {
- "displayName": "string",
- "description": "string"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ProjectResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}Same whereExists pattern — avoids broken whereUserIsAssigned scope.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ProjectResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "assignedUserCount": 0,
- "assignedGroupCount": 0,
- "isOverdue": true
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| projectType | string Enum: "audit" "compliance" "investigation" "research" "development" "consulting" "custom" |
| status | string Enum: "draft" "active" "on_hold" "completed" "cancelled" |
| priority | string Enum: "low" "medium" "high" "critical" |
| startDate | string or null <date-time> |
| endDate | string or null <date-time> |
| deadlineDate | string or null <date-time> |
| budget | number or null >= 0 |
| metadata | Array of strings or null |
object |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "projectType": "audit",
- "status": "draft",
- "priority": "low",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "deadlineDate": "2019-08-24T14:15:22Z",
- "budget": 0,
- "metadata": [
- "string"
], - "profile": {
- "displayName": "string",
- "description": "string"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
| name | string <= 255 characters |
| description | string or null |
| projectType | string Enum: "audit" "compliance" "investigation" "research" "development" "consulting" "custom" |
| status | string Enum: "draft" "active" "on_hold" "completed" "cancelled" |
| priority | string Enum: "low" "medium" "high" "critical" |
| startDate | string or null <date-time> |
| endDate | string or null <date-time> |
| deadlineDate | string or null <date-time> |
| budget | number or null >= 0 |
| metadata | Array of strings or null |
object |
required | object |
required | object |
{- "name": "string",
- "description": "string",
- "projectType": "audit",
- "status": "draft",
- "priority": "low",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "deadlineDate": "2019-08-24T14:15:22Z",
- "budget": 0,
- "metadata": [
- "string"
], - "profile": {
- "displayName": "string",
- "description": "string"
}
}{- "data": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "projectCode": "string",
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "startDate": "string",
- "endDate": "string",
- "deadlineDate": "string",
- "budget": "string",
- "currencyCode": "string",
- "metadata": [
- null
], - "isActive": true,
- "archivedAt": "string",
- "createdBy": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Project archived successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Project unarchived successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "users": [
- {
- "id": "string",
- "parent_entity_id": "string",
- "parent_entity_type": "string",
- "child_entity_id": "string",
- "child_entity_type": "string",
- "relationship_type": "string",
- "established_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "established_by": 0,
- "is_active": true,
- "status": "string",
- "invitation_token": "string",
- "invitation_token_expires_at": "2019-08-24T14:15:22Z",
- "invited_at": "2019-08-24T14:15:22Z",
- "accepted_at": "2019-08-24T14:15:22Z",
- "rejected_at": "2019-08-24T14:15:22Z",
- "suspended_at": "2019-08-24T14:15:22Z",
- "invited_by": 0,
- "invitation_message": "string",
- "requested_role_key": "string",
- "cascade_mode": "string",
- "tenant_id": 0,
- "metadata": [
- null
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
], - "groups": [
- {
- "id": "string",
- "parent_entity_id": "string",
- "parent_entity_type": "string",
- "child_entity_id": "string",
- "child_entity_type": "string",
- "relationship_type": "string",
- "established_at": "2019-08-24T14:15:22Z",
- "expires_at": "2019-08-24T14:15:22Z",
- "established_by": 0,
- "is_active": true,
- "status": "string",
- "invitation_token": "string",
- "invitation_token_expires_at": "2019-08-24T14:15:22Z",
- "invited_at": "2019-08-24T14:15:22Z",
- "accepted_at": "2019-08-24T14:15:22Z",
- "rejected_at": "2019-08-24T14:15:22Z",
- "suspended_at": "2019-08-24T14:15:22Z",
- "invited_by": 0,
- "invitation_message": "string",
- "requested_role_key": "string",
- "cascade_mode": "string",
- "tenant_id": 0,
- "metadata": [
- null
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
]
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| entityType required | string Enum: "user" "group" |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
| userId required | integer |
| role required | string Enum: "assigned" "owner" "collaborator" |
required | object |
required | object |
{- "userId": 0,
- "role": "assigned"
}{- "data": {
- "message": "User assigned to project successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| X-Scope required | string Operating scope for the request: the opaque |
| groupId required | string |
required | object |
required | object |
{- "groupId": "string"
}{- "data": {
- "message": "Group assigned to project successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| role required | string Enum: "assigned" "owner" "collaborator" "admin" "manager" "member" "viewer" |
required | object |
required | object |
{- "role": "assigned"
}{- "data": {
- "message": "User role updated successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "userId": 0,
- "projectId": "string",
- "roles": [
- {
- "key": "string",
- "type": "string",
- "assignedAt": "string"
}
], - "permissions": [
- "string"
], - "permissionCount": 0
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| userId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| permission required | string |
| expiresAt | string or null <date-time> |
required | object |
required | object |
{- "permission": "string",
- "expiresAt": "2019-08-24T14:15:22Z"
}{- "data": {
- "message": "Permission granted successfully."
}, - "meta": {
- "requestId": "string"
}
}| project required | string The project ID |
| userId required | integer |
| permission required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "message": "Permission revoked successfully.",
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "metadata": [
- null
], - "settings": [
- null
], - "visibilityScope": "string",
- "ownerEntityType": "string",
- "ownerEntityId": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| displayName | string or null <= 255 characters |
| description | string or null |
| visibilityScope | string or null Enum: "private" "group" "tenant" "partner" "global" |
| metadata | Array of strings or null |
required | object |
required | object |
{- "displayName": "string",
- "description": "string",
- "visibilityScope": "private",
- "metadata": [
- "string"
]
}{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "metadata": [
- null
], - "settings": [
- null
], - "visibilityScope": "string",
- "ownerEntityType": "string",
- "ownerEntityId": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| displayName | string or null <= 255 characters |
| description | string or null |
| visibilityScope | string or null Enum: "private" "group" "tenant" "partner" "global" |
| metadata | Array of strings or null |
required | object |
required | object |
{- "displayName": "string",
- "description": "string",
- "visibilityScope": "private",
- "metadata": [
- "string"
]
}{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "metadata": [
- null
], - "settings": [
- null
], - "visibilityScope": "string",
- "ownerEntityType": "string",
- "ownerEntityId": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "entityType": "string",
- "entityId": "string",
- "name": "string",
- "displayName": "string",
- "description": "string",
- "profile": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "metadata": [
- null
], - "settings": [
- null
], - "visibilityScope": "string",
- "ownerEntityType": "string",
- "ownerEntityId": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "primaryAddress": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "addresses": [
- {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "addressesCount": 0,
- "contacts": [
- {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "contactsCount": 0,
- "avatar": {
- "id": 0,
- "url": "string",
- "fileName": "string"
}, - "logo": {
- "id": 0,
- "url": "string",
- "fileName": "string"
}, - "media": [
- {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "mediaCount": 0,
- "groupType": "string",
- "memberCount": 0,
- "projectType": "string",
- "status": "string",
- "priority": "string",
- "assignedUserCount": 0,
- "assignedGroupCount": 0
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| type | string |
| verified | boolean Default: false |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (EntityContactResource) |
required | object |
{- "data": [
- {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| contactType required | string Enum: "email" "phone" "mobile" "fax" "website" "linkedin" "twitter" "facebook" "instagram" "other" |
| contactValue required | string <= 255 characters |
| label | string or null <= 100 characters |
| isPrimary | boolean or null |
required | object |
required | object |
{- "contactType": "email",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true
}{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| contactType | string Enum: "email" "phone" "mobile" "fax" "website" "linkedin" "twitter" "facebook" "instagram" "other" |
| contactValue | string <= 255 characters |
| label | string or null <= 100 characters |
| isPrimary | boolean or null |
| isActive | boolean or null |
required | object |
required | object |
{- "contactType": "email",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isActive": true
}{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
| contactType | string Enum: "email" "phone" "mobile" "fax" "website" "linkedin" "twitter" "facebook" "instagram" "other" |
| contactValue | string <= 255 characters |
| label | string or null <= 100 characters |
| isPrimary | boolean or null |
| isActive | boolean or null |
required | object |
required | object |
{- "contactType": "email",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isActive": true
}{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| contactId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "contactType": "string",
- "contactValue": "string",
- "label": "string",
- "isPrimary": true,
- "isVerified": true,
- "verifiedAt": "string",
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| type | string |
| active | boolean Default: false |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (EntityMediaResource) |
required | object |
{- "data": [
- {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}NOTE: This action handles multipart/form-data — do NOT add api.idempotent middleware to the route invoking this method.
| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| file required | string <binary> <application/octet-stream> <= 10240 characters |
| media_type required | string Enum: "avatar" "logo" "document" "image" "video" "other" 10 MB max |
| metadata | Array of strings or null |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| mediaId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| mediaId required | integer |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "url": "string",
- "fileName": "string",
- "uploadedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}NOTE: multipart/form-data — do NOT add api.idempotent middleware to this route.
| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| file required | string <binary> <application/octet-stream> <= 10240 characters |
| media_type required | string Enum: "avatar" "logo" "document" "image" "video" "other" 10 MB max |
| metadata | Array of strings or null |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": 0,
- "url": "string",
- "fileName": "string",
- "uploadedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}NOTE: multipart/form-data — do NOT add api.idempotent middleware to this route.
| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| file required | string <binary> <application/octet-stream> <= 10240 characters |
| media_type required | string Enum: "avatar" "logo" "document" "image" "video" "other" 10 MB max |
| metadata | Array of strings or null |
required | object |
required | object |
{- "data": {
- "id": 0,
- "entityType": "string",
- "entityId": "string",
- "mediaType": "string",
- "fileName": "string",
- "fileSize": 0,
- "mimeType": "string",
- "url": "string",
- "metadata": [
- null
], - "uploadedBy": 0,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (EntityAddressResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| addressType required | string Enum: "headquarters" "branch" "billing" "shipping" "home" "work" "other" |
| label | string or null <= 100 characters |
| addressLine1 required | string <= 255 characters |
| addressLine2 | string or null <= 255 characters |
| city required | string <= 100 characters |
| stateProvince | string or null <= 100 characters |
| postalCode | string or null <= 20 characters |
| countryCode required | string = 2 characters |
| isPrimary | boolean or null |
required | object |
required | object |
{- "addressType": "headquarters",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "st",
- "isPrimary": true
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| addressId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| addressId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| addressType | string Enum: "headquarters" "branch" "billing" "shipping" "home" "work" "other" |
| label | string or null <= 100 characters |
| addressLine1 | string <= 255 characters |
| addressLine2 | string or null <= 255 characters |
| city | string <= 100 characters |
| stateProvince | string or null <= 100 characters |
| postalCode | string or null <= 20 characters |
| countryCode | string = 2 characters |
| isPrimary | boolean or null |
| isActive | boolean or null |
required | object |
required | object |
{- "addressType": "headquarters",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "st",
- "isPrimary": true,
- "isActive": true
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| addressId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| addressType | string Enum: "headquarters" "branch" "billing" "shipping" "home" "work" "other" |
| label | string or null <= 100 characters |
| addressLine1 | string <= 255 characters |
| addressLine2 | string or null <= 255 characters |
| city | string <= 100 characters |
| stateProvince | string or null <= 100 characters |
| postalCode | string or null <= 20 characters |
| countryCode | string = 2 characters |
| isPrimary | boolean or null |
| isActive | boolean or null |
required | object |
required | object |
{- "addressType": "headquarters",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "st",
- "isPrimary": true,
- "isActive": true
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| addressId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| addressId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "addressType": "string",
- "label": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "stateProvince": "string",
- "postalCode": "string",
- "countryCode": "string",
- "isPrimary": true,
- "isActive": true,
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (InvitationResource) |
required | object |
{- "data": [
- {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| member_type required | string <= 50 characters |
| member_email | string or null <email> <= 255 characters |
| member_id | string or null <= 255 characters |
| requested_role_key required | string <= 50 characters |
| message | string or null <= 2000 characters |
required | object |
required | object |
{- "member_type": "string",
- "member_email": "user@example.com",
- "member_id": "string",
- "requested_role_key": "string",
- "message": "string"
}{- "data": {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | string |
| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ProductV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}
], - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}/integrations/eligible?regions[]=NO®ions[]=DK
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "description": "string",
- "health": "string",
- "status": "string",
- "supportedCountries": [
- null
], - "coveredRegions": "string",
- "missingRegions": "string",
- "isConfigured": true,
- "isAttached": true,
- "isDefault": true
}
], - "meta": {
- "requestId": "string",
- "requestedRegions": [
- null
], - "productSlug": "string",
- "productType": "string"
}
}GET productmanagement/v1/products/{slug}/eligibility
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (ProductEligibilityV1Resource) |
required | object |
{- "data": {
- "eligible": "string",
- "alreadyActivated": "string",
- "existingActivationStatus": "string",
- "reason": "string",
- "resumable": "string",
- "existingActivationId": "string",
- "integrationsAvailable": "string",
- "availableIntegrationCount": "string",
- "currentPackageSlug": "string",
- "currentPackageName": "string",
- "currentTierLevel": "string",
- "requiredPackageSlug": "string",
- "requiredPackageName": "string",
- "requiredTierLevel": "string",
- "tierMet": "string",
- "featureAvailability": "string"
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (ProductV1Resource) |
required | object |
{- "data": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/packages
| type | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (PackageV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "packageType": "string",
- "tierLevel": 0,
- "tierGroup": "string",
- "isPublic": true,
- "audience": [
- null
], - "status": "string",
- "sortOrder": 0,
- "priceAmount": "string",
- "priceCurrency": "string",
- "billingPeriod": "string",
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "products": [
- {
- "productId": "string",
- "grantedTier": "string",
- "autoActivate": true,
- "includedFeatures": [
- null
], - "limits": [
- null
], - "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}
}
], - "isEntitySubscribed": true
}
], - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/packages/{slug}
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (PackageV1Resource) |
required | object |
{- "data": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "packageType": "string",
- "tierLevel": 0,
- "tierGroup": "string",
- "isPublic": true,
- "audience": [
- null
], - "status": "string",
- "sortOrder": 0,
- "priceAmount": "string",
- "priceCurrency": "string",
- "billingPeriod": "string",
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "products": [
- {
- "productId": "string",
- "grantedTier": "string",
- "autoActivate": true,
- "includedFeatures": [
- null
], - "limits": [
- null
], - "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}
}
], - "isEntitySubscribed": true
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}/status
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (ProductActivationV1Resource) |
required | object |
{- "data": {
- "productSlug": "string",
- "status": "not_activated"
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}/activate/credentials
| slug required | string |
| integrationId | string |
| integration_id | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string"
}
}PUT productmanagement/v1/products/{slug}/activate/credentials
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| credentialType | string <= 100 characters |
| integrationId | string <= 36 characters |
| credentials required | Array of strings non-empty |
required | object (ProductActivationV1Resource) |
required | object |
{- "credentialType": "string",
- "integrationId": "string",
- "credentials": [
- "string"
]
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "productId": "string",
- "status": "string",
- "activatedBy": "string",
- "activatedAt": "string",
- "deactivatedAt": "string",
- "activationContext": [
- null
], - "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "integrations": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "status": "string",
- "health": "string",
- "supportedCountries": [
- null
], - "pivotStatus": "string",
- "attachedAt": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}POST productmanagement/v1/products/{slug}/activate/complete
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (ProductActivationV1Resource) |
required | object |
{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "productId": "string",
- "status": "string",
- "activatedBy": "string",
- "activatedAt": "string",
- "deactivatedAt": "string",
- "activationContext": [
- null
], - "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "integrations": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "status": "string",
- "health": "string",
- "supportedCountries": [
- null
], - "pivotStatus": "string",
- "attachedAt": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/products/{slug}/activate/cancel
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/products/{slug}/activate
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}POST productmanagement/v1/products/{slug}/activate
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (ProductActivationV1Resource) |
required | object |
{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "productId": "string",
- "status": "string",
- "activatedBy": "string",
- "activatedAt": "string",
- "deactivatedAt": "string",
- "activationContext": [
- null
], - "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "integrations": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "status": "string",
- "health": "string",
- "supportedCountries": [
- null
], - "pivotStatus": "string",
- "attachedAt": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}PUT productmanagement/v1/products/{slug}/activate/integrations
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| integrationIds required | Array of strings non-empty [ items <= 36 characters ] |
| regions | Array of strings[ items <= 8 characters ] |
required | object (ProductActivationV1Resource) |
required | object |
{- "integrationIds": [
- "string"
], - "regions": [
- "string"
]
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "productId": "string",
- "status": "string",
- "activatedBy": "string",
- "activatedAt": "string",
- "deactivatedAt": "string",
- "activationContext": [
- null
], - "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "integrations": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "status": "string",
- "health": "string",
- "supportedCountries": [
- null
], - "pivotStatus": "string",
- "attachedAt": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}/integrations
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects |
required | object |
{- "data": [
- {
- "id": "string",
- "integrationId": "string",
- "integration": {
- "id": "string",
- "name": "string",
- "slug": "string",
- "health": "string",
- "status": "string",
- "supportedCountries": [
- null
]
}, - "status": "string",
- "attachedAt": "string",
- "pausedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}POST productmanagement/v1/products/{slug}/integrations
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| integrationId required | string <= 36 characters |
required | object |
required | object |
{- "integrationId": "string"
}{- "data": {
- "id": "string",
- "integrationId": "string",
- "status": "string",
- "attachedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/products/{slug}/integrations/{integrationId}
| slug required | string |
| integrationId required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/activations
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (ProductActivationV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "productId": "string",
- "status": "string",
- "activatedBy": "string",
- "activatedAt": "string",
- "deactivatedAt": "string",
- "activationContext": [
- null
], - "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}, - "integrations": [
- {
- "id": "string",
- "name": "string",
- "slug": "string",
- "status": "string",
- "health": "string",
- "supportedCountries": [
- null
], - "pivotStatus": "string",
- "attachedAt": "string"
}
]
}
], - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/products/{slug}/credentials
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "hasCredentials": true,
- "credentialLevel": null,
- "authenticationMethod": null,
- "credentialSchema": [ ],
- "existingCredentials": {
- "global": null,
- "entity": null
}, - "credentialMode": "system_default"
}, - "meta": {
- "requestId": "string"
}
}PUT productmanagement/v1/products/{slug}/credentials
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
| credentialType | string <= 100 characters |
| integrationId | string <= 36 characters |
| credentials required | Array of strings non-empty |
required | object |
required | object |
{- "credentialType": "string",
- "integrationId": "string",
- "credentials": [
- "string"
]
}{- "data": {
- "status": "ok",
- "message": "Credentials updated successfully."
}, - "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/products/{slug}/credentials
| slug required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/subscriptions
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | Array of objects (SubscriptionV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "packageId": "string",
- "isActive": true,
- "source": "string",
- "assignedBy": 0,
- "startsAt": "string",
- "expiresAt": "string",
- "autoRenew": true,
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "package": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "packageType": "string",
- "tierLevel": 0,
- "tierGroup": "string",
- "isPublic": true,
- "audience": [
- null
], - "status": "string",
- "sortOrder": 0,
- "priceAmount": "string",
- "priceCurrency": "string",
- "billingPeriod": "string",
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "products": [
- {
- "productId": "string",
- "grantedTier": "string",
- "autoActivate": true,
- "includedFeatures": [
- null
], - "limits": [
- null
], - "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}
}
], - "isEntitySubscribed": true
}
}
], - "meta": {
- "requestId": "string"
}
}POST productmanagement/v1/subscriptions
| X-Scope required | string Operating scope for the request: the opaque |
| packageSlug | string <= 191 characters |
| packageId | string <uuid> |
| metadata | Array of strings |
required | object (SubscriptionV1Resource) |
required | object |
{- "packageSlug": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "metadata": [
- "string"
]
}{- "data": {
- "id": "string",
- "entityType": "string",
- "entityId": "string",
- "packageId": "string",
- "isActive": true,
- "source": "string",
- "assignedBy": 0,
- "startsAt": "string",
- "expiresAt": "string",
- "autoRenew": true,
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "package": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "packageType": "string",
- "tierLevel": 0,
- "tierGroup": "string",
- "isPublic": true,
- "audience": [
- null
], - "status": "string",
- "sortOrder": 0,
- "priceAmount": "string",
- "priceCurrency": "string",
- "billingPeriod": "string",
- "metadata": [
- null
], - "createdAt": "string",
- "updatedAt": "string",
- "products": [
- {
- "productId": "string",
- "grantedTier": "string",
- "autoActivate": true,
- "includedFeatures": [
- null
], - "limits": [
- null
], - "product": {
- "id": "string",
- "slug": "string",
- "name": "string",
- "description": "string",
- "icon": "string",
- "category": "string",
- "productType": "string",
- "status": "string",
- "isFree": true,
- "requiresIntegration": true,
- "sortOrder": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "features": [
- {
- "id": "string",
- "featureKey": "string",
- "name": "string",
- "description": "string",
- "isRequired": true,
- "sortOrder": 0
}
], - "defaultIntegrationSlugs": [
- null
], - "metadata": [
- null
]
}
}
], - "isEntitySubscribed": true
}
}, - "meta": {
- "requestId": "string"
}
}GET productmanagement/v1/subscriptions/current
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
required | object (SubscriptionV1Resource) |
required | object |
{- "data": null,
- "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/subscriptions/current
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}DELETE productmanagement/v1/subscriptions/{id}
| id required | string |
| X-Scope required | string Operating scope for the request: the opaque |
{- "error": {
- "code": "unauthenticated",
- "message": "string",
- "details": { }
}, - "meta": {
- "requestId": "string"
}
}| filter | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| X-Scope required | string Operating scope for the request: the opaque |
{ }| X-Scope required | string Operating scope for the request: the opaque |
"string"| id required | string or null |
| X-Scope required | string Operating scope for the request: the opaque |
{ }| id required | string or null |
| X-Scope required | string Operating scope for the request: the opaque |
"string"Read the user's profile as seen within the current scope, resolving in order: scope-specific, then ancestor scope, then default — so an unset scope profile gracefully falls back to the user's default profile.
| id required | string or null |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "defaultMetadata": "string",
- "scopedMetadata": "string",
- "mergedMetadata": "string",
- "scope": "string",
- "profile": {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "visibilityScope": "string",
- "isActive": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Save the user's scope-specific profile metadata. This does not write any credentials.
Authorization: self-update is always permitted; updating another user's profile requires the members.manage permission.
| id required | string or null |
| X-Scope required | string Operating scope for the request: the opaque |
| metadata required | Array of strings non-empty |
required | object |
required | object |
{- "metadata": [
- "string"
]
}{- "data": {
- "defaultMetadata": "string",
- "scopedMetadata": "string",
- "mergedMetadata": "string",
- "scope": "string",
- "profile": {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "logoPath": "string",
- "avatarPath": "string",
- "visibilityScope": "string",
- "isActive": "string",
- "scopeEntityType": "string",
- "scopeEntityId": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
}, - "meta": {
- "requestId": "string"
}
}Assign a role to a user on the current scope entity.
Returns the updated user detail.
| id required | string or null |
| X-Scope required | string Operating scope for the request: the opaque |
| role_key required | string |
required | object |
required | object |
{- "role_key": "string"
}{- "data": {
- "id": "string",
- "name": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "avatarUrl": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "membership": {
- "id": "string",
- "status": "string",
- "invitedAt": { },
- "acceptedAt": { },
- "suspendedAt": { }
}, - "roles": [
- {
- "id": "string",
- "key": "string",
- "name": "string",
- "assignedAt": { },
- "assignedBy": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Revoke a role from a user on the current scope entity.
Returns the updated user detail. If the role assignment does not exist, this returns a 404.
| id required | string or null |
| roleKey required | string |
| X-Scope required | string Operating scope for the request: the opaque |
required | object |
required | object |
{- "data": {
- "id": "string",
- "name": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "avatarUrl": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "membership": {
- "id": "string",
- "status": "string",
- "invitedAt": { },
- "acceptedAt": { },
- "suspendedAt": { }
}, - "roles": [
- {
- "id": "string",
- "key": "string",
- "name": "string",
- "assignedAt": { },
- "assignedBy": "string"
}
]
}, - "meta": {
- "requestId": "string"
}
}Returns the authenticated user's pending invitations.
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (UserInvitationV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "meta": {
- "requestId": "string"
}
}Re-runnable: accepting an already-accepted invitation returns the current state without erroring.
| token required | string |
required | object |
required | object |
{- "data": {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}Re-runnable: declining an already-declined invitation returns the current state without erroring.
| token required | string |
required | object |
required | object |
{- "data": {
- "id": "string",
- "parentEntityType": "string",
- "parentEntityId": "string",
- "childEntityType": "string",
- "childEntityId": "string",
- "relationshipType": "string",
- "status": "string",
- "invitationToken": "string",
- "invitationTokenExpiresAt": "string",
- "invitedAt": "string",
- "acceptedAt": "string",
- "rejectedAt": "string",
- "suspendedAt": "string",
- "invitedBy": "string",
- "invitationMessage": "string",
- "requestedRoleKey": "string",
- "establishedBy": "string",
- "establishedAt": "string",
- "expiresAt": "string",
- "metadata": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| data required | Array of any |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string",
- "requiresScope": "string",
- "activeScope": {
- "scopeId": "string",
- "type": "string",
- "id": "string",
- "name": "string",
- "avatarUrl": "string"
}
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
required | Array of objects (RoleAssignmentV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "roleKey": "string",
- "roleType": "string",
- "assignedBy": "string",
- "assignedAt": "string",
- "expiresAt": "string",
- "isActive": true
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0
}
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
| role_type required | string Enum: "standard" "custom" |
| role_key required | string |
object |
required | object (RoleAssignmentV1Resource) |
required | object |
{- "role_type": "standard",
- "role_key": "string",
- "options": {
- "expires_at": "2019-08-24T14:15:22Z",
- "metadata": [
- "string"
], - "tenant_id": 0
}
}{- "data": {
- "id": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "roleKey": "string",
- "roleType": "string",
- "assignedBy": "string",
- "assignedAt": "string",
- "expiresAt": "string",
- "isActive": true
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
| roleKey required | string |
required | object |
required | object |
{- "data": {
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
required | Array of objects (PermissionGrantV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "permission": "string",
- "grantedBy": "string",
- "grantedAt": "string",
- "expiresAt": "string",
- "isActive": true
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0
}
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
| permission required | string |
object |
required | object (PermissionGrantV1Resource) |
required | object |
{- "permission": "string",
- "options": {
- "expires_at": "2019-08-24T14:15:22Z",
- "metadata": [
- "string"
], - "tenant_id": 0
}
}{- "data": {
- "id": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "permission": "string",
- "grantedBy": "string",
- "grantedAt": "string",
- "expiresAt": "string",
- "isActive": true
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
| permissionKey required | string |
required | object |
required | object |
{- "data": {
- "revoked": true
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
| with_sources | boolean |
| check_inheritance | boolean |
required | EffectivePermissionsV1Resource (object) or EffectivePermissionsV1Resource (object) (EffectivePermissionsV1Resource) |
required | object |
{- "data": {
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "permissions": "string",
- "count": "string"
}, - "meta": {
- "requestId": "string"
}
}| entityType required | string |
| entityId required | integer |
| userId required | integer |
required | object |
required | object |
{- "data": {
- "userId": 0,
- "entityType": "string",
- "entityId": 0,
- "cleared": true
}, - "meta": {
- "requestId": "string"
}
}| user_id required | integer >= 1 |
| entity_type required | string Enum: "user" "tenant" "group" "project" "client" "case" "consent" |
| entity_id required | integer >= 1 |
| permission required | string |
| check_inheritance | boolean |
required | object (PermissionCheckV1Resource) |
required | object |
{- "user_id": 1,
- "entity_type": "user",
- "entity_id": 1,
- "permission": "string",
- "check_inheritance": true
}{- "data": {
- "hasPermission": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "permission": "string",
- "checkedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| user_id required | integer >= 1 |
| entity_type required | string Enum: "user" "tenant" "group" "project" "client" "case" "consent" |
| entity_id required | integer >= 1 |
| check_inheritance | boolean |
| permissions required | Array of strings non-empty |
required | object (PermissionCheckBatchV1Resource) |
required | object |
{- "user_id": 1,
- "entity_type": "user",
- "entity_id": 1,
- "check_inheritance": true,
- "permissions": [
- "string"
]
}{- "data": {
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "permissions": "string",
- "checkedAt": "string"
}, - "meta": {
- "requestId": "string"
}
}| user_id required | integer >= 1 |
| entity_type required | string Enum: "user" "tenant" "group" "project" "client" "case" "consent" |
| entity_id required | integer >= 1 |
| role_key required | string |
required | object (HasRoleV1Resource) |
required | object |
{- "user_id": 1,
- "entity_type": "user",
- "entity_id": 1,
- "role_key": "string"
}{- "data": {
- "hasRole": "string",
- "userId": "string",
- "entityType": "string",
- "entityId": "string",
- "roleKey": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | object (MePermissionsV1Resource) |
required | object |
{- "data": {
- "scope": "string",
- "items": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | object (MeEntityPermissionsV1Resource) |
required | object |
{- "data": {
- "scope": "string",
- "entityPermissions": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
| data required | Array of any (PermissionDefinitionsV1Resource) |
required | object |
{- "data": [
- null
], - "meta": {
- "requestId": "string"
}
}| entity_type | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (RoleCatalogV1Resource) |
required | object |
{- "data": [
- {
- "key": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "type": "string",
- "capabilities": "string",
- "hierarchyLevel": "string",
- "isBarrier": "string",
- "canCascade": "string"
}
], - "meta": {
- "requestId": "string",
- "pagination": {
- "total": 0
}
}
}| entityType required | string |
| entityId required | integer |
| include_role_counts | boolean Default: false |
required | object (EntityHierarchyV1Resource) |
required | object |
{- "data": {
- "root": "string",
- "totalEntities": "string"
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (DatasetSubsetTypeV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "type": "string",
- "name": "string",
- "description": "string",
- "model": "string"
}
], - "meta": {
- "requestId": "string"
}
}Returns datasets whose groups are in the user's accessible company IDs, with
optional provider/entity filters. Accepts perPage (or the deprecated
per_page, default 15).
| provider_id | string |
| entity_id | string |
| perPage | integer [ 1 .. 100 ] |
| per_page | integer [ 1 .. 100 ] |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (DatasetV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "datasetRelationId": "string",
- "dataVersion": "string",
- "providerId": "string",
- "providerVersion": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "subsets": [
- {
- "id": "string",
- "type": "string",
- "subsetId": "string",
- "subsetType": {
- "id": "string",
- "type": "string",
- "name": "string",
- "description": "string"
}
}
], - "groups": "string"
}
], - "meta": {
- "requestId": "string"
}
}Returns a single accessible dataset with subsets and groups loaded.
| id required | string |
required | object (DatasetV1Resource) |
required | object |
{- "data": {
- "id": "string",
- "datasetRelationId": "string",
- "dataVersion": "string",
- "providerId": "string",
- "providerVersion": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "subsets": [
- {
- "id": "string",
- "type": "string",
- "subsetId": "string",
- "subsetType": {
- "id": "string",
- "type": "string",
- "name": "string",
- "description": "string"
}
}
], - "groups": "string"
}, - "meta": {
- "requestId": "string"
}
}Returns active profiles filtered by entity/profession, merged with global profiles, de-duplicated by id.
| entity_id | string |
| entity_type | string |
| profession | string |
| sub_profession | string |
| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
required | Array of objects (DatasetProfileV1Resource) |
required | object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "scope": "string",
- "profession": "string",
- "subProfession": "string",
- "subsetSelection": [
- null
], - "providerPriorities": [
- null
], - "isDefault": true,
- "usageCount": 0
}
], - "meta": {
- "requestId": "string"
}
}| name required | string <= 255 characters |
| description | string or null |
| scope required | string Enum: "global" "entity" "profession" |
| entity_id | string or null |
| entity_type | string or null |
| profession | string or null |
| sub_profession | string or null |
| subset_selection required | Array of strings non-empty |
| provider_priorities | Array of strings or null |
| is_default | boolean |
required | object (DatasetProfileV1Resource) |
required | object |
{- "name": "string",
- "description": "string",
- "scope": "global",
- "entity_id": "string",
- "entity_type": "string",
- "profession": "string",
- "sub_profession": "string",
- "subset_selection": [
- "string"
], - "provider_priorities": [
- "string"
], - "is_default": true
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "scope": "string",
- "profession": "string",
- "subProfession": "string",
- "subsetSelection": [
- null
], - "providerPriorities": [
- null
], - "isDefault": true,
- "usageCount": 0
}, - "meta": {
- "requestId": "string"
}
}| id required | string |
| name | string <= 255 characters |
| description | string or null |
| subset_selection | Array of strings non-empty |
| provider_priorities | Array of strings or null |
| is_active | boolean |
| is_default | boolean |
required | object (DatasetProfileV1Resource) |
required | object |
{- "name": "string",
- "description": "string",
- "subset_selection": [
- "string"
], - "provider_priorities": [
- "string"
], - "is_active": true,
- "is_default": true
}{- "data": {
- "id": "string",
- "name": "string",
- "description": "string",
- "scope": "string",
- "profession": "string",
- "subProfession": "string",
- "subsetSelection": [
- null
], - "providerPriorities": [
- null
], - "isDefault": true,
- "usageCount": 0
}, - "meta": {
- "requestId": "string"
}
}Safe to call repeatedly; this action does not require an Idempotency-Key header.
| id required | string |
required | object |
required | object |
{- "data": {
- "usageCount": 0
}, - "meta": {
- "requestId": "string"
}
}| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"| perPage | integer Items per page (default 25, max 100). |
| sort | string Comma-separated sort terms, e.g. |
| filter[field] | string Allowlisted field filter, e.g. |
"string"