@epilot/sdk 2.20.83 → 2.20.84

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 (138) hide show
  1. package/definitions/phone-integration-runtime.json +1 -1
  2. package/definitions/phone-integration.json +1485 -341
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.js +1 -1
  13. package/dist/apis/audit-logs.cjs +6 -6
  14. package/dist/apis/audit-logs.js +1 -1
  15. package/dist/apis/automation.cjs +6 -6
  16. package/dist/apis/automation.js +1 -1
  17. package/dist/apis/billing.cjs +6 -6
  18. package/dist/apis/billing.js +1 -1
  19. package/dist/apis/blueprint-manifest.cjs +6 -6
  20. package/dist/apis/blueprint-manifest.js +1 -1
  21. package/dist/apis/calendar.cjs +6 -6
  22. package/dist/apis/calendar.js +1 -1
  23. package/dist/apis/chat.cjs +6 -6
  24. package/dist/apis/chat.js +1 -1
  25. package/dist/apis/configuration-hub.cjs +6 -6
  26. package/dist/apis/configuration-hub.js +1 -1
  27. package/dist/apis/consent.cjs +6 -6
  28. package/dist/apis/consent.js +1 -1
  29. package/dist/apis/customer-portal.cjs +6 -6
  30. package/dist/apis/customer-portal.js +1 -1
  31. package/dist/apis/dashboard.cjs +6 -6
  32. package/dist/apis/dashboard.js +1 -1
  33. package/dist/apis/data-governance.cjs +6 -6
  34. package/dist/apis/data-governance.js +1 -1
  35. package/dist/apis/deduplication.cjs +6 -6
  36. package/dist/apis/deduplication.js +1 -1
  37. package/dist/apis/design.cjs +6 -6
  38. package/dist/apis/design.js +1 -1
  39. package/dist/apis/document.cjs +6 -6
  40. package/dist/apis/document.js +1 -1
  41. package/dist/apis/email-settings.cjs +6 -6
  42. package/dist/apis/email-settings.js +1 -1
  43. package/dist/apis/email-template.cjs +6 -6
  44. package/dist/apis/email-template.js +1 -1
  45. package/dist/apis/entity-mapping.cjs +6 -6
  46. package/dist/apis/entity-mapping.js +1 -1
  47. package/dist/apis/entity.cjs +6 -6
  48. package/dist/apis/entity.js +1 -1
  49. package/dist/apis/environments.cjs +6 -6
  50. package/dist/apis/environments.js +1 -1
  51. package/dist/apis/event-catalog.cjs +6 -6
  52. package/dist/apis/event-catalog.js +1 -1
  53. package/dist/apis/external-values.cjs +6 -6
  54. package/dist/apis/external-values.js +1 -1
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/identity.cjs +6 -6
  60. package/dist/apis/identity.js +1 -1
  61. package/dist/apis/integration-toolkit.cjs +6 -6
  62. package/dist/apis/integration-toolkit.js +1 -1
  63. package/dist/apis/journey.cjs +6 -6
  64. package/dist/apis/journey.js +1 -1
  65. package/dist/apis/kanban.cjs +6 -6
  66. package/dist/apis/kanban.js +1 -1
  67. package/dist/apis/message.cjs +6 -6
  68. package/dist/apis/message.js +1 -1
  69. package/dist/apis/metering.cjs +6 -6
  70. package/dist/apis/metering.js +1 -1
  71. package/dist/apis/notes.cjs +6 -6
  72. package/dist/apis/notes.js +1 -1
  73. package/dist/apis/notification.cjs +6 -6
  74. package/dist/apis/notification.js +1 -1
  75. package/dist/apis/organization.cjs +6 -6
  76. package/dist/apis/organization.js +1 -1
  77. package/dist/apis/partner-directory.cjs +6 -6
  78. package/dist/apis/partner-directory.js +1 -1
  79. package/dist/apis/permissions.cjs +6 -6
  80. package/dist/apis/permissions.js +1 -1
  81. package/dist/apis/phone-integration.cjs +8 -8
  82. package/dist/apis/phone-integration.d.cts +2 -2
  83. package/dist/apis/phone-integration.d.ts +2 -2
  84. package/dist/apis/phone-integration.js +2 -2
  85. package/dist/apis/pricing-tier.cjs +6 -6
  86. package/dist/apis/pricing-tier.js +1 -1
  87. package/dist/apis/pricing.cjs +6 -6
  88. package/dist/apis/pricing.js +1 -1
  89. package/dist/apis/purpose.cjs +6 -6
  90. package/dist/apis/purpose.js +1 -1
  91. package/dist/apis/query.cjs +6 -6
  92. package/dist/apis/query.js +1 -1
  93. package/dist/apis/sandbox.cjs +6 -6
  94. package/dist/apis/sandbox.js +1 -1
  95. package/dist/apis/sharing.cjs +6 -6
  96. package/dist/apis/sharing.js +1 -1
  97. package/dist/apis/snapshot.cjs +6 -6
  98. package/dist/apis/snapshot.js +1 -1
  99. package/dist/apis/submission.cjs +6 -6
  100. package/dist/apis/submission.js +1 -1
  101. package/dist/apis/target.cjs +6 -6
  102. package/dist/apis/target.js +1 -1
  103. package/dist/apis/targeting.cjs +6 -6
  104. package/dist/apis/targeting.js +1 -1
  105. package/dist/apis/template-variables.cjs +6 -6
  106. package/dist/apis/template-variables.js +1 -1
  107. package/dist/apis/user.cjs +6 -6
  108. package/dist/apis/user.js +1 -1
  109. package/dist/apis/validation-rules.cjs +6 -6
  110. package/dist/apis/validation-rules.js +1 -1
  111. package/dist/apis/webhooks.cjs +6 -6
  112. package/dist/apis/webhooks.js +1 -1
  113. package/dist/apis/workflow-definition.cjs +6 -6
  114. package/dist/apis/workflow-definition.js +1 -1
  115. package/dist/apis/workflow.cjs +6 -6
  116. package/dist/apis/workflow.js +1 -1
  117. package/dist/chunk-E6N33SVB.js +14 -0
  118. package/dist/{chunk-KGIFSOWS.cjs → chunk-T4WYY7OU.cjs} +2 -2
  119. package/dist/chunk-U4AOZZGW.cjs +14 -0
  120. package/dist/{chunk-HFBZFYTU.js → chunk-ZPG2RR4J.js} +2 -2
  121. package/dist/index.cjs +10 -10
  122. package/dist/index.d.cts +1 -1
  123. package/dist/index.d.ts +1 -1
  124. package/dist/index.js +2 -2
  125. package/dist/phone-integration-6GDKV5EH.js +7 -0
  126. package/dist/phone-integration-UENU7EVN.cjs +7 -0
  127. package/dist/{phone-integration-runtime-7PWKKUBM.cjs → phone-integration-runtime-4SDHGFMR.cjs} +2 -2
  128. package/dist/{phone-integration-runtime-5VAA6Q4L.js → phone-integration-runtime-PWUZOJVD.js} +1 -1
  129. package/dist/phone-integration.d-Cx4ZOtzD.d.cts +1429 -0
  130. package/dist/phone-integration.d-Cx4ZOtzD.d.ts +1429 -0
  131. package/docs/phone-integration.md +772 -0
  132. package/package.json +1 -1
  133. package/dist/chunk-NHA2IXWN.cjs +0 -14
  134. package/dist/chunk-QFTXKO2I.js +0 -14
  135. package/dist/phone-integration-ARSGAHNJ.cjs +0 -7
  136. package/dist/phone-integration-MGH7LYID.js +0 -7
  137. package/dist/phone-integration.d-BNqwHuQ6.d.cts +0 -623
  138. package/dist/phone-integration.d-BNqwHuQ6.d.ts +0 -623
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.20.83",
3
+ "version": "2.20.84",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,14 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
4
-
5
- // src/definitions/phone-integration-runtime.json
6
- var require_phone_integration_runtime = _chunkNJK5F5TFcjs.__commonJS.call(void 0, {
7
- "src/definitions/phone-integration-runtime.json"(exports, module) {
8
- module.exports = { s: "https://phone-integration-api.sls.epilot.io", o: [["batchSearchCustomers", "get", "/v1/customer:batchSearch", [["id", "q", false, "form", true], ["customer_number", "q", false, "form", true], ["external_id", "q", false, "form", true], ["phone_number", "q", false, "form", true], ["email", "q", false, "form", true], ["x-trace-id", "h"]]], ["getManagerStatus", "get", "/v1/manager/status"], ["listPhoneAgents", "get", "/v1/manager/agents"], ["assignPhoneAgent", "post", "/v1/manager/agents", null, 1], ["removePhoneAgent", "delete", "/v1/manager/agents/{user_id}"], ["listProviderSetups", "get", "/v1/operator/provider-setups"], ["getProviderSetup", "get", "/v1/operator/organizations/{org_id}/provider"], ["setupProvider", "post", "/v1/operator/organizations/{org_id}/provider:setup", null, 1]], v: "3.0.3", pp: { "/v1/manager/agents/{user_id}": [["user_id", "p", true]], "/v1/operator/organizations/{org_id}/provider": [["org_id", "p", true]], "/v1/operator/organizations/{org_id}/provider:setup": [["org_id", "p", true]] } };
9
- }
10
- });
11
-
12
-
13
-
14
- exports.require_phone_integration_runtime = require_phone_integration_runtime;
@@ -1,14 +0,0 @@
1
- import {
2
- __commonJS
3
- } from "./chunk-YPSWSI3M.js";
4
-
5
- // src/definitions/phone-integration-runtime.json
6
- var require_phone_integration_runtime = __commonJS({
7
- "src/definitions/phone-integration-runtime.json"(exports, module) {
8
- module.exports = { s: "https://phone-integration-api.sls.epilot.io", o: [["batchSearchCustomers", "get", "/v1/customer:batchSearch", [["id", "q", false, "form", true], ["customer_number", "q", false, "form", true], ["external_id", "q", false, "form", true], ["phone_number", "q", false, "form", true], ["email", "q", false, "form", true], ["x-trace-id", "h"]]], ["getManagerStatus", "get", "/v1/manager/status"], ["listPhoneAgents", "get", "/v1/manager/agents"], ["assignPhoneAgent", "post", "/v1/manager/agents", null, 1], ["removePhoneAgent", "delete", "/v1/manager/agents/{user_id}"], ["listProviderSetups", "get", "/v1/operator/provider-setups"], ["getProviderSetup", "get", "/v1/operator/organizations/{org_id}/provider"], ["setupProvider", "post", "/v1/operator/organizations/{org_id}/provider:setup", null, 1]], v: "3.0.3", pp: { "/v1/manager/agents/{user_id}": [["user_id", "p", true]], "/v1/operator/organizations/{org_id}/provider": [["org_id", "p", true]], "/v1/operator/organizations/{org_id}/provider:setup": [["org_id", "p", true]] } };
9
- }
10
- });
11
-
12
- export {
13
- require_phone_integration_runtime
14
- };
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/phone-integration.json
4
- var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**manager**\n- [`getManagerStatus`](#getmanagerstatus)\n- [`listPhoneAgents`](#listphoneagents)\n- [`assignPhoneAgent`](#assignphoneagent)\n- [`removePhoneAgent`](#removephoneagent)\n\n**operator**\n- [`listProviderSetups`](#listprovidersetups)\n- [`getProviderSetup`](#getprovidersetup)\n- [`setupProvider`](#setupprovider)\n\n**Schemas**\n- [`ManagerStatus`](#managerstatus)\n- [`PhoneAgent`](#phoneagent)\n- [`AssignPhoneAgentRequest`](#assignphoneagentrequest)\n- [`ProviderSetup`](#providersetup)\n- [`ProviderSetupSummary`](#providersetupsummary)\n- [`ProviderSetupRequest`](#providersetuprequest)\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getManagerStatus`\n\nWhether the caller\'s organization is ready for phone agents: the telephony provider tenant\nexists and is configured. The control center shows a "not set up" state when `ready` is false.\nRequires `phon\n\n`GET /v1/manager/status`\n\n```ts\nconst { data } = await client.getManagerStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "ready": true,\n "reasons": ["provider_tenant_missing"]\n}\n```\n\n</details>\n\n---\n\n### `listPhoneAgents`\n\nOrganization members who hold the phone (`phone:use`), each joined with the provider user behind\nthem. Requires `phone:manage`.\n\n`GET /v1/manager/agents`\n\n```ts\nconst { data } = await client.listPhoneAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPhoneAgent`\n\nGives an organization member the phone. In order: the member is verified with user-api, their\npairwise subject for the provider is read from identity-api, the provider user is created (or\nfound) bound\n\n`POST /v1/manager/agents`\n\n```ts\nconst { data } = await client.assignPhoneAgent(\n null,\n {\n user_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `removePhoneAgent`\n\nTakes the phone away from a member: the `phone_agent` role is removed first, then the provider\nuser is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.\n\n`DELETE /v1/manager/agents/{user_id}`\n\n```ts\nconst { data } = await client.removePhoneAgent({\n user_id: \'example\',\n})\n```\n\n---\n\n### `listProviderSetups`\n\nEvery organization that has a telephony provider tenant, for the admin portal\'s overview: the\nprovider\'s sub-accounts (one per organization, keyed by the organization id) joined with this\nservice\'s se\n\n`GET /v1/operator/provider-setups`\n\n```ts\nconst { data } = await client.listProviderSetups()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "org_id": "string",\n "provider": "babelforce",\n "ready": true,\n "setup_recorded": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string"\n },\n "sso_identity_client_id": "string",\n "last_setup_by": "string",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getProviderSetup`\n\nWhat has been set up at the telephony provider for this organization.\n\n`GET /v1/operator/organizations/{org_id}/provider`\n\n```ts\nconst { data } = await client.getProviderSetup({\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `setupProvider`\n\nPrepares the telephony provider for an organization, idempotently and in order: the provider\ntenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role\nmanagement o\n\n`POST /v1/operator/organizations/{org_id}/provider:setup`\n\n```ts\nconst { data } = await client.setupProvider(\n {\n org_id: \'example\',\n },\n {\n account_name: \'string\',\n identity_client_id: \'string\',\n identity_client_secret: \'stringstring\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ManagerStatus`\n\n```ts\ntype ManagerStatus = {\n provider: "babelforce"\n ready: boolean\n reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]\n}\n```\n\n### `PhoneAgent`\n\n```ts\ntype PhoneAgent = {\n user_id: string\n email: string\n display_name?: string\n status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"\n provider_user_id?: string\n provider_roles?: string[]\n assigned_at?: string // date-time\n assigned_by?: string\n}\n```\n\n### `AssignPhoneAgentRequest`\n\n```ts\ntype AssignPhoneAgentRequest = {\n user_id: string\n}\n```\n\n### `ProviderSetup`\n\n```ts\ntype ProviderSetup = {\n provider: "babelforce"\n org_id: string\n ready: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n created_at?: string // date-time\n }\n scim: {\n configured: boolean\n roles_enabled: boolean\n }\n sso: {\n configured: boolean\n identity_client_id?: string\n configured_at?: string // date-time\n }\n last_setup_by?: string\n}\n```\n\n### `ProviderSetupSummary`\n\nOne organization\'s provider setup, as listed in the overview (no live SCIM or SSO reads).\n\n```ts\ntype ProviderSetupSummary = {\n org_id: string\n provider: "babelforce"\n ready: boolean\n setup_recorded: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n }\n sso_identity_client_id?: string\n last_setup_by?: string\n updated_at?: string // date-time\n}\n```\n\n### `ProviderSetupRequest`\n\n```ts\ntype ProviderSetupRequest = {\n account_name?: string\n identity_client_id: string\n identity_client_secret: string\n}\n```\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
5
-
6
-
7
- exports.default = phone_integration_default;
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/phone-integration.json
4
- var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**manager**\n- [`getManagerStatus`](#getmanagerstatus)\n- [`listPhoneAgents`](#listphoneagents)\n- [`assignPhoneAgent`](#assignphoneagent)\n- [`removePhoneAgent`](#removephoneagent)\n\n**operator**\n- [`listProviderSetups`](#listprovidersetups)\n- [`getProviderSetup`](#getprovidersetup)\n- [`setupProvider`](#setupprovider)\n\n**Schemas**\n- [`ManagerStatus`](#managerstatus)\n- [`PhoneAgent`](#phoneagent)\n- [`AssignPhoneAgentRequest`](#assignphoneagentrequest)\n- [`ProviderSetup`](#providersetup)\n- [`ProviderSetupSummary`](#providersetupsummary)\n- [`ProviderSetupRequest`](#providersetuprequest)\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getManagerStatus`\n\nWhether the caller\'s organization is ready for phone agents: the telephony provider tenant\nexists and is configured. The control center shows a "not set up" state when `ready` is false.\nRequires `phon\n\n`GET /v1/manager/status`\n\n```ts\nconst { data } = await client.getManagerStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "ready": true,\n "reasons": ["provider_tenant_missing"]\n}\n```\n\n</details>\n\n---\n\n### `listPhoneAgents`\n\nOrganization members who hold the phone (`phone:use`), each joined with the provider user behind\nthem. Requires `phone:manage`.\n\n`GET /v1/manager/agents`\n\n```ts\nconst { data } = await client.listPhoneAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPhoneAgent`\n\nGives an organization member the phone. In order: the member is verified with user-api, their\npairwise subject for the provider is read from identity-api, the provider user is created (or\nfound) bound\n\n`POST /v1/manager/agents`\n\n```ts\nconst { data } = await client.assignPhoneAgent(\n null,\n {\n user_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `removePhoneAgent`\n\nTakes the phone away from a member: the `phone_agent` role is removed first, then the provider\nuser is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.\n\n`DELETE /v1/manager/agents/{user_id}`\n\n```ts\nconst { data } = await client.removePhoneAgent({\n user_id: \'example\',\n})\n```\n\n---\n\n### `listProviderSetups`\n\nEvery organization that has a telephony provider tenant, for the admin portal\'s overview: the\nprovider\'s sub-accounts (one per organization, keyed by the organization id) joined with this\nservice\'s se\n\n`GET /v1/operator/provider-setups`\n\n```ts\nconst { data } = await client.listProviderSetups()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "org_id": "string",\n "provider": "babelforce",\n "ready": true,\n "setup_recorded": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string"\n },\n "sso_identity_client_id": "string",\n "last_setup_by": "string",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getProviderSetup`\n\nWhat has been set up at the telephony provider for this organization.\n\n`GET /v1/operator/organizations/{org_id}/provider`\n\n```ts\nconst { data } = await client.getProviderSetup({\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `setupProvider`\n\nPrepares the telephony provider for an organization, idempotently and in order: the provider\ntenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role\nmanagement o\n\n`POST /v1/operator/organizations/{org_id}/provider:setup`\n\n```ts\nconst { data } = await client.setupProvider(\n {\n org_id: \'example\',\n },\n {\n account_name: \'string\',\n identity_client_id: \'string\',\n identity_client_secret: \'stringstring\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ManagerStatus`\n\n```ts\ntype ManagerStatus = {\n provider: "babelforce"\n ready: boolean\n reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]\n}\n```\n\n### `PhoneAgent`\n\n```ts\ntype PhoneAgent = {\n user_id: string\n email: string\n display_name?: string\n status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"\n provider_user_id?: string\n provider_roles?: string[]\n assigned_at?: string // date-time\n assigned_by?: string\n}\n```\n\n### `AssignPhoneAgentRequest`\n\n```ts\ntype AssignPhoneAgentRequest = {\n user_id: string\n}\n```\n\n### `ProviderSetup`\n\n```ts\ntype ProviderSetup = {\n provider: "babelforce"\n org_id: string\n ready: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n created_at?: string // date-time\n }\n scim: {\n configured: boolean\n roles_enabled: boolean\n }\n sso: {\n configured: boolean\n identity_client_id?: string\n configured_at?: string // date-time\n }\n last_setup_by?: string\n}\n```\n\n### `ProviderSetupSummary`\n\nOne organization\'s provider setup, as listed in the overview (no live SCIM or SSO reads).\n\n```ts\ntype ProviderSetupSummary = {\n org_id: string\n provider: "babelforce"\n ready: boolean\n setup_recorded: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n }\n sso_identity_client_id?: string\n last_setup_by?: string\n updated_at?: string // date-time\n}\n```\n\n### `ProviderSetupRequest`\n\n```ts\ntype ProviderSetupRequest = {\n account_name?: string\n identity_client_id: string\n identity_client_secret: string\n}\n```\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
5
- export {
6
- phone_integration_default as default
7
- };