@epilot/sdk 2.20.70 → 2.20.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/definitions/ai-agents-runtime.json +1 -1
  2. package/definitions/ai-agents.json +1876 -450
  3. package/definitions/identity-runtime.json +1 -1
  4. package/definitions/identity.json +219 -34
  5. package/dist/ai-agents-5EG5UUP7.js +7 -0
  6. package/dist/ai-agents-HDLQXHEO.cjs +7 -0
  7. package/dist/{ai-agents-runtime-HOBR2KUZ.js → ai-agents-runtime-5AALEMLH.js} +1 -1
  8. package/dist/{ai-agents-runtime-T62OQDWE.cjs → ai-agents-runtime-H5UIFXVG.cjs} +2 -2
  9. package/dist/{ai-agents.d-B3TkP4mo.d.cts → ai-agents.d-BhnWCRxD.d.cts} +931 -48
  10. package/dist/{ai-agents.d-B3TkP4mo.d.ts → ai-agents.d-BhnWCRxD.d.ts} +931 -48
  11. package/dist/apis/access-token.cjs +6 -6
  12. package/dist/apis/access-token.js +1 -1
  13. package/dist/apis/address-suggestions.cjs +6 -6
  14. package/dist/apis/address-suggestions.js +1 -1
  15. package/dist/apis/address.cjs +6 -6
  16. package/dist/apis/address.js +1 -1
  17. package/dist/apis/ai-agents.cjs +8 -8
  18. package/dist/apis/ai-agents.d.cts +2 -2
  19. package/dist/apis/ai-agents.d.ts +2 -2
  20. package/dist/apis/ai-agents.js +2 -2
  21. package/dist/apis/app.cjs +6 -6
  22. package/dist/apis/app.js +1 -1
  23. package/dist/apis/audit-logs.cjs +6 -6
  24. package/dist/apis/audit-logs.js +1 -1
  25. package/dist/apis/automation.cjs +6 -6
  26. package/dist/apis/automation.js +1 -1
  27. package/dist/apis/billing.cjs +6 -6
  28. package/dist/apis/billing.js +1 -1
  29. package/dist/apis/blueprint-manifest.cjs +6 -6
  30. package/dist/apis/blueprint-manifest.js +1 -1
  31. package/dist/apis/calendar.cjs +6 -6
  32. package/dist/apis/calendar.js +1 -1
  33. package/dist/apis/chat.cjs +6 -6
  34. package/dist/apis/chat.js +1 -1
  35. package/dist/apis/configuration-hub.cjs +6 -6
  36. package/dist/apis/configuration-hub.js +1 -1
  37. package/dist/apis/consent.cjs +6 -6
  38. package/dist/apis/consent.js +1 -1
  39. package/dist/apis/customer-portal.cjs +6 -6
  40. package/dist/apis/customer-portal.js +1 -1
  41. package/dist/apis/dashboard.cjs +6 -6
  42. package/dist/apis/dashboard.js +1 -1
  43. package/dist/apis/data-governance.cjs +6 -6
  44. package/dist/apis/data-governance.js +1 -1
  45. package/dist/apis/deduplication.cjs +6 -6
  46. package/dist/apis/deduplication.js +1 -1
  47. package/dist/apis/design.cjs +6 -6
  48. package/dist/apis/design.js +1 -1
  49. package/dist/apis/document.cjs +6 -6
  50. package/dist/apis/document.js +1 -1
  51. package/dist/apis/email-settings.cjs +6 -6
  52. package/dist/apis/email-settings.js +1 -1
  53. package/dist/apis/email-template.cjs +6 -6
  54. package/dist/apis/email-template.js +1 -1
  55. package/dist/apis/entity-mapping.cjs +6 -6
  56. package/dist/apis/entity-mapping.js +1 -1
  57. package/dist/apis/entity.cjs +6 -6
  58. package/dist/apis/entity.js +1 -1
  59. package/dist/apis/environments.cjs +6 -6
  60. package/dist/apis/environments.js +1 -1
  61. package/dist/apis/event-catalog.cjs +6 -6
  62. package/dist/apis/event-catalog.js +1 -1
  63. package/dist/apis/external-values.cjs +6 -6
  64. package/dist/apis/external-values.js +1 -1
  65. package/dist/apis/file.cjs +6 -6
  66. package/dist/apis/file.js +1 -1
  67. package/dist/apis/iban.cjs +6 -6
  68. package/dist/apis/iban.js +1 -1
  69. package/dist/apis/identity.cjs +8 -8
  70. package/dist/apis/identity.js +2 -2
  71. package/dist/apis/integration-toolkit.cjs +6 -6
  72. package/dist/apis/integration-toolkit.js +1 -1
  73. package/dist/apis/journey.cjs +6 -6
  74. package/dist/apis/journey.js +1 -1
  75. package/dist/apis/kanban.cjs +6 -6
  76. package/dist/apis/kanban.js +1 -1
  77. package/dist/apis/message.cjs +6 -6
  78. package/dist/apis/message.js +1 -1
  79. package/dist/apis/metering.cjs +6 -6
  80. package/dist/apis/metering.js +1 -1
  81. package/dist/apis/notes.cjs +6 -6
  82. package/dist/apis/notes.js +1 -1
  83. package/dist/apis/notification.cjs +6 -6
  84. package/dist/apis/notification.js +1 -1
  85. package/dist/apis/organization.cjs +6 -6
  86. package/dist/apis/organization.js +1 -1
  87. package/dist/apis/partner-directory.cjs +6 -6
  88. package/dist/apis/partner-directory.js +1 -1
  89. package/dist/apis/permissions.cjs +6 -6
  90. package/dist/apis/permissions.js +1 -1
  91. package/dist/apis/phone-integration.cjs +6 -6
  92. package/dist/apis/phone-integration.js +1 -1
  93. package/dist/apis/pricing-tier.cjs +6 -6
  94. package/dist/apis/pricing-tier.js +1 -1
  95. package/dist/apis/pricing.cjs +6 -6
  96. package/dist/apis/pricing.js +1 -1
  97. package/dist/apis/purpose.cjs +6 -6
  98. package/dist/apis/purpose.js +1 -1
  99. package/dist/apis/query.cjs +6 -6
  100. package/dist/apis/query.js +1 -1
  101. package/dist/apis/sandbox.cjs +6 -6
  102. package/dist/apis/sandbox.js +1 -1
  103. package/dist/apis/sharing.cjs +6 -6
  104. package/dist/apis/sharing.js +1 -1
  105. package/dist/apis/snapshot.cjs +6 -6
  106. package/dist/apis/snapshot.js +1 -1
  107. package/dist/apis/submission.cjs +6 -6
  108. package/dist/apis/submission.js +1 -1
  109. package/dist/apis/target.cjs +6 -6
  110. package/dist/apis/target.js +1 -1
  111. package/dist/apis/targeting.cjs +6 -6
  112. package/dist/apis/targeting.js +1 -1
  113. package/dist/apis/template-variables.cjs +6 -6
  114. package/dist/apis/template-variables.js +1 -1
  115. package/dist/apis/user.cjs +6 -6
  116. package/dist/apis/user.js +1 -1
  117. package/dist/apis/validation-rules.cjs +6 -6
  118. package/dist/apis/validation-rules.js +1 -1
  119. package/dist/apis/webhooks.cjs +6 -6
  120. package/dist/apis/webhooks.js +1 -1
  121. package/dist/apis/workflow-definition.cjs +6 -6
  122. package/dist/apis/workflow-definition.js +1 -1
  123. package/dist/apis/workflow.cjs +6 -6
  124. package/dist/apis/workflow.js +1 -1
  125. package/dist/{chunk-4PXSWMYJ.cjs → chunk-5QSR7CYT.cjs} +4 -4
  126. package/dist/{chunk-YIK62G53.js → chunk-B42G3PU6.js} +4 -4
  127. package/dist/{chunk-3IBAPVLY.js → chunk-DSYS22AC.js} +1 -1
  128. package/dist/chunk-QVJTUU3Q.js +14 -0
  129. package/dist/chunk-S455SL5C.cjs +14 -0
  130. package/dist/{chunk-RPWTWCDC.cjs → chunk-TKRZK7V2.cjs} +1 -1
  131. package/dist/identity-F5XHYPXY.js +7 -0
  132. package/dist/identity-JDTGYAOV.cjs +7 -0
  133. package/dist/{identity-runtime-PFM5KQWA.js → identity-runtime-A4LSC77N.js} +1 -1
  134. package/dist/{identity-runtime-57DQPQWX.cjs → identity-runtime-GNE4EC7V.cjs} +2 -2
  135. package/dist/index.cjs +12 -12
  136. package/dist/index.d.cts +1 -1
  137. package/dist/index.d.ts +1 -1
  138. package/dist/index.js +3 -3
  139. package/docs/ai-agents.md +1407 -50
  140. package/docs/identity.md +58 -64
  141. package/package.json +1 -1
  142. package/dist/ai-agents-ME5VRKMY.cjs +0 -7
  143. package/dist/ai-agents-MY4QE4CP.js +0 -7
  144. package/dist/chunk-GD6KHA54.cjs +0 -14
  145. package/dist/chunk-IZ6OQZZ2.js +0 -14
  146. package/dist/identity-EG35NBZW.js +0 -7
  147. package/dist/identity-XMX3VFXR.cjs +0 -7
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/identity.json
4
+ var identity_default = '# Identity API\n\n- **Base URL:** `https://id.epilot.cloud`\n- **Full API Docs:** [https://docs.epilot.io/api/identity](https://docs.epilot.io/api/identity)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.identity.listClients(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/identity\'\n\nconst identityClient = getClient()\nauthorize(identityClient, () => \'<token>\')\nconst { data } = await identityClient.listClients(...)\n```\n\n## Operations\n\n**Operator Clients**\n- [`listClients`](#listclients)\n- [`createOidcClient`](#createoidcclient)\n- [`getOidcClient`](#getoidcclient)\n- [`updateClient`](#updateclient)\n- [`retireClient`](#retireclient)\n- [`activateClient`](#activateclient)\n- [`suspendClient`](#suspendclient)\n- [`rotateClientSecret`](#rotateclientsecret)\n\n**Operator Organizations**\n- [`listClientOrganizations`](#listclientorganizations)\n- [`enableClientOrganization`](#enableclientorganization)\n- [`getClientOrganization`](#getclientorganization)\n- [`updateClientOrganization`](#updateclientorganization)\n- [`revokeClientOrganization`](#revokeclientorganization)\n- [`suspendClientOrganization`](#suspendclientorganization)\n- [`activateClientOrganization`](#activateclientorganization)\n- [`getUserSubject`](#getusersubject)\n\n**Session**\n- [`createIdentitySession`](#createidentitysession)\n- [`deleteIdentitySession`](#deleteidentitysession)\n\n**Launch**\n- [`launchClient`](#launchclient)\n\n**Schemas**\n- [`Error`](#error)\n- [`PartnerClientId`](#partnerclientid)\n- [`OrgId`](#orgid)\n- [`UserId`](#userid)\n- [`Environment`](#environment)\n- [`PartnerClientStatus`](#partnerclientstatus)\n- [`Scope`](#scope)\n- [`HttpsUri`](#httpsuri)\n- [`PartnerClientCreate`](#partnerclientcreate)\n- [`PartnerClientUpdate`](#partnerclientupdate)\n- [`PartnerClient`](#partnerclient)\n- [`PartnerClientWithSecret`](#partnerclientwithsecret)\n- [`PartnerClientList`](#partnerclientlist)\n- [`StatusChangeRequest`](#statuschangerequest)\n- [`RotateSecretRequest`](#rotatesecretrequest)\n- [`AuthorizationPolicyInput`](#authorizationpolicyinput)\n- [`AuthorizationPolicy`](#authorizationpolicy)\n- [`OrgEnablementStatus`](#orgenablementstatus)\n- [`OrgEnablementCreate`](#orgenablementcreate)\n- [`OrgEnablementUpdate`](#orgenablementupdate)\n- [`OrgEnablement`](#orgenablement)\n- [`OrgEnablementList`](#orgenablementlist)\n- [`IdentitySession`](#identitysession)\n- [`UserSubject`](#usersubject)\n\n### `listClients`\n\nList registered partner clients. The client secret is never returned.\n\n`GET /v1/identity/operator/clients`\n\n```ts\nconst { data } = await client.listClients({\n partner_key: \'example\',\n status: \'example\',\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createOidcClient`\n\nCreate a partner client in `draft` status. The client secret is returned exactly once in this\nresponse and can never be read again; use `rotateClientSecret` to obtain a new one.\n\n`POST /v1/identity/operator/clients`\n\n```ts\nconst { data } = await client.createOidcClient(\n null,\n {\n partner_key: \'babelforce\',\n display_name: \'Babelforce\',\n description: \'string\',\n environment: \'dev\',\n redirect_uris: [\'https://partner.example.com/auth/callback\'],\n sector_identifier_uri: \'https://partner.example.com/auth/callback\',\n initiate_login_uri: \'https://partner.example.com/auth/callback\',\n launch_target_prefixes: [\'string\'],\n scopes_allowed: [\'openid\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string",\n "client_secret": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOidcClient`\n\nRead a partner client. The client secret is never returned.\n\n`GET /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.getOidcClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateClient`\n\nReplace the mutable configuration of a client. `config_version` must equal the current\nversion (compare-and-swap); a mismatch is rejected with `409`.\n\n`PUT /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.updateClient(\n {\n client_id: \'example\',\n },\n {\n config_version: 1,\n allow_sector_change: false,\n display_name: \'string\',\n description: \'string\',\n redirect_uris: [\'https://partner.example.com/auth/callback\'],\n sector_identifier_uri: \'https://partner.example.com/auth/callback\',\n initiate_login_uri: \'https://partner.example.com/auth/callback\',\n launch_target_prefixes: [\'string\'],\n scopes_allowed: [\'openid\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `retireClient`\n\nRetire a client. The record is kept as a tombstone, the `client_id` is never reused, every\norganization enablement is revoked and all provider-side artefacts are revoked.\n\n`DELETE /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.retireClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `activateClient`\n\nActivate a `draft` or `suspended` client. Validates that every redirect URI is an absolute\nHTTPS URL without fragment, that `scopes_allowed` contains `openid`, and that the\nauthentication method is `c\n\n`POST /v1/identity/operator/clients/{client_id}:activate`\n\n```ts\nconst { data } = await client.activateClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `suspendClient`\n\nImmediately block the client for every organization. Provider-side artefacts (codes, tokens,\ngrants) are revoked; the audit trail is kept. Reversible with `activateClient`.\n\n`POST /v1/identity/operator/clients/{client_id}:suspend`\n\n```ts\nconst { data } = await client.suspendClient(\n {\n client_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `rotateClientSecret`\n\nIssue a new client secret. The new secret is returned exactly once. The previous secret\nkeeps working until `previous_secret_expires_at` unless `compromise_mode` is set, in which\ncase it stops working\n\n`POST /v1/identity/operator/clients/{client_id}:rotateSecret`\n\n```ts\nconst { data } = await client.rotateClientSecret(\n {\n client_id: \'example\',\n },\n {\n compromise_mode: false,\n migration_window_seconds: 86400\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string",\n "client_secret": "string"\n}\n```\n\n</details>\n\n---\n\n### `listClientOrganizations`\n\nList the organizations enabled on a client, including suspended and revoked ones.\n\n`GET /v1/identity/operator/clients/{client_id}/organizations`\n\n```ts\nconst { data } = await client.listClientOrganizations({\n client_id: \'example\',\n status: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `enableClientOrganization`\n\nEnable an epilot organization on a client, recording the customer\'s authorization policy\n(version 1). `allowed_scopes` must contain `openid` and be a subset of the client\'s\n`scopes_allowed`.\n\n`POST /v1/identity/operator/clients/{client_id}/organizations`\n\n```ts\nconst { data } = await client.enableClientOrganization(\n {\n client_id: \'example\',\n },\n {\n org_id: \'739224\',\n authorization_policy: {\n mode: \'preauthorized\',\n population: \'all_current_org_members\',\n allowed_scopes: [\'openid\'],\n customer_approval_ref: \'string\',\n approved_at: \'1970-01-01T00:00:00.000Z\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `getClientOrganization`\n\nRead one organization enablement.\n\n`GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.getClientOrganization({\n client_id: \'example\',\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateClientOrganization`\n\nRecord a new version of the customer\'s authorization policy. `expected_policy_version` must\nequal the current version (compare-and-swap); a mismatch is rejected with `409`.\n\n`PUT /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.updateClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n expected_policy_version: 1,\n authorization_policy: {\n mode: \'preauthorized\',\n population: \'all_current_org_members\',\n allowed_scopes: [\'openid\'],\n customer_approval_ref: \'string\',\n approved_at: \'1970-01-01T00:00:00.000Z\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `revokeClientOrganization`\n\nRevoke an organization\'s enablement. The record is kept as an audited tombstone; future\nauthorizations for this organization fail with `access_denied` and provider-side artefacts\nbound to it are revok\n\n`DELETE /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.revokeClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `suspendClientOrganization`\n\nTemporarily block one organization on this client. Reversible with `activateClientOrganization`.\n\n`POST /v1/identity/operator/clients/{client_id}/organizations/{org_id}:suspend`\n\n```ts\nconst { data } = await client.suspendClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `activateClientOrganization`\n\nResume a suspended organization on this client. Revoked enablements cannot be re-activated; enabling the organization again (`POST \u2026/organizations`) replaces the revoked entry and continues its policy\n\n`POST /v1/identity/operator/clients/{client_id}/organizations/{org_id}:activate`\n\n```ts\nconst { data } = await client.activateClientOrganization({\n client_id: \'example\',\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `getUserSubject`\n\nThe pairwise `sub` this client receives for one epilot user, so the partner can bind the person on its\nside **before** the first sign-in (for example a Babelforce agent provisioned through SCIM with\n`\n\n`GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}/users/{user_id}:subject`\n\n```ts\nconst { data } = await client.getUserSubject({\n client_id: \'example\',\n org_id: \'example\',\n user_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "user_id": "100321",\n "sub": "v1.dGhpcy1pcy1hLWR1bW15LXN1YmplY3QtdmFsdWUtMDAx",\n "key_version": "v1",\n "sector": "portal.epilot.cloud"\n}\n```\n\n</details>\n\n---\n\n### `createIdentitySession`\n\nCalled by the epilot portal through the portal-host proxy after every persisted 360 session.\nValidates the 360 bearer token itself and mirrors it into the `identity_session` cookie\n(`HttpOnly; Secure;\n\n`GET /v1/identity/session`\n\n```ts\nconst { data } = await client.createIdentitySession()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "org_id": "739224",\n "user_id": "string",\n "expires_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteIdentitySession`\n\nClears the `identity_session` cookie. Called by the portal on logout.\n\n`DELETE /v1/identity/session`\n\n```ts\nconst { data } = await client.deleteIdentitySession()\n```\n\n---\n\n### `launchClient`\n\nOne validated place for partner start links (manager UI, hosted apps). Redirects the browser to the\nclient\'s registered `initiate_login_uri` with `iss` set to this issuer and, when given, the deep lin\n\n`GET /v1/identity/launch/{client_id}`\n\n```ts\nconst { data } = await client.launchClient({\n client_id: \'example\',\n target: \'example\',\n extra: \'example\',\n})\n```\n\n---\n\n## Schemas\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string\n details?: Record<string, unknown>[]\n}\n```\n\n### `PartnerClientId`\n\nOpaque client identifier, unique within the issuer, never reused\n\n```ts\ntype PartnerClientId = string\n```\n\n### `OrgId`\n\nepilot organization id, an opaque case-sensitive string\n\n```ts\ntype OrgId = string\n```\n\n### `UserId`\n\nepilot user id (`custom:ivy_user_id` in a 360 token). A user belongs to exactly one organization.\n\n```ts\ntype UserId = string\n```\n\n### `Environment`\n\nPartner-side environment this client belongs to\n\n```ts\ntype Environment = "dev" | "staging" | "production"\n```\n\n### `PartnerClientStatus`\n\n```ts\ntype PartnerClientStatus = "draft" | "active" | "suspended" | "retired"\n```\n\n### `Scope`\n\n```ts\ntype Scope = "openid" | "email" | "profile"\n```\n\n### `HttpsUri`\n\nAbsolute HTTPS URL without fragment\n\n```ts\ntype HttpsUri = string // uri\n```\n\n### `PartnerClientCreate`\n\n```ts\ntype PartnerClientCreate = {\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n scopes_allowed?: "openid" | "email" | "profile"[]\n}\n```\n\n### `PartnerClientUpdate`\n\n```ts\ntype PartnerClientUpdate = {\n config_version: number\n allow_sector_change?: boolean\n display_name: string\n description?: string\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n scopes_allowed: "openid" | "email" | "profile"[]\n}\n```\n\n### `PartnerClient`\n\n```ts\ntype PartnerClient = {\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `PartnerClientWithSecret`\n\n```ts\ntype PartnerClientWithSecret = {\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n client_secret: string\n}\n```\n\n### `PartnerClientList`\n\n```ts\ntype PartnerClientList = {\n results: Array<{\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n }>\n next_cursor?: string\n}\n```\n\n### `StatusChangeRequest`\n\n```ts\ntype StatusChangeRequest = {\n reason?: string\n}\n```\n\n### `RotateSecretRequest`\n\n```ts\ntype RotateSecretRequest = {\n compromise_mode?: boolean\n migration_window_seconds?: number\n}\n```\n\n### `AuthorizationPolicyInput`\n\n```ts\ntype AuthorizationPolicyInput = {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n}\n```\n\n### `AuthorizationPolicy`\n\n```ts\ntype AuthorizationPolicy = {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n version: number\n mandatory_claims: "org_id"[]\n recorded_by: string\n recorded_at: string // date-time\n}\n```\n\n### `OrgEnablementStatus`\n\n```ts\ntype OrgEnablementStatus = "active" | "suspended" | "revoked"\n```\n\n### `OrgEnablementCreate`\n\n```ts\ntype OrgEnablementCreate = {\n org_id: string\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n }\n}\n```\n\n### `OrgEnablementUpdate`\n\n```ts\ntype OrgEnablementUpdate = {\n expected_policy_version: number\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n }\n}\n```\n\n### `OrgEnablement`\n\n```ts\ntype OrgEnablement = {\n client_id: string\n org_id: string\n status: "active" | "suspended" | "revoked"\n status_reason?: string\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n version: number\n mandatory_claims: "org_id"[]\n recorded_by: string\n recorded_at: string // date-time\n }\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `OrgEnablementList`\n\n```ts\ntype OrgEnablementList = {\n results: Array<{\n client_id: string\n org_id: string\n status: "active" | "suspended" | "revoked"\n status_reason?: string\n authorization_policy: {\n mode?: { ... }\n population?: { ... }\n allowed_scopes: { ... }\n customer_approval_ref: { ... }\n approved_at: { ... }\n version: { ... }\n mandatory_claims: { ... }\n recorded_by: { ... }\n recorded_at: { ... }\n }\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n }>\n}\n```\n\n### `IdentitySession`\n\n```ts\ntype IdentitySession = {\n org_id: string\n user_id: string\n expires_at: string // date-time\n}\n```\n\n### `UserSubject`\n\n```ts\ntype UserSubject = {\n client_id: string\n org_id: string\n user_id: string\n sub: string\n key_version: string\n sector: string\n}\n```\n';
5
+ export {
6
+ identity_default as default
7
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/identity.json
4
+ var identity_default = '# Identity API\n\n- **Base URL:** `https://id.epilot.cloud`\n- **Full API Docs:** [https://docs.epilot.io/api/identity](https://docs.epilot.io/api/identity)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.identity.listClients(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/identity\'\n\nconst identityClient = getClient()\nauthorize(identityClient, () => \'<token>\')\nconst { data } = await identityClient.listClients(...)\n```\n\n## Operations\n\n**Operator Clients**\n- [`listClients`](#listclients)\n- [`createOidcClient`](#createoidcclient)\n- [`getOidcClient`](#getoidcclient)\n- [`updateClient`](#updateclient)\n- [`retireClient`](#retireclient)\n- [`activateClient`](#activateclient)\n- [`suspendClient`](#suspendclient)\n- [`rotateClientSecret`](#rotateclientsecret)\n\n**Operator Organizations**\n- [`listClientOrganizations`](#listclientorganizations)\n- [`enableClientOrganization`](#enableclientorganization)\n- [`getClientOrganization`](#getclientorganization)\n- [`updateClientOrganization`](#updateclientorganization)\n- [`revokeClientOrganization`](#revokeclientorganization)\n- [`suspendClientOrganization`](#suspendclientorganization)\n- [`activateClientOrganization`](#activateclientorganization)\n- [`getUserSubject`](#getusersubject)\n\n**Session**\n- [`createIdentitySession`](#createidentitysession)\n- [`deleteIdentitySession`](#deleteidentitysession)\n\n**Launch**\n- [`launchClient`](#launchclient)\n\n**Schemas**\n- [`Error`](#error)\n- [`PartnerClientId`](#partnerclientid)\n- [`OrgId`](#orgid)\n- [`UserId`](#userid)\n- [`Environment`](#environment)\n- [`PartnerClientStatus`](#partnerclientstatus)\n- [`Scope`](#scope)\n- [`HttpsUri`](#httpsuri)\n- [`PartnerClientCreate`](#partnerclientcreate)\n- [`PartnerClientUpdate`](#partnerclientupdate)\n- [`PartnerClient`](#partnerclient)\n- [`PartnerClientWithSecret`](#partnerclientwithsecret)\n- [`PartnerClientList`](#partnerclientlist)\n- [`StatusChangeRequest`](#statuschangerequest)\n- [`RotateSecretRequest`](#rotatesecretrequest)\n- [`AuthorizationPolicyInput`](#authorizationpolicyinput)\n- [`AuthorizationPolicy`](#authorizationpolicy)\n- [`OrgEnablementStatus`](#orgenablementstatus)\n- [`OrgEnablementCreate`](#orgenablementcreate)\n- [`OrgEnablementUpdate`](#orgenablementupdate)\n- [`OrgEnablement`](#orgenablement)\n- [`OrgEnablementList`](#orgenablementlist)\n- [`IdentitySession`](#identitysession)\n- [`UserSubject`](#usersubject)\n\n### `listClients`\n\nList registered partner clients. The client secret is never returned.\n\n`GET /v1/identity/operator/clients`\n\n```ts\nconst { data } = await client.listClients({\n partner_key: \'example\',\n status: \'example\',\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createOidcClient`\n\nCreate a partner client in `draft` status. The client secret is returned exactly once in this\nresponse and can never be read again; use `rotateClientSecret` to obtain a new one.\n\n`POST /v1/identity/operator/clients`\n\n```ts\nconst { data } = await client.createOidcClient(\n null,\n {\n partner_key: \'babelforce\',\n display_name: \'Babelforce\',\n description: \'string\',\n environment: \'dev\',\n redirect_uris: [\'https://partner.example.com/auth/callback\'],\n sector_identifier_uri: \'https://partner.example.com/auth/callback\',\n initiate_login_uri: \'https://partner.example.com/auth/callback\',\n launch_target_prefixes: [\'string\'],\n scopes_allowed: [\'openid\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string",\n "client_secret": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOidcClient`\n\nRead a partner client. The client secret is never returned.\n\n`GET /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.getOidcClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateClient`\n\nReplace the mutable configuration of a client. `config_version` must equal the current\nversion (compare-and-swap); a mismatch is rejected with `409`.\n\n`PUT /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.updateClient(\n {\n client_id: \'example\',\n },\n {\n config_version: 1,\n allow_sector_change: false,\n display_name: \'string\',\n description: \'string\',\n redirect_uris: [\'https://partner.example.com/auth/callback\'],\n sector_identifier_uri: \'https://partner.example.com/auth/callback\',\n initiate_login_uri: \'https://partner.example.com/auth/callback\',\n launch_target_prefixes: [\'string\'],\n scopes_allowed: [\'openid\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `retireClient`\n\nRetire a client. The record is kept as a tombstone, the `client_id` is never reused, every\norganization enablement is revoked and all provider-side artefacts are revoked.\n\n`DELETE /v1/identity/operator/clients/{client_id}`\n\n```ts\nconst { data } = await client.retireClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `activateClient`\n\nActivate a `draft` or `suspended` client. Validates that every redirect URI is an absolute\nHTTPS URL without fragment, that `scopes_allowed` contains `openid`, and that the\nauthentication method is `c\n\n`POST /v1/identity/operator/clients/{client_id}:activate`\n\n```ts\nconst { data } = await client.activateClient({\n client_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `suspendClient`\n\nImmediately block the client for every organization. Provider-side artefacts (codes, tokens,\ngrants) are revoked; the audit trail is kept. Reversible with `activateClient`.\n\n`POST /v1/identity/operator/clients/{client_id}:suspend`\n\n```ts\nconst { data } = await client.suspendClient(\n {\n client_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `rotateClientSecret`\n\nIssue a new client secret. The new secret is returned exactly once. The previous secret\nkeeps working until `previous_secret_expires_at` unless `compromise_mode` is set, in which\ncase it stops working\n\n`POST /v1/identity/operator/clients/{client_id}:rotateSecret`\n\n```ts\nconst { data } = await client.rotateClientSecret(\n {\n client_id: \'example\',\n },\n {\n compromise_mode: false,\n migration_window_seconds: 86400\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "partner_key": "string",\n "display_name": "string",\n "description": "string",\n "environment": "dev",\n "redirect_uris": ["https://partner.example.com/auth/callback"],\n "sector_identifier_uri": "https://partner.example.com/auth/callback",\n "initiate_login_uri": "https://partner.example.com/auth/callback",\n "launch_target_prefixes": ["string"],\n "token_endpoint_auth_method": "client_secret_basic",\n "grant_types": ["authorization_code"],\n "scopes_allowed": ["openid"],\n "status": "draft",\n "status_reason": "string",\n "config_version": 1,\n "secret_rotated_at": "1970-01-01T00:00:00.000Z",\n "previous_secret_expires_at": "1970-01-01T00:00:00.000Z",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string",\n "client_secret": "string"\n}\n```\n\n</details>\n\n---\n\n### `listClientOrganizations`\n\nList the organizations enabled on a client, including suspended and revoked ones.\n\n`GET /v1/identity/operator/clients/{client_id}/organizations`\n\n```ts\nconst { data } = await client.listClientOrganizations({\n client_id: \'example\',\n status: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `enableClientOrganization`\n\nEnable an epilot organization on a client, recording the customer\'s authorization policy\n(version 1). `allowed_scopes` must contain `openid` and be a subset of the client\'s\n`scopes_allowed`.\n\n`POST /v1/identity/operator/clients/{client_id}/organizations`\n\n```ts\nconst { data } = await client.enableClientOrganization(\n {\n client_id: \'example\',\n },\n {\n org_id: \'739224\',\n authorization_policy: {\n mode: \'preauthorized\',\n population: \'all_current_org_members\',\n allowed_scopes: [\'openid\'],\n customer_approval_ref: \'string\',\n approved_at: \'1970-01-01T00:00:00.000Z\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `getClientOrganization`\n\nRead one organization enablement.\n\n`GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.getClientOrganization({\n client_id: \'example\',\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateClientOrganization`\n\nRecord a new version of the customer\'s authorization policy. `expected_policy_version` must\nequal the current version (compare-and-swap); a mismatch is rejected with `409`.\n\n`PUT /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.updateClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n expected_policy_version: 1,\n authorization_policy: {\n mode: \'preauthorized\',\n population: \'all_current_org_members\',\n allowed_scopes: [\'openid\'],\n customer_approval_ref: \'string\',\n approved_at: \'1970-01-01T00:00:00.000Z\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `revokeClientOrganization`\n\nRevoke an organization\'s enablement. The record is kept as an audited tombstone; future\nauthorizations for this organization fail with `access_denied` and provider-side artefacts\nbound to it are revok\n\n`DELETE /v1/identity/operator/clients/{client_id}/organizations/{org_id}`\n\n```ts\nconst { data } = await client.revokeClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `suspendClientOrganization`\n\nTemporarily block one organization on this client. Reversible with `activateClientOrganization`.\n\n`POST /v1/identity/operator/clients/{client_id}/organizations/{org_id}:suspend`\n\n```ts\nconst { data } = await client.suspendClientOrganization(\n {\n client_id: \'example\',\n org_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `activateClientOrganization`\n\nResume a suspended organization on this client. Revoked enablements cannot be re-activated; enabling the organization again (`POST \u2026/organizations`) replaces the revoked entry and continues its policy\n\n`POST /v1/identity/operator/clients/{client_id}/organizations/{org_id}:activate`\n\n```ts\nconst { data } = await client.activateClientOrganization({\n client_id: \'example\',\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "status": "active",\n "status_reason": "string",\n "authorization_policy": {\n "mode": "preauthorized",\n "population": "all_current_org_members",\n "allowed_scopes": ["openid"],\n "customer_approval_ref": "string",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "version": 1,\n "mandatory_claims": ["org_id"],\n "recorded_by": "string",\n "recorded_at": "1970-01-01T00:00:00.000Z"\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "updated_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `getUserSubject`\n\nThe pairwise `sub` this client receives for one epilot user, so the partner can bind the person on its\nside **before** the first sign-in (for example a Babelforce agent provisioned through SCIM with\n`\n\n`GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}/users/{user_id}:subject`\n\n```ts\nconst { data } = await client.getUserSubject({\n client_id: \'example\',\n org_id: \'example\',\n user_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "client_id": "bf-prod-x7k2",\n "org_id": "739224",\n "user_id": "100321",\n "sub": "v1.dGhpcy1pcy1hLWR1bW15LXN1YmplY3QtdmFsdWUtMDAx",\n "key_version": "v1",\n "sector": "portal.epilot.cloud"\n}\n```\n\n</details>\n\n---\n\n### `createIdentitySession`\n\nCalled by the epilot portal through the portal-host proxy after every persisted 360 session.\nValidates the 360 bearer token itself and mirrors it into the `identity_session` cookie\n(`HttpOnly; Secure;\n\n`GET /v1/identity/session`\n\n```ts\nconst { data } = await client.createIdentitySession()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "org_id": "739224",\n "user_id": "string",\n "expires_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteIdentitySession`\n\nClears the `identity_session` cookie. Called by the portal on logout.\n\n`DELETE /v1/identity/session`\n\n```ts\nconst { data } = await client.deleteIdentitySession()\n```\n\n---\n\n### `launchClient`\n\nOne validated place for partner start links (manager UI, hosted apps). Redirects the browser to the\nclient\'s registered `initiate_login_uri` with `iss` set to this issuer and, when given, the deep lin\n\n`GET /v1/identity/launch/{client_id}`\n\n```ts\nconst { data } = await client.launchClient({\n client_id: \'example\',\n target: \'example\',\n extra: \'example\',\n})\n```\n\n---\n\n## Schemas\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string\n details?: Record<string, unknown>[]\n}\n```\n\n### `PartnerClientId`\n\nOpaque client identifier, unique within the issuer, never reused\n\n```ts\ntype PartnerClientId = string\n```\n\n### `OrgId`\n\nepilot organization id, an opaque case-sensitive string\n\n```ts\ntype OrgId = string\n```\n\n### `UserId`\n\nepilot user id (`custom:ivy_user_id` in a 360 token). A user belongs to exactly one organization.\n\n```ts\ntype UserId = string\n```\n\n### `Environment`\n\nPartner-side environment this client belongs to\n\n```ts\ntype Environment = "dev" | "staging" | "production"\n```\n\n### `PartnerClientStatus`\n\n```ts\ntype PartnerClientStatus = "draft" | "active" | "suspended" | "retired"\n```\n\n### `Scope`\n\n```ts\ntype Scope = "openid" | "email" | "profile"\n```\n\n### `HttpsUri`\n\nAbsolute HTTPS URL without fragment\n\n```ts\ntype HttpsUri = string // uri\n```\n\n### `PartnerClientCreate`\n\n```ts\ntype PartnerClientCreate = {\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n scopes_allowed?: "openid" | "email" | "profile"[]\n}\n```\n\n### `PartnerClientUpdate`\n\n```ts\ntype PartnerClientUpdate = {\n config_version: number\n allow_sector_change?: boolean\n display_name: string\n description?: string\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n scopes_allowed: "openid" | "email" | "profile"[]\n}\n```\n\n### `PartnerClient`\n\n```ts\ntype PartnerClient = {\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `PartnerClientWithSecret`\n\n```ts\ntype PartnerClientWithSecret = {\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n client_secret: string\n}\n```\n\n### `PartnerClientList`\n\n```ts\ntype PartnerClientList = {\n results: Array<{\n client_id: string\n partner_key: string\n display_name: string\n description?: string\n environment: "dev" | "staging" | "production"\n redirect_uris: string // uri[]\n sector_identifier_uri?: string // uri\n initiate_login_uri?: string // uri\n launch_target_prefixes?: string[]\n token_endpoint_auth_method: "client_secret_basic"\n grant_types: "authorization_code"[]\n scopes_allowed: "openid" | "email" | "profile"[]\n status: "draft" | "active" | "suspended" | "retired"\n status_reason?: string\n config_version: number\n secret_rotated_at?: string // date-time\n previous_secret_expires_at?: string // date-time\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n }>\n next_cursor?: string\n}\n```\n\n### `StatusChangeRequest`\n\n```ts\ntype StatusChangeRequest = {\n reason?: string\n}\n```\n\n### `RotateSecretRequest`\n\n```ts\ntype RotateSecretRequest = {\n compromise_mode?: boolean\n migration_window_seconds?: number\n}\n```\n\n### `AuthorizationPolicyInput`\n\n```ts\ntype AuthorizationPolicyInput = {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n}\n```\n\n### `AuthorizationPolicy`\n\n```ts\ntype AuthorizationPolicy = {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n version: number\n mandatory_claims: "org_id"[]\n recorded_by: string\n recorded_at: string // date-time\n}\n```\n\n### `OrgEnablementStatus`\n\n```ts\ntype OrgEnablementStatus = "active" | "suspended" | "revoked"\n```\n\n### `OrgEnablementCreate`\n\n```ts\ntype OrgEnablementCreate = {\n org_id: string\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n }\n}\n```\n\n### `OrgEnablementUpdate`\n\n```ts\ntype OrgEnablementUpdate = {\n expected_policy_version: number\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n }\n}\n```\n\n### `OrgEnablement`\n\n```ts\ntype OrgEnablement = {\n client_id: string\n org_id: string\n status: "active" | "suspended" | "revoked"\n status_reason?: string\n authorization_policy: {\n mode?: "preauthorized"\n population?: "all_current_org_members"\n allowed_scopes: "openid" | "email" | "profile"[]\n customer_approval_ref: string\n approved_at: string // date-time\n version: number\n mandatory_claims: "org_id"[]\n recorded_by: string\n recorded_at: string // date-time\n }\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `OrgEnablementList`\n\n```ts\ntype OrgEnablementList = {\n results: Array<{\n client_id: string\n org_id: string\n status: "active" | "suspended" | "revoked"\n status_reason?: string\n authorization_policy: {\n mode?: { ... }\n population?: { ... }\n allowed_scopes: { ... }\n customer_approval_ref: { ... }\n approved_at: { ... }\n version: { ... }\n mandatory_claims: { ... }\n recorded_by: { ... }\n recorded_at: { ... }\n }\n created_at: string // date-time\n updated_at: string // date-time\n created_by?: string\n updated_by?: string\n }>\n}\n```\n\n### `IdentitySession`\n\n```ts\ntype IdentitySession = {\n org_id: string\n user_id: string\n expires_at: string // date-time\n}\n```\n\n### `UserSubject`\n\n```ts\ntype UserSubject = {\n client_id: string\n org_id: string\n user_id: string\n sub: string\n key_version: string\n sector: string\n}\n```\n';
5
+
6
+
7
+ exports.default = identity_default;
@@ -1,5 +1,5 @@
1
1
  import {
2
2
  require_identity_runtime
3
- } from "./chunk-3IBAPVLY.js";
3
+ } from "./chunk-DSYS22AC.js";
4
4
  import "./chunk-YPSWSI3M.js";
