Organizations
Operations of the Identity API (public). Paths are relative to your deployment's API host.
GET /api/identity-api/organizations
GET / (organizations)
Executes find all for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
skip | query | number | no | Number of records to skip |
take | query | number | no | Number of records to take (max 100) |
| Status | Description | Body |
|---|---|---|
| 200 | List organizations the current user belongs to | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
POST /api/identity-api/organizations
POST / (organizations)
Executes create for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json CreateOrganizationDto
| Status | Description | Body |
|---|---|---|
| 201 | Create a new organization | application/json object |
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 409 | Conflict | application/json object |
GET /api/identity-api/organizations/{id}
GET :id (organizations)
Executes find one for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | Get organization by ID | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
PATCH /api/identity-api/organizations/{orgId}
PATCH :orgId (organizations)
Executes update by owner for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
Request body: application/json UpdateOrganizationByOwnerDto
| Status | Description | Body |
|---|---|---|
| 200 | Update organization name or display name (org owner/admin) | application/json object |
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
GET /api/identity-api/organizations/{orgId}/activity
GET :orgId/activity (organizations)
Executes get organization activity for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
limit | query | number | no | |
page | query | number | no |
| Status | Description | Body |
|---|---|---|
| 200 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
GET /api/identity-api/organizations/{orgId}/invitations
GET :orgId/invitations (organizations)
Lists the organization's invitations (owner/admin). Also honours a DELEGATED person context addressed to identity-api (workload:identity-api) whose delegation lends identity:user.organization-invitations.list@1: the delegation must be live, of this organization, its resource scope empty, exactly org:<orgId>, or naming org:<orgId> (a bound operation names exactly that organization), and the realm's delegation policy hook must allow the exercise; the person's own owner/admin role is still required. Refusals: 403 DELEGATION_OPERATION_NOT_LENT, DELEGATION_TARGET_OUTSIDE_SCOPE, DELEGATION_POLICY_DENIED (the hook's code in details.policyCode), 503 DELEGATION_POLICY_UNAVAILABLE.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | List organization invitations | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
POST /api/identity-api/organizations/{orgId}/invitations
POST :orgId/invitations (organizations)
Executes create invitation for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
Request body: application/json CreateInvitationDto
| Status | Description | Body |
|---|---|---|
| 201 | Create organization invitation | application/json object |
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
POST /api/identity-api/organizations/{orgId}/invitations/{id}/deliver
POST :orgId/invitations/:id/deliver (organizations)
Delivers an invitation: replaces its code with a fresh one (the previous code stops working), builds the accept link on the named application's declared invitation accept URI, and sends it by mail as the calling administrator. A mail that is not sent never fails or cancels the invitation: the answer states the outcome (SENT, FAILED, UNKNOWN, NOT_CONFIGURED). 400 INVITATION_ACCEPT_URI_UNDECLARED when the application declares no accept URI.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
orgId | path | string | yes |
Request body: application/json DeliverInvitationDto
| Status | Description | Body |
|---|---|---|
| 200 | Deliver the invitation | application/json object |
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
DELETE /api/identity-api/organizations/{orgId}/invitations/{invitationId}
DELETE :orgId/invitations/:invitationId (organizations)
Revokes one of the organization's invitations (owner/admin). Also honours a DELEGATED person context addressed to identity-api (workload:identity-api) whose delegation lends identity:user.organization-invitation.revoke@1: the delegation must be live, of this organization, its resource scope empty, exactly org:<orgId>, or naming org:<orgId>/invitation:<invitationId> (a bound operation names exactly that invitation), and the realm's delegation policy hook must allow the exercise; the person's own owner/admin role is still required. Refusals: 403 DELEGATION_OPERATION_NOT_LENT, DELEGATION_TARGET_OUTSIDE_SCOPE, DELEGATION_POLICY_DENIED (the hook's code in details.policyCode), 503 DELEGATION_POLICY_UNAVAILABLE.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
invitationId | path | string | yes | |
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
GET /api/identity-api/organizations/{orgId}/members
GET :orgId/members (organizations)
Lists the organization's member directory, with substring search over display name and email plus skip/take paging. Readable by any member of the organization when the realm policy directoryVisibleToMembers is on (the default), and by organization owners/admins only when it is off; a caller who is not a member is refused either way. A reader without administrator authority receives only id, displayName and email per entry.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
search | query | string | no | Substring search over the member display name and email (case-insensitive). |
skip | query | number | no | Number of records to skip |
take | query | number | no | Number of records to take (max 100) |
| Status | Description | Body |
|---|---|---|
| 200 | List organization members (directory) | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
DELETE /api/identity-api/organizations/{orgId}/members/me
DELETE :orgId/members/me (organizations)
The caller leaves the organization. The owner of a shared organization must transfer first (403); the last active administrator or owner must grant another member the role first: 409 ORG_LAST_ADMIN / ORG_LAST_OWNER.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
PATCH /api/identity-api/organizations/{orgId}/members/{userId}
PATCH :orgId/members/:userId (organizations)
Changes a member's organization role (owner/admin; only an owner grants owner or admin, or changes the role of an owner or admin). Demoting the last active administrator or owner is refused: 409 ORG_LAST_ADMIN / ORG_LAST_OWNER.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
userId | path | string | yes |
Request body: application/json ChangeMemberRoleDto
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
GET /api/identity-api/organizations/{orgId}/scim-credentials
GET :orgId/scim-credentials (organizations)
Lists the organization's SCIM credentials (owner/admin), newest first. Never carries a token.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | SCIM credentials | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
POST /api/identity-api/organizations/{orgId}/scim-credentials
POST :orgId/scim-credentials (organizations)
Issues a SCIM provisioning credential for the organization (owner/admin). The token is shown once. At most two credentials are ACTIVE at a time: 409 SCIM_CREDENTIAL_LIMIT_REACHED.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes |
Request body: application/json IssueScimCredentialDto
| Status | Description | Body |
|---|---|---|
| 201 | Issued SCIM credential | application/json object |
| 400 | Bad Request | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
DELETE /api/identity-api/organizations/{orgId}/scim-credentials/{credentialId}
DELETE :orgId/scim-credentials/:credentialId (organizations)
Revokes a SCIM credential now (owner/admin). Revoking a revoked credential changes nothing.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
credentialId | path | string | yes | |
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
POST /api/identity-api/organizations/{orgId}/scim-credentials/{credentialId}/rotate
POST :orgId/scim-credentials/:credentialId/rotate (organizations)
Replaces an ACTIVE SCIM credential (owner/admin): a new token is issued and shown once; the old one stays accepted for the rotation overlap (at most 24 hours), then never. 409 SCIM_CREDENTIAL_NOT_ACTIVE otherwise.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
credentialId | path | string | yes | |
orgId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 201 | Rotated SCIM credential | application/json object |
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |
POST /api/identity-api/organizations/{orgId}/users/{userId}
POST :orgId/users/:userId (organizations)
Executes add user for organizations within the authenticated request context. Validate request DTO constraints and return the documented response contract.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
userId | path | string | yes |
Request body: application/json AddOrganizationMemberDto
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
DELETE /api/identity-api/organizations/{orgId}/users/{userId}
DELETE :orgId/users/:userId (organizations)
Removes a member from the organization (owner/admin). The owner cannot be removed, an admin cannot remove another admin, and the last active administrator or owner cannot be removed: 409 ORG_LAST_ADMIN / ORG_LAST_OWNER. Also honours a DELEGATED person context addressed to identity-api (workload:identity-api) whose delegation lends identity:user.organization-member.remove@1: the delegation must be live, of this organization, its resource scope empty, exactly org:<orgId>, or naming org:<orgId>/member:<userId> (a bound operation names exactly that member), and the realm's delegation policy hook must allow the exercise; the person's own owner/admin role is still required. Refusals: 403 DELEGATION_OPERATION_NOT_LENT, DELEGATION_TARGET_OUTSIDE_SCOPE, DELEGATION_POLICY_DENIED (the hook's code in details.policyCode), 503 DELEGATION_POLICY_UNAVAILABLE.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
userId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 204 | ||
| 401 | Unauthorized | application/json object |
| 403 | Forbidden | application/json object |
| 404 | Not Found | application/json object |
| 409 | Conflict | application/json object |