@epilot/sdk 2.20.79 → 2.20.81

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 (155) hide show
  1. package/definitions/file-runtime.json +1 -1
  2. package/definitions/file.json +834 -9
  3. package/definitions/phone-integration-runtime.json +1 -1
  4. package/definitions/phone-integration.json +651 -0
  5. package/dist/apis/access-token.cjs +6 -6
  6. package/dist/apis/access-token.js +1 -1
  7. package/dist/apis/address-suggestions.cjs +6 -6
  8. package/dist/apis/address-suggestions.js +1 -1
  9. package/dist/apis/address.cjs +6 -6
  10. package/dist/apis/address.js +1 -1
  11. package/dist/apis/ai-agents.cjs +6 -6
  12. package/dist/apis/ai-agents.js +1 -1
  13. package/dist/apis/app.cjs +6 -6
  14. package/dist/apis/app.js +1 -1
  15. package/dist/apis/audit-logs.cjs +6 -6
  16. package/dist/apis/audit-logs.js +1 -1
  17. package/dist/apis/automation.cjs +6 -6
  18. package/dist/apis/automation.js +1 -1
  19. package/dist/apis/billing.cjs +6 -6
  20. package/dist/apis/billing.js +1 -1
  21. package/dist/apis/blueprint-manifest.cjs +6 -6
  22. package/dist/apis/blueprint-manifest.js +1 -1
  23. package/dist/apis/calendar.cjs +6 -6
  24. package/dist/apis/calendar.js +1 -1
  25. package/dist/apis/chat.cjs +6 -6
  26. package/dist/apis/chat.js +1 -1
  27. package/dist/apis/configuration-hub.cjs +6 -6
  28. package/dist/apis/configuration-hub.js +1 -1
  29. package/dist/apis/consent.cjs +6 -6
  30. package/dist/apis/consent.js +1 -1
  31. package/dist/apis/customer-portal.cjs +6 -6
  32. package/dist/apis/customer-portal.js +1 -1
  33. package/dist/apis/dashboard.cjs +6 -6
  34. package/dist/apis/dashboard.js +1 -1
  35. package/dist/apis/data-governance.cjs +6 -6
  36. package/dist/apis/data-governance.js +1 -1
  37. package/dist/apis/deduplication.cjs +6 -6
  38. package/dist/apis/deduplication.js +1 -1
  39. package/dist/apis/design.cjs +6 -6
  40. package/dist/apis/design.js +1 -1
  41. package/dist/apis/document.cjs +6 -6
  42. package/dist/apis/document.js +1 -1
  43. package/dist/apis/email-settings.cjs +6 -6
  44. package/dist/apis/email-settings.js +1 -1
  45. package/dist/apis/email-template.cjs +6 -6
  46. package/dist/apis/email-template.js +1 -1
  47. package/dist/apis/entity-mapping.cjs +6 -6
  48. package/dist/apis/entity-mapping.js +1 -1
  49. package/dist/apis/entity.cjs +6 -6
  50. package/dist/apis/entity.js +1 -1
  51. package/dist/apis/environments.cjs +6 -6
  52. package/dist/apis/environments.js +1 -1
  53. package/dist/apis/event-catalog.cjs +6 -6
  54. package/dist/apis/event-catalog.js +1 -1
  55. package/dist/apis/external-values.cjs +6 -6
  56. package/dist/apis/external-values.js +1 -1
  57. package/dist/apis/file.cjs +8 -8
  58. package/dist/apis/file.d.cts +2 -2
  59. package/dist/apis/file.d.ts +2 -2
  60. package/dist/apis/file.js +2 -2
  61. package/dist/apis/iban.cjs +6 -6
  62. package/dist/apis/iban.js +1 -1
  63. package/dist/apis/identity.cjs +6 -6
  64. package/dist/apis/identity.js +1 -1
  65. package/dist/apis/integration-toolkit.cjs +6 -6
  66. package/dist/apis/integration-toolkit.js +1 -1
  67. package/dist/apis/journey.cjs +6 -6
  68. package/dist/apis/journey.js +1 -1
  69. package/dist/apis/kanban.cjs +6 -6
  70. package/dist/apis/kanban.js +1 -1
  71. package/dist/apis/message.cjs +6 -6
  72. package/dist/apis/message.js +1 -1
  73. package/dist/apis/metering.cjs +6 -6
  74. package/dist/apis/metering.js +1 -1
  75. package/dist/apis/notes.cjs +6 -6
  76. package/dist/apis/notes.js +1 -1
  77. package/dist/apis/notification.cjs +6 -6
  78. package/dist/apis/notification.js +1 -1
  79. package/dist/apis/organization.cjs +6 -6
  80. package/dist/apis/organization.js +1 -1
  81. package/dist/apis/partner-directory.cjs +6 -6
  82. package/dist/apis/partner-directory.js +1 -1
  83. package/dist/apis/permissions.cjs +6 -6
  84. package/dist/apis/permissions.js +1 -1
  85. package/dist/apis/phone-integration.cjs +8 -8
  86. package/dist/apis/phone-integration.d.cts +2 -2
  87. package/dist/apis/phone-integration.d.ts +2 -2
  88. package/dist/apis/phone-integration.js +2 -2
  89. package/dist/apis/pricing-tier.cjs +6 -6
  90. package/dist/apis/pricing-tier.js +1 -1
  91. package/dist/apis/pricing.cjs +6 -6
  92. package/dist/apis/pricing.js +1 -1
  93. package/dist/apis/purpose.cjs +6 -6
  94. package/dist/apis/purpose.js +1 -1
  95. package/dist/apis/query.cjs +6 -6
  96. package/dist/apis/query.js +1 -1
  97. package/dist/apis/sandbox.cjs +6 -6
  98. package/dist/apis/sandbox.js +1 -1
  99. package/dist/apis/sharing.cjs +6 -6
  100. package/dist/apis/sharing.js +1 -1
  101. package/dist/apis/snapshot.cjs +6 -6
  102. package/dist/apis/snapshot.js +1 -1
  103. package/dist/apis/submission.cjs +6 -6
  104. package/dist/apis/submission.js +1 -1
  105. package/dist/apis/target.cjs +6 -6
  106. package/dist/apis/target.js +1 -1
  107. package/dist/apis/targeting.cjs +6 -6
  108. package/dist/apis/targeting.js +1 -1
  109. package/dist/apis/template-variables.cjs +6 -6
  110. package/dist/apis/template-variables.js +1 -1
  111. package/dist/apis/user.cjs +6 -6
  112. package/dist/apis/user.js +1 -1
  113. package/dist/apis/validation-rules.cjs +6 -6
  114. package/dist/apis/validation-rules.js +1 -1
  115. package/dist/apis/webhooks.cjs +6 -6
  116. package/dist/apis/webhooks.js +1 -1
  117. package/dist/apis/workflow-definition.cjs +6 -6
  118. package/dist/apis/workflow-definition.js +1 -1
  119. package/dist/apis/workflow.cjs +6 -6
  120. package/dist/apis/workflow.js +1 -1
  121. package/dist/{chunk-5Z7XQQT2.js → chunk-2PFXDXXZ.js} +4 -4
  122. package/dist/{chunk-4G44P2X4.cjs → chunk-3PQISQCY.cjs} +4 -4
  123. package/dist/chunk-4HTTGQEJ.cjs +14 -0
  124. package/dist/chunk-IWKGR2GI.js +14 -0
  125. package/dist/chunk-JFRRQORA.js +14 -0
  126. package/dist/{chunk-BY76NFAX.cjs → chunk-XPQ7LBUE.cjs} +1 -1
  127. package/dist/file-3MIGWJIS.cjs +7 -0
  128. package/dist/file-LA7WL5QQ.js +7 -0
  129. package/dist/{file-runtime-RS4DX5LB.js → file-runtime-JOWOEQD2.js} +1 -1
  130. package/dist/file-runtime-LBP7QFAO.cjs +5 -0
  131. package/dist/{file.d-DELNV63w.d.cts → file.d-BIakPRHY.d.cts} +556 -3
  132. package/dist/{file.d-DELNV63w.d.ts → file.d-BIakPRHY.d.ts} +556 -3
  133. package/dist/index.cjs +12 -12
  134. package/dist/index.d.cts +2 -2
  135. package/dist/index.d.ts +2 -2
  136. package/dist/index.js +3 -3
  137. package/dist/phone-integration-5EHY236F.js +7 -0
  138. package/dist/phone-integration-C567S75X.cjs +7 -0
  139. package/dist/{phone-integration-runtime-DFA6NYNK.cjs → phone-integration-runtime-3QDC5IMK.cjs} +2 -2
  140. package/dist/{phone-integration-runtime-27B4SHA5.js → phone-integration-runtime-JWF52VHF.js} +1 -1
  141. package/dist/phone-integration.d-DJrZ4xkA.d.cts +539 -0
  142. package/dist/phone-integration.d-DJrZ4xkA.d.ts +539 -0
  143. package/docs/file.md +344 -0
  144. package/docs/phone-integration.md +293 -0
  145. package/package.json +1 -1
  146. package/dist/chunk-424JLS5G.cjs +0 -14
  147. package/dist/chunk-FGQBS7TA.js +0 -14
  148. package/dist/chunk-UFMZ4EV3.js +0 -14
  149. package/dist/file-2KT6MMMG.cjs +0 -7
  150. package/dist/file-N3SGGI6E.js +0 -7
  151. package/dist/file-runtime-JL2IZ2CE.cjs +0 -5
  152. package/dist/phone-integration-JT2UAOGS.cjs +0 -7
  153. package/dist/phone-integration-KORLYUBG.js +0 -7
  154. package/dist/phone-integration.d-ChHA2oGI.d.cts +0 -179
  155. package/dist/phone-integration.d-ChHA2oGI.d.ts +0 -179