5
5
  export default require_identity_runtime();
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkRPWTWCDCcjs = require('./chunk-RPWTWCDC.cjs');
3
+ var _chunkTKRZK7V2cjs = require('./chunk-TKRZK7V2.cjs');
4
4
  require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkRPWTWCDCcjs.require_identity_runtime.call(void 0, );
5
+ exports. default = _chunkTKRZK7V2cjs.require_identity_runtime.call(void 0, );
package/dist/index.cjs CHANGED
@@ -87,7 +87,7 @@ var _chunk424JLS5Gcjs = require('./chunk-424JLS5G.cjs');
87
87
  var _chunkYO4M3BZLcjs = require('./chunk-YO4M3BZL.cjs');
88
88
 
89
89
 
90
- var _chunkRPWTWCDCcjs = require('./chunk-RPWTWCDC.cjs');
90
+ var _chunkTKRZK7V2cjs = require('./chunk-TKRZK7V2.cjs');
91
91
 
92
92
 
93
93
  var _chunkQDPZZUG3cjs = require('./chunk-QDPZZUG3.cjs');
@@ -153,7 +153,7 @@ var _chunkLKRBFBFNcjs = require('./chunk-LKRBFBFN.cjs');
153
153
  var _chunkT67ZXTVGcjs = require('./chunk-T67ZXTVG.cjs');
154
154
 
155
155
 
156
- var _chunkGD6KHA54cjs = require('./chunk-GD6KHA54.cjs');
156
+ var _chunkS455SL5Ccjs = require('./chunk-S455SL5C.cjs');
157
157
 
158
158
 
159
159
  var _chunkN2P6RELZcjs = require('./chunk-N2P6RELZ.cjs');
@@ -170,7 +170,7 @@ var _chunkWOUASZJWcjs = require('./chunk-WOUASZJW.cjs');
170
170
 
171
171
 
172
172
 
173
- var _chunk4PXSWMYJcjs = require('./chunk-4PXSWMYJ.cjs');
173
+ var _chunk5QSR7CYTcjs = require('./chunk-5QSR7CYT.cjs');
174
174
 
175
175
 
176
176
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -244,7 +244,7 @@ var resolveClient = (params) => {
244
244
  }
245
245
  if (!entry.instance) {
246
246
  const definition = entry.loader();
247
- entry.instance = _chunk4PXSWMYJcjs.createApiClient.call(void 0, {
247
+ entry.instance = _chunk5QSR7CYTcjs.createApiClient.call(void 0, {
248
248
  definition,
249
249
  token: state.token,
250
250
  headers: state.globalHeaders,
@@ -277,7 +277,7 @@ var resetAllClients = (registry) => {
277
277
  };
278
278
 
279
279
  // src/apis/_registry.ts
280
- var expandDef = (mod) => _chunk4PXSWMYJcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
280
+ var expandDef = (mod) => _chunk5QSR7CYTcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
281
281
  var registerBuiltinApis = (registry) => {
282
282
  registerApi({
283
283
  registry,
@@ -297,7 +297,7 @@ var registerBuiltinApis = (registry) => {
297
297
  registerApi({
298
298
  registry,
299
299
  name: "aiAgents",
300
- loader: () => expandDef(_chunkGD6KHA54cjs.require_ai_agents_runtime.call(void 0, ))
300
+ loader: () => expandDef(_chunkS455SL5Ccjs.require_ai_agents_runtime.call(void 0, ))
301
301
  });
302
302
  registerApi({
303
303
  registry,
@@ -422,7 +422,7 @@ var registerBuiltinApis = (registry) => {
422
422
  registerApi({
423
423
  registry,
424
424
  name: "identity",
425
- loader: () => expandDef(_chunkRPWTWCDCcjs.require_identity_runtime.call(void 0, ))
425
+ loader: () => expandDef(_chunkTKRZK7V2cjs.require_identity_runtime.call(void 0, ))
426
426
  });
427
427
  registerApi({
428
428
  registry,
@@ -640,9 +640,9 @@ var createSDK = () => {
640
640
  const available = [...registry.keys()].join(", ");
641
641
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
642
642
  }
643
- return _chunk4PXSWMYJcjs.createApiHandle.call(void 0, {
643
+ return _chunk5QSR7CYTcjs.createApiHandle.call(void 0, {
644
644
  resolveClient: () => resolveClient({ registry, name, state }),
645
- createClient: () => _chunk4PXSWMYJcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
645
+ createClient: () => _chunk5QSR7CYTcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
646
646
  apiName: name
647
647
  });
648
648
  };
@@ -690,9 +690,9 @@ var createSDK = () => {
690
690
  return interceptorUse;
691
691
  }
692
692
  case "help":
693
- return (apiName) => _chunk4PXSWMYJcjs.help.call(void 0, apiName);
693
+ return (apiName) => _chunk5QSR7CYTcjs.help.call(void 0, apiName);
694
694
  case "openapi":
695
- return (apiName) => _chunk4PXSWMYJcjs.openapi.call(void 0, apiName);
695
+ return (apiName) => _chunk5QSR7CYTcjs.openapi.call(void 0, apiName);
696
696
  case "then":
697
697
  case "catch":
698
698
  case "finally":
@@ -722,4 +722,4 @@ var epilot = createSDK();
722
722
 
723
723
 
724
724
 
725
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk4PXSWMYJcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk4PXSWMYJcjs.help; exports.openapi = _chunk4PXSWMYJcjs.openapi;
725
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk5QSR7CYTcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk5QSR7CYTcjs.help; exports.openapi = _chunk5QSR7CYTcjs.openapi;
package/dist/index.d.cts CHANGED
@@ -6,7 +6,7 @@ export { I as Interceptor, O as OverridesConfig, a as authorize } from './types-
6
6
  import { C as Client } from './access-token.d-Yy-yrft_.cjs';
7
7
  import { C as Client$1 } from './address.d-CwAPOVxa.cjs';
8
8
  import { C as Client$2 } from './address-suggestions.d-_YwTOR-9.cjs';
9
- import { C as Client$3 } from './ai-agents.d-B3TkP4mo.cjs';
9
+ import { C as Client$3 } from './ai-agents.d-BhnWCRxD.cjs';
10
10
  import { C as Client$4 } from './app.d-CZELwNO3.cjs';
11
11
  import { C as Client$5 } from './audit-logs.d-BRToFqeX.cjs';
12
12
  import { C as Client$6 } from './automation.d-B8g3nYp-.cjs';
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { I as Interceptor, O as OverridesConfig, a as authorize } from './types-
6
6
  import { C as Client } from './access-token.d-Yy-yrft_.js';
7
7
  import { C as Client$1 } from './address.d-CwAPOVxa.js';
8
8
  import { C as Client$2 } from './address-suggestions.d-_YwTOR-9.js';
9
- import { C as Client$3 } from './ai-agents.d-B3TkP4mo.js';
9
+ import { C as Client$3 } from './ai-agents.d-BhnWCRxD.js';
10
10
  import { C as Client$4 } from './app.d-CZELwNO3.js';
11
11
  import { C as Client$5 } from './audit-logs.d-BRToFqeX.js';
12
12
  import { C as Client$6 } from './automation.d-B8g3nYp-.js';
package/dist/index.js CHANGED
@@ -87,7 +87,7 @@ import {
87
87
  } from "./chunk-5MFHAXBT.js";
88
88
  import {
89
89
  require_identity_runtime
90
- } from "./chunk-3IBAPVLY.js";
90
+ } from "./chunk-DSYS22AC.js";
91
91
  import {
92
92
  require_integration_toolkit_runtime
93
93
  } from "./chunk-I6IC54PD.js";
@@ -153,7 +153,7 @@ import {
153
153
  } from "./chunk-H45V55VT.js";
154
154
  import {
155
155
  require_ai_agents_runtime
156
- } from "./chunk-IZ6OQZZ2.js";
156
+ } from "./chunk-QVJTUU3Q.js";
157
157
  import {
158
158
  require_app_runtime
159
159
  } from "./chunk-QHWCHWQT.js";
@@ -170,7 +170,7 @@ import {
170
170
  expand,
171
171
  help,
172
172
  openapi
173
- } from "./chunk-YIK62G53.js";
173
+ } from "./chunk-B42G3PU6.js";
174
174
  import {
175
175
  __require
176
176
  } from "./chunk-YPSWSI3M.js";