package/docs/file.md CHANGED
@@ -41,6 +41,10 @@ const { data } = await fileClient.uploadFileV2(...)
41
41
  - [`getCurrentFileSummaryJob`](#getcurrentfilesummaryjob)
42
42
  - [`getFileSummaryJob`](#getfilesummaryjob)
43
43
  - [`generateFileSummary`](#generatefilesummary)
44
+ - [`createFileAttributeSuggestionJob`](#createfileattributesuggestionjob)
45
+ - [`getLatestFileAttributeSuggestions`](#getlatestfileattributesuggestions)
46
+ - [`getFileAttributeSuggestionJob`](#getfileattributesuggestionjob)
47
+ - [`updateFileAttributeSuggestionStatus`](#updatefileattributesuggestionstatus)
44
48
  - [`getFileText`](#getfiletext)
45
49
  - [`validateFile`](#validatefile)
46
50
  - [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)
@@ -83,6 +87,13 @@ const { data } = await fileClient.uploadFileV2(...)
83
87
  - [`FileSummaryFeedback`](#filesummaryfeedback)
84
88
  - [`FileSummaryFeedbackResponse`](#filesummaryfeedbackresponse)
85
89
  - [`PutFileSummaryFeedbackRequest`](#putfilesummaryfeedbackrequest)
90
+ - [`FileAttributeSuggestionJobStatus`](#fileattributesuggestionjobstatus)
91
+ - [`FileAttributeSuggestion`](#fileattributesuggestion)
92
+ - [`FileAttributeSuggestionsPayload`](#fileattributesuggestionspayload)
93
+ - [`FileAttributeSuggestionJob`](#fileattributesuggestionjob)
94
+ - [`CreateFileAttributeSuggestionJobRequest`](#createfileattributesuggestionjobrequest)
95
+ - [`UpdateFileAttributeSuggestionStatusRequest`](#updatefileattributesuggestionstatusrequest)
96
+ - [`FileAttributeSuggestionError`](#fileattributesuggestionerror)
86
97
  - [`FileTextStatus`](#filetextstatus)
87
98
  - [`FileValidationRequest`](#filevalidationrequest)
88
99
  - [`FileValidationFileReference`](#filevalidationfilereference)
@@ -759,6 +770,211 @@ const { data } = await client.generateFileSummary({
759
770
 
760
771
  ---
761
772
 
773
+ ### `createFileAttributeSuggestionJob`
774
+
775
+ Start an auto-fill job that reads the file's extracted text and suggests values for the related entity's attributes. Requires `entity:view` on the file and on the related entity. Returns 404 with `err
776
+
777
+ `POST /v1/files/{id}/attribute-suggestion-jobs`
778
+
779
+ ```ts
780
+ const { data } = await client.createFileAttributeSuggestionJob(
781
+ {
782
+ id: '123e4567-e89b-12d3-a456-426614174000',
783
+ },
784
+ {
785
+ entity_slug: 'opportunity',
786
+ entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
787
+ },
788
+ )
789
+ ```
790
+
791
+ ---
792
+
793
+ ### `getLatestFileAttributeSuggestions`
794
+
795
+ Get the most recent attribute suggestion job of any status for the file and the given entity. Returns 404 with `error_code: no_file_attribute_suggestions_job` when auto-fill has not run yet.
796
+
797
+ `GET /v1/files/{id}/attribute-suggestion-jobs/latest`
798
+
799
+ ```ts
800
+ const { data } = await client.getLatestFileAttributeSuggestions({
801
+ id: '123e4567-e89b-12d3-a456-426614174000',
802
+ entity_id: 'example',
803
+ })
804
+ ```
805
+
806
+ <details>
807
+ <summary>Response</summary>
808
+
809
+ ```json
810
+ {
811
+ "jobId": "string",
812
+ "jobStatus": {
813
+ "status": "INITIATED",
814
+ "progress": 0,
815
+ "error": "string"
816
+ },
817
+ "payload": {
818
+ "file_id": "string",
819
+ "entity_id": "string",
820
+ "entity_slug": "string",
821
+ "generated_by": "string",
822
+ "generated_at": 0,
823
+ "suggestions": [
824
+ {
825
+ "attribute_name": "string",
826
+ "attribute_label": "string",
827
+ "attribute_type": "date",
828
+ "suggested_value": "string",
829
+ "confidence": "high",
830
+ "source_page": 0,
831
+ "evidence": "string",
832
+ "status": "suggested",
833
+ "status_updated_by": "string",
834
+ "status_updated_at": 0,
835
+ "discard_reason": "string",
836
+ "is_copied": true,
837
+ "copied_by": "string",
838
+ "copied_at": 0,
839
+ "suggestion_type": "new_value"
840
+ }
841
+ ]
842
+ },
843
+ "createdAt": 0,
844
+ "updatedAt": 0
845
+ }
846
+ ```
847
+
848
+ </details>
849
+
850
+ ---
851
+
852
+ ### `getFileAttributeSuggestionJob`
853
+
854
+ Get an attribute suggestion job of the file. Poll until `jobStatus.status` is `COMPLETED` or `FAILED`.
855
+
856
+ `GET /v1/files/{id}/attribute-suggestion-jobs/{job_id}`
857
+
858
+ ```ts
859
+ const { data } = await client.getFileAttributeSuggestionJob({
860
+ id: '123e4567-e89b-12d3-a456-426614174000',
861
+ job_id: 'example',
862
+ })
863
+ ```
864
+
865
+ <details>
866
+ <summary>Response</summary>
867
+
868
+ ```json
869
+ {
870
+ "jobId": "string",
871
+ "jobStatus": {
872
+ "status": "INITIATED",
873
+ "progress": 0,
874
+ "error": "string"
875
+ },
876
+ "payload": {
877
+ "file_id": "string",
878
+ "entity_id": "string",
879
+ "entity_slug": "string",
880
+ "generated_by": "string",
881
+ "generated_at": 0,
882
+ "suggestions": [
883
+ {
884
+ "attribute_name": "string",
885
+ "attribute_label": "string",
886
+ "attribute_type": "date",
887
+ "suggested_value": "string",
888
+ "confidence": "high",
889
+ "source_page": 0,
890
+ "evidence": "string",
891
+ "status": "suggested",
892
+ "status_updated_by": "string",
893
+ "status_updated_at": 0,
894
+ "discard_reason": "string",
895
+ "is_copied": true,
896
+ "copied_by": "string",
897
+ "copied_at": 0,
898
+ "suggestion_type": "new_value"
899
+ }
900
+ ]
901
+ },
902
+ "createdAt": 0,
903
+ "updatedAt": 0
904
+ }
905
+ ```
906
+
907
+ </details>
908
+
909
+ ---
910
+
911
+ ### `updateFileAttributeSuggestionStatus`
912
+
913
+ Record that suggestions were accepted, discarded or copied. Only the suggestion entries named in the request change; unknown attribute names are ignored. Applying a value to the entity stays with the
914
+
915
+ `PATCH /v1/files/{id}/attribute-suggestion-jobs/{job_id}`
916
+
917
+ ```ts
918
+ const { data } = await client.updateFileAttributeSuggestionStatus(
919
+ {
920
+ id: '123e4567-e89b-12d3-a456-426614174000',
921
+ job_id: 'example',
922
+ },
923
+ {
924
+ suggestionStatusUpdates: [
925
+ {},
926
+ {}
927
+ ]
928
+ },
929
+ )
930
+ ```
931
+
932
+ <details>
933
+ <summary>Response</summary>
934
+
935
+ ```json
936
+ {
937
+ "jobId": "string",
938
+ "jobStatus": {
939
+ "status": "INITIATED",
940
+ "progress": 0,
941
+ "error": "string"
942
+ },
943
+ "payload": {
944
+ "file_id": "string",
945
+ "entity_id": "string",
946
+ "entity_slug": "string",
947
+ "generated_by": "string",
948
+ "generated_at": 0,
949
+ "suggestions": [
950
+ {
951
+ "attribute_name": "string",
952
+ "attribute_label": "string",
953
+ "attribute_type": "date",
954
+ "suggested_value": "string",
955
+ "confidence": "high",
956
+ "source_page": 0,
957
+ "evidence": "string",
958
+ "status": "suggested",
959
+ "status_updated_by": "string",
960
+ "status_updated_at": 0,
961
+ "discard_reason": "string",
962
+ "is_copied": true,
963
+ "copied_by": "string",
964
+ "copied_at": 0,
965
+ "suggestion_type": "new_value"
966
+ }
967
+ ]
968
+ },
969
+ "createdAt": 0,
970
+ "updatedAt": 0
971
+ }
972
+ ```
973
+
974
+ </details>
975
+
976
+ ---
977
+
762
978
  ### `getFileText`
763
979
 
764
980
  Get the plain-text representation of a file entity. Returns status `not_ready` while text is being prepared and `unsupported` when text is unavailable for the file or organization.
@@ -928,6 +1144,7 @@ const { data } = await client.previewPublicFile({
928
1144
  version: 1,
929
1145
  w: 1,
930
1146
  h: 1,
1147
+ keep_original: true,
931
1148
  org_id: 'example',
932
1149
  })
933
1150
  ```
@@ -1487,6 +1704,133 @@ type PutFileSummaryFeedbackRequest = {
1487
1704
  }
1488
1705
  ```
1489
1706
 
1707
+ ### `FileAttributeSuggestionJobStatus`
1708
+
1709
+ ```ts
1710
+ type FileAttributeSuggestionJobStatus = {
1711
+ status: "INITIATED" | "IN_PROGRESS" | "COMPLETED" | "FAILED"
1712
+ progress: number
1713
+ error?: string
1714
+ }
1715
+ ```
1716
+
1717
+ ### `FileAttributeSuggestion`
1718
+
1719
+ ```ts
1720
+ type FileAttributeSuggestion = {
1721
+ attribute_name?: string
1722
+ attribute_label?: string
1723
+ attribute_type?: "date" | "number" | "boolean" | "select" | "string"
1724
+ suggested_value?: string | number | boolean
1725
+ confidence?: "high" | "medium" | "low"
1726
+ source_page?: number
1727
+ evidence?: string
1728
+ status?: "suggested" | "accepted" | "discarded"
1729
+ status_updated_by?: string
1730
+ status_updated_at?: number
1731
+ discard_reason?: string
1732
+ is_copied?: boolean
1733
+ copied_by?: string
1734
+ copied_at?: number
1735
+ suggestion_type?: "new_value" | "update"
1736
+ }
1737
+ ```
1738
+
1739
+ ### `FileAttributeSuggestionsPayload`
1740
+
1741
+ ```ts
1742
+ type FileAttributeSuggestionsPayload = {
1743
+ file_id: string
1744
+ entity_id: string
1745
+ entity_slug: string
1746
+ generated_by?: string
1747
+ generated_at?: number
1748
+ suggestions: Array<{
1749
+ attribute_name?: string
1750
+ attribute_label?: string
1751
+ attribute_type?: "date" | "number" | "boolean" | "select" | "string"
1752
+ suggested_value?: string | number | boolean
1753
+ confidence?: "high" | "medium" | "low"
1754
+ source_page?: number
1755
+ evidence?: string
1756
+ status?: "suggested" | "accepted" | "discarded"
1757
+ status_updated_by?: string
1758
+ status_updated_at?: number
1759
+ discard_reason?: string
1760
+ is_copied?: boolean
1761
+ copied_by?: string
1762
+ copied_at?: number
1763
+ suggestion_type?: "new_value" | "update"
1764
+ }>
1765
+ }
1766
+ ```
1767
+
1768
+ ### `FileAttributeSuggestionJob`
1769
+
1770
+ ```ts
1771
+ type FileAttributeSuggestionJob = {
1772
+ jobId: string
1773
+ jobStatus: {
1774
+ status: "INITIATED" | "IN_PROGRESS" | "COMPLETED" | "FAILED"
1775
+ progress: number
1776
+ error?: string
1777
+ }
1778
+ payload: {
1779
+ file_id: string
1780
+ entity_id: string
1781
+ entity_slug: string
1782
+ generated_by?: string
1783
+ generated_at?: number
1784
+ suggestions: Array<{
1785
+ attribute_name?: { ... }
1786
+ attribute_label?: { ... }
1787
+ attribute_type?: { ... }
1788
+ suggested_value?: { ... }
1789
+ confidence?: { ... }
1790
+ source_page?: { ... }
1791
+ evidence?: { ... }
1792
+ status?: { ... }
1793
+ status_updated_by?: { ... }
1794
+ status_updated_at?: { ... }
1795
+ discard_reason?: { ... }
1796
+ is_copied?: { ... }
1797
+ copied_by?: { ... }
1798
+ copied_at?: { ... }
1799
+ suggestion_type?: { ... }
1800
+ }>
1801
+ }
1802
+ createdAt: number
1803
+ updatedAt: number
1804
+ }
1805
+ ```
1806
+
1807
+ ### `CreateFileAttributeSuggestionJobRequest`
1808
+
1809
+ ```ts
1810
+ type CreateFileAttributeSuggestionJobRequest = {
1811
+ entity_slug: string
1812
+ entity_id: string // uuid
1813
+ }
1814
+ ```
1815
+
1816
+ ### `UpdateFileAttributeSuggestionStatusRequest`
1817
+
1818
+ ```ts
1819
+ type UpdateFileAttributeSuggestionStatusRequest = {
1820
+ suggestionStatusUpdates: unknown | unknown[]
1821
+ }
1822
+ ```
1823
+
1824
+ ### `FileAttributeSuggestionError`
1825
+
1826
+ ```ts
1827
+ type FileAttributeSuggestionError = {
1828
+ status?: number
1829
+ error?: string
1830
+ error_code?: "entity_or_schema_unavailable" | "file_not_extracted" | "extraction_unsupported" | "extraction_failed" | "extraction_status_unavailable" | "processing_enqueue_failed" | "no_file_attribute_suggestions_job" | "job_not_found"
1831
+ }
1832
+ ```
1833
+
1490
1834
  ### `FileTextStatus`
1491
1835
 
1492
1836
  Availability of the plain-text representation for a file entity.
@@ -27,7 +27,22 @@ const { data } = await phoneIntegrationClient.batchSearchCustomers(...)
27
27
  **phone-integration**
28
28
  - [`batchSearchCustomers`](#batchsearchcustomers)
29
29
 
30
+ **manager**
31
+ - [`getManagerStatus`](#getmanagerstatus)
32
+ - [`listPhoneAgents`](#listphoneagents)
33
+ - [`assignPhoneAgent`](#assignphoneagent)
34
+ - [`removePhoneAgent`](#removephoneagent)
35
+
36
+ **operator**
37
+ - [`getProviderSetup`](#getprovidersetup)
38
+ - [`setupProvider`](#setupprovider)
39
+
30
40
  **Schemas**
41
+ - [`ManagerStatus`](#managerstatus)
42
+ - [`PhoneAgent`](#phoneagent)
43
+ - [`AssignPhoneAgentRequest`](#assignphoneagentrequest)
44
+ - [`ProviderSetup`](#providersetup)
45
+ - [`ProviderSetupRequest`](#providersetuprequest)
31
46
  - [`CustomerBatchSearchResult`](#customerbatchsearchresult)
32
47
  - [`CustomerSearchResult`](#customersearchresult)
33
48
  - [`CustomerIdentifier`](#customeridentifier)
@@ -78,8 +93,286 @@ const { data } = await client.batchSearchCustomers({
78
93
 
79
94
  ---
80
95
 
96
+ ### `getManagerStatus`
97
+
98
+ Whether the caller's organization is ready for phone agents: the telephony provider tenant
99
+ exists and is configured. The control center shows a "not set up" state when `ready` is false.
100
+ Requires `phon
101
+
102
+ `GET /v1/manager/status`
103
+
104
+ ```ts
105
+ const { data } = await client.getManagerStatus()
106
+ ```
107
+
108
+ <details>
109
+ <summary>Response</summary>
110
+
111
+ ```json
112
+ {
113
+ "provider": "babelforce",
114
+ "ready": true,
115
+ "reasons": ["provider_tenant_missing"]
116
+ }
117
+ ```
118
+
119
+ </details>
120
+
121
+ ---
122
+
123
+ ### `listPhoneAgents`
124
+
125
+ Organization members who hold the phone (`phone:use`), each joined with the provider user behind
126
+ them. Requires `phone:manage`.
127
+
128
+ `GET /v1/manager/agents`
129
+
130
+ ```ts
131
+ const { data } = await client.listPhoneAgents()
132
+ ```
133
+
134
+ <details>
135
+ <summary>Response</summary>
136
+
137
+ ```json
138
+ {
139
+ "results": [
140
+ {
141
+ "user_id": "string",
142
+ "email": "string",
143
+ "display_name": "string",
144
+ "status": "active",
145
+ "provider_user_id": "string",
146
+ "provider_roles": ["string"],
147
+ "assigned_at": "1970-01-01T00:00:00.000Z",
148
+ "assigned_by": "string"
149
+ }
150
+ ]
151
+ }
152
+ ```
153
+
154
+ </details>
155
+
156
+ ---
157
+
158
+ ### `assignPhoneAgent`
159
+
160
+ Gives an organization member the phone. In order: the member is verified with user-api, their
161
+ pairwise subject for the provider is read from identity-api, the provider user is created (or
162
+ found) bound
163
+
164
+ `POST /v1/manager/agents`
165
+
166
+ ```ts
167
+ const { data } = await client.assignPhoneAgent(
168
+ null,
169
+ {
170
+ user_id: 'string'
171
+ },
172
+ )
173
+ ```
174
+
175
+ <details>
176
+ <summary>Response</summary>
177
+
178
+ ```json
179
+ {
180
+ "user_id": "string",
181
+ "email": "string",
182
+ "display_name": "string",
183
+ "status": "active",
184
+ "provider_user_id": "string",
185
+ "provider_roles": ["string"],
186
+ "assigned_at": "1970-01-01T00:00:00.000Z",
187
+ "assigned_by": "string"
188
+ }
189
+ ```
190
+
191
+ </details>
192
+
193
+ ---
194
+
195
+ ### `removePhoneAgent`
196
+
197
+ Takes the phone away from a member: the `phone_agent` role is removed first, then the provider
198
+ user is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.
199
+
200
+ `DELETE /v1/manager/agents/{user_id}`
201
+
202
+ ```ts
203
+ const { data } = await client.removePhoneAgent({
204
+ user_id: 'example',
205
+ })
206
+ ```
207
+
208
+ ---
209
+
210
+ ### `getProviderSetup`
211
+
212
+ What has been set up at the telephony provider for this organization.
213
+
214
+ `GET /v1/operator/organizations/{org_id}/provider`
215
+
216
+ ```ts
217
+ const { data } = await client.getProviderSetup({
218
+ org_id: 'example',
219
+ })
220
+ ```
221
+
222
+ <details>
223
+ <summary>Response</summary>
224
+
225
+ ```json
226
+ {
227
+ "provider": "babelforce",
228
+ "org_id": "string",
229
+ "ready": true,
230
+ "tenant": {
231
+ "id": "string",
232
+ "name": "string",
233
+ "org_key": "string",
234
+ "created_at": "1970-01-01T00:00:00.000Z"
235
+ },
236
+ "scim": {
237
+ "configured": true,
238
+ "roles_enabled": true
239
+ },
240
+ "sso": {
241
+ "configured": true,
242
+ "identity_client_id": "string",
243
+ "configured_at": "1970-01-01T00:00:00.000Z"
244
+ },
245
+ "last_setup_by": "string"
246
+ }
247
+ ```
248
+
249
+ </details>
250
+
251
+ ---
252
+
253
+ ### `setupProvider`
254
+
255
+ Prepares the telephony provider for an organization, idempotently and in order: the provider
256
+ tenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role
257
+ management o
258
+
259
+ `POST /v1/operator/organizations/{org_id}/provider:setup`
260
+
261
+ ```ts
262
+ const { data } = await client.setupProvider(
263
+ {
264
+ org_id: 'example',
265
+ },
266
+ {
267
+ account_name: 'string',
268
+ identity_client_id: 'string',
269
+ identity_client_secret: 'stringstring'
270
+ },
271
+ )
272
+ ```
273
+
274
+ <details>
275
+ <summary>Response</summary>
276
+
277
+ ```json
278
+ {
279
+ "provider": "babelforce",
280
+ "org_id": "string",
281
+ "ready": true,
282
+ "tenant": {
283
+ "id": "string",
284
+ "name": "string",
285
+ "org_key": "string",
286
+ "created_at": "1970-01-01T00:00:00.000Z"
287
+ },
288
+ "scim": {
289
+ "configured": true,
290
+ "roles_enabled": true
291
+ },
292
+ "sso": {
293
+ "configured": true,
294
+ "identity_client_id": "string",
295
+ "configured_at": "1970-01-01T00:00:00.000Z"
296
+ },
297
+ "last_setup_by": "string"
298
+ }
299
+ ```
300
+
301
+ </details>
302
+
303
+ ---
304
+
81
305
  ## Schemas
82
306
 
307
+ ### `ManagerStatus`
308
+
309
+ ```ts
310
+ type ManagerStatus = {
311
+ provider: "babelforce"
312
+ ready: boolean
313
+ reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]
314
+ }
315
+ ```
316
+
317
+ ### `PhoneAgent`
318
+
319
+ ```ts
320
+ type PhoneAgent = {
321
+ user_id: string
322
+ email: string
323
+ display_name?: string
324
+ status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"
325
+ provider_user_id?: string
326
+ provider_roles?: string[]
327
+ assigned_at?: string // date-time
328
+ assigned_by?: string
329
+ }
330
+ ```
331
+
332
+ ### `AssignPhoneAgentRequest`
333
+
334
+ ```ts
335
+ type AssignPhoneAgentRequest = {
336
+ user_id: string
337
+ }
338
+ ```
339
+
340
+ ### `ProviderSetup`
341
+
342
+ ```ts
343
+ type ProviderSetup = {
344
+ provider: "babelforce"
345
+ org_id: string
346
+ ready: boolean
347
+ tenant: {
348
+ id: string
349
+ name: string
350
+ org_key: string
351
+ created_at?: string // date-time
352
+ }
353
+ scim: {
354
+ configured: boolean
355
+ roles_enabled: boolean
356
+ }
357
+ sso: {
358
+ configured: boolean
359
+ identity_client_id?: string
360
+ configured_at?: string // date-time
361
+ }
362
+ last_setup_by?: string
363
+ }
364
+ ```
365
+
366
+ ### `ProviderSetupRequest`
367
+
368
+ ```ts
369
+ type ProviderSetupRequest = {
370
+ account_name?: string
371
+ identity_client_id: string
372
+ identity_client_secret: string
373
+ }
374
+ ```
375
+
83
376
  ### `CustomerBatchSearchResult`
84
377
 
85
378
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.20.79",
3
+ "version": "2.20.81",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",