@epilot/sdk 2.20.24 → 2.20.25

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 (226) hide show
  1. package/dist/apis/access-token.cjs +6 -6
  2. package/dist/apis/access-token.js +1 -1
  3. package/dist/apis/address-suggestions.cjs +6 -6
  4. package/dist/apis/address-suggestions.js +1 -1
  5. package/dist/apis/address.cjs +6 -6
  6. package/dist/apis/address.js +1 -1
  7. package/dist/apis/ai-agents.cjs +6 -6
  8. package/dist/apis/ai-agents.js +1 -1
  9. package/dist/apis/app.cjs +6 -6
  10. package/dist/apis/app.js +1 -1
  11. package/dist/apis/audit-logs.cjs +6 -6
  12. package/dist/apis/audit-logs.js +1 -1
  13. package/dist/apis/automation.cjs +6 -6
  14. package/dist/apis/automation.js +1 -1
  15. package/dist/apis/billing.cjs +6 -6
  16. package/dist/apis/billing.js +1 -1
  17. package/dist/apis/blueprint-manifest.cjs +6 -6
  18. package/dist/apis/blueprint-manifest.js +1 -1
  19. package/dist/apis/calendar.cjs +6 -6
  20. package/dist/apis/calendar.js +1 -1
  21. package/dist/apis/chat.cjs +6 -6
  22. package/dist/apis/chat.js +1 -1
  23. package/dist/apis/configuration-hub.cjs +6 -6
  24. package/dist/apis/configuration-hub.js +1 -1
  25. package/dist/apis/consent.cjs +6 -6
  26. package/dist/apis/consent.js +1 -1
  27. package/dist/apis/customer-portal.cjs +6 -6
  28. package/dist/apis/customer-portal.js +1 -1
  29. package/dist/apis/dashboard.cjs +6 -6
  30. package/dist/apis/dashboard.js +1 -1
  31. package/dist/apis/data-governance.cjs +6 -6
  32. package/dist/apis/data-governance.js +1 -1
  33. package/dist/apis/deduplication.cjs +6 -6
  34. package/dist/apis/deduplication.js +1 -1
  35. package/dist/apis/design.cjs +6 -6
  36. package/dist/apis/design.js +1 -1
  37. package/dist/apis/document.cjs +6 -6
  38. package/dist/apis/document.js +1 -1
  39. package/dist/apis/email-settings.cjs +6 -6
  40. package/dist/apis/email-settings.js +1 -1
  41. package/dist/apis/email-template.cjs +6 -6
  42. package/dist/apis/email-template.js +1 -1
  43. package/dist/apis/entity-mapping.cjs +6 -6
  44. package/dist/apis/entity-mapping.js +1 -1
  45. package/dist/apis/entity.cjs +6 -6
  46. package/dist/apis/entity.js +1 -1
  47. package/dist/apis/environments.cjs +6 -6
  48. package/dist/apis/environments.js +1 -1
  49. package/dist/apis/event-catalog.cjs +6 -6
  50. package/dist/apis/event-catalog.js +1 -1
  51. package/dist/apis/file.cjs +6 -6
  52. package/dist/apis/file.js +1 -1
  53. package/dist/apis/iban.cjs +6 -6
  54. package/dist/apis/iban.js +1 -1
  55. package/dist/apis/integration-toolkit.cjs +6 -6
  56. package/dist/apis/integration-toolkit.d.cts +2 -2
  57. package/dist/apis/integration-toolkit.d.ts +2 -2
  58. package/dist/apis/integration-toolkit.js +1 -1
  59. package/dist/apis/journey.cjs +6 -6
  60. package/dist/apis/journey.js +1 -1
  61. package/dist/apis/kanban.cjs +6 -6
  62. package/dist/apis/kanban.js +1 -1
  63. package/dist/apis/message.cjs +6 -6
  64. package/dist/apis/message.js +1 -1
  65. package/dist/apis/metering.cjs +6 -6
  66. package/dist/apis/metering.js +1 -1
  67. package/dist/apis/notes.cjs +6 -6
  68. package/dist/apis/notes.js +1 -1
  69. package/dist/apis/notification.cjs +6 -6
  70. package/dist/apis/notification.js +1 -1
  71. package/dist/apis/organization.cjs +6 -6
  72. package/dist/apis/organization.js +1 -1
  73. package/dist/apis/partner-directory.cjs +6 -6
  74. package/dist/apis/partner-directory.js +1 -1
  75. package/dist/apis/permissions.cjs +6 -6
  76. package/dist/apis/permissions.js +1 -1
  77. package/dist/apis/pricing-tier.cjs +6 -6
  78. package/dist/apis/pricing-tier.js +1 -1
  79. package/dist/apis/pricing.cjs +6 -6
  80. package/dist/apis/pricing.js +1 -1
  81. package/dist/apis/purpose.cjs +6 -6
  82. package/dist/apis/purpose.js +1 -1
  83. package/dist/apis/query.cjs +6 -6
  84. package/dist/apis/query.js +1 -1
  85. package/dist/apis/sandbox.cjs +6 -6
  86. package/dist/apis/sandbox.js +1 -1
  87. package/dist/apis/sharing.cjs +6 -6
  88. package/dist/apis/sharing.js +1 -1
  89. package/dist/apis/snapshot.cjs +6 -6
  90. package/dist/apis/snapshot.js +1 -1
  91. package/dist/apis/submission.cjs +6 -6
  92. package/dist/apis/submission.js +1 -1
  93. package/dist/apis/target.cjs +6 -6
  94. package/dist/apis/target.js +1 -1
  95. package/dist/apis/targeting.cjs +6 -6
  96. package/dist/apis/targeting.js +1 -1
  97. package/dist/apis/template-variables.cjs +6 -6
  98. package/dist/apis/template-variables.js +1 -1
  99. package/dist/apis/user.cjs +6 -6
  100. package/dist/apis/user.js +1 -1
  101. package/dist/apis/validation-rules.cjs +6 -6
  102. package/dist/apis/validation-rules.js +1 -1
  103. package/dist/apis/webhooks.cjs +6 -6
  104. package/dist/apis/webhooks.js +1 -1
  105. package/dist/apis/workflow-definition.cjs +6 -6
  106. package/dist/apis/workflow-definition.js +1 -1
  107. package/dist/apis/workflow.cjs +6 -6
  108. package/dist/apis/workflow.js +1 -1
  109. package/dist/{chunk-B43U4DLU.cjs → chunk-PZ4TXAF5.cjs} +1 -1
  110. package/dist/{chunk-5D6VD6OZ.js → chunk-X742W7MI.js} +1 -1
  111. package/dist/index.cjs +8 -8
  112. package/dist/index.d.cts +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.js +1 -1
  115. package/dist/integration-toolkit-FHPQSYLH.js +7 -0
  116. package/dist/integration-toolkit-YBZJK4IG.cjs +7 -0
  117. package/dist/{integration-toolkit.d-bhpB79pc.d.ts → integration-toolkit.d--hon4GPp.d.cts} +79 -26
  118. package/dist/{integration-toolkit.d-bhpB79pc.d.cts → integration-toolkit.d--hon4GPp.d.ts} +79 -26
  119. package/docs/integration-toolkit.md +19 -250
  120. package/package.json +1 -1
  121. package/definitions/access-token-runtime.json +0 -1
  122. package/definitions/access-token.json +0 -1025
  123. package/definitions/address-runtime.json +0 -1
  124. package/definitions/address-suggestions-runtime.json +0 -1
  125. package/definitions/address-suggestions.json +0 -582
  126. package/definitions/address.json +0 -578
  127. package/definitions/ai-agents-runtime.json +0 -1
  128. package/definitions/ai-agents.json +0 -2863
  129. package/definitions/app-runtime.json +0 -1
  130. package/definitions/app.json +0 -5994
  131. package/definitions/audit-logs-runtime.json +0 -1
  132. package/definitions/audit-logs.json +0 -305
  133. package/definitions/automation-runtime.json +0 -1
  134. package/definitions/automation.json +0 -5979
  135. package/definitions/billing-runtime.json +0 -1
  136. package/definitions/billing.json +0 -2394
  137. package/definitions/blueprint-manifest-runtime.json +0 -1
  138. package/definitions/blueprint-manifest.json +0 -7817
  139. package/definitions/calendar-runtime.json +0 -1
  140. package/definitions/calendar.json +0 -2904
  141. package/definitions/chat-runtime.json +0 -1
  142. package/definitions/chat.json +0 -2909
  143. package/definitions/configuration-hub-runtime.json +0 -1
  144. package/definitions/configuration-hub.json +0 -2250
  145. package/definitions/consent-runtime.json +0 -1
  146. package/definitions/consent.json +0 -344
  147. package/definitions/customer-portal-runtime.json +0 -1
  148. package/definitions/customer-portal.json +0 -21181
  149. package/definitions/dashboard-runtime.json +0 -1
  150. package/definitions/dashboard.json +0 -1355
  151. package/definitions/data-governance-runtime.json +0 -1
  152. package/definitions/data-governance.json +0 -1126
  153. package/definitions/deduplication-runtime.json +0 -1
  154. package/definitions/deduplication.json +0 -782
  155. package/definitions/design-runtime.json +0 -1
  156. package/definitions/design.json +0 -1827
  157. package/definitions/document-runtime.json +0 -1
  158. package/definitions/document.json +0 -758
  159. package/definitions/email-settings-runtime.json +0 -1
  160. package/definitions/email-settings.json +0 -3736
  161. package/definitions/email-template-runtime.json +0 -1
  162. package/definitions/email-template.json +0 -1441
  163. package/definitions/entity-mapping-runtime.json +0 -1
  164. package/definitions/entity-mapping.json +0 -1852
  165. package/definitions/entity-runtime.json +0 -1
  166. package/definitions/entity.json +0 -11546
  167. package/definitions/environments-runtime.json +0 -1
  168. package/definitions/environments.json +0 -988
  169. package/definitions/event-catalog-runtime.json +0 -1
  170. package/definitions/event-catalog.json +0 -2014
  171. package/definitions/file-runtime.json +0 -1
  172. package/definitions/file.json +0 -4298
  173. package/definitions/iban-runtime.json +0 -1
  174. package/definitions/iban.json +0 -132
  175. package/definitions/integration-toolkit-runtime.json +0 -1
  176. package/definitions/integration-toolkit.json +0 -13069
  177. package/definitions/journey-runtime.json +0 -1
  178. package/definitions/journey.json +0 -3586
  179. package/definitions/kanban-runtime.json +0 -1
  180. package/definitions/kanban.json +0 -1506
  181. package/definitions/message-runtime.json +0 -1
  182. package/definitions/message.json +0 -3667
  183. package/definitions/metering-runtime.json +0 -1
  184. package/definitions/metering.json +0 -3132
  185. package/definitions/notes-runtime.json +0 -1
  186. package/definitions/notes.json +0 -1698
  187. package/definitions/notification-runtime.json +0 -1
  188. package/definitions/notification.json +0 -1439
  189. package/definitions/organization-runtime.json +0 -1
  190. package/definitions/organization.json +0 -1192
  191. package/definitions/partner-directory-runtime.json +0 -1
  192. package/definitions/partner-directory.json +0 -2284
  193. package/definitions/permissions-runtime.json +0 -1
  194. package/definitions/permissions.json +0 -1598
  195. package/definitions/pricing-runtime.json +0 -1
  196. package/definitions/pricing-tier-runtime.json +0 -1
  197. package/definitions/pricing-tier.json +0 -105
  198. package/definitions/pricing.json +0 -14369
  199. package/definitions/purpose-runtime.json +0 -1
  200. package/definitions/purpose.json +0 -524
  201. package/definitions/query-runtime.json +0 -1
  202. package/definitions/query.json +0 -3178
  203. package/definitions/sandbox-runtime.json +0 -1
  204. package/definitions/sandbox.json +0 -453
  205. package/definitions/sharing-runtime.json +0 -1
  206. package/definitions/sharing.json +0 -956
  207. package/definitions/snapshot-runtime.json +0 -1
  208. package/definitions/snapshot.json +0 -1103
  209. package/definitions/submission-runtime.json +0 -1
  210. package/definitions/submission.json +0 -313
  211. package/definitions/targeting-runtime.json +0 -1
  212. package/definitions/targeting.json +0 -2285
  213. package/definitions/template-variables-runtime.json +0 -1
  214. package/definitions/template-variables.json +0 -1416
  215. package/definitions/user-runtime.json +0 -1
  216. package/definitions/user.json +0 -3051
  217. package/definitions/validation-rules-runtime.json +0 -1
  218. package/definitions/validation-rules.json +0 -2642
  219. package/definitions/webhooks-runtime.json +0 -1
  220. package/definitions/webhooks.json +0 -1875
  221. package/definitions/workflow-definition-runtime.json +0 -1
  222. package/definitions/workflow-definition.json +0 -3592
  223. package/definitions/workflow-runtime.json +0 -1
  224. package/definitions/workflow.json +0 -4669
  225. package/dist/integration-toolkit-GOFVOMNH.js +0 -7
  226. package/dist/integration-toolkit-XMM5LLK6.cjs +0 -7
@@ -1,1025 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "Access Token API",
5
- "version": "0.4.0",
6
- "description": "Generate Access Tokens for 3rd party applications that need access to epilot APIs.\n"
7
- },
8
- "tags": [
9
- {
10
- "name": "Access Tokens",
11
- "description": "Create Access Tokens for epilot APIs"
12
- },
13
- {
14
- "name": "Public",
15
- "description": "Well known endpoints to verify tokens generated by this API"
16
- }
17
- ],
18
- "security": [
19
- {
20
- "EpilotAuth": []
21
- },
22
- {
23
- "EpilotOrg": []
24
- }
25
- ],
26
- "paths": {
27
- "/v1/access-tokens": {
28
- "post": {
29
- "operationId": "createAccessToken",
30
- "summary": "createAccessToken",
31
- "description": "**Access Token type: `API`** (default if not specified):\n\nGenerates a new Access Token to use for calling epilot APIs.\n\nTakes optionally a list of Roles assigned to the Access Token. Defaults to current user's assignments\n\nSee [Permissions API docs](https://docs.epilot.io/api/permissions)\n\n**Access Token type: `JOURNEY`**:\n\nGenerates a Public Access Token related to a journey.\nThe journey id should be specfied.\n",
32
- "tags": [
33
- "Access Tokens"
34
- ],
35
- "requestBody": {
36
- "description": "Metadata for the Access Token",
37
- "content": {
38
- "application/json": {
39
- "schema": {
40
- "$ref": "#/components/schemas/TokenParameters"
41
- },
42
- "examples": {
43
- "api": {
44
- "value": {
45
- "name": "API Access Token",
46
- "token_type": "api",
47
- "assignments": []
48
- }
49
- },
50
- "journey": {
51
- "value": {
52
- "name": "Journey Access Token",
53
- "token_type": "journey",
54
- "journey_id": "u29g7-97gajsaog-028t02jag-a9a72tk"
55
- }
56
- },
57
- "portal": {
58
- "value": {
59
- "name": "Installer /End Customer Portal Access Token",
60
- "token_type": "portal",
61
- "portal_id": "END_CUSTOMER_PORTAL"
62
- }
63
- },
64
- "assume": {
65
- "value": {
66
- "name": "Assume Token intended for assuming a different role as a user",
67
- "token_type": "assume",
68
- "assignments": [
69
- "739224:employee"
70
- ]
71
- }
72
- },
73
- "portal_preview": {
74
- "value": {
75
- "name": "Portal Preview Token for previewing customer portal",
76
- "token_type": "portal_preview",
77
- "portal_id": "portal_abc123",
78
- "portal_user_id": "user_xyz789"
79
- }
80
- },
81
- "app": {
82
- "value": {
83
- "name": "App Access Token",
84
- "token_type": "app",
85
- "assignments": [
86
- "739224:e5c1f9b1-e41d-421d-83c4-c5626e464430"
87
- ]
88
- }
89
- },
90
- "contact_identification": {
91
- "value": {
92
- "name": "Contact Identification Token",
93
- "token_type": "contact_identification",
94
- "portal_id": "portal_abc123",
95
- "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
96
- "surface_id": "website-journeys",
97
- "allowed_operations": [
98
- "getContact",
99
- "getContracts"
100
- ],
101
- "expires_in": 300
102
- }
103
- }
104
- }
105
- }
106
- }
107
- },
108
- "responses": {
109
- "201": {
110
- "description": "The new generated Access Token",
111
- "content": {
112
- "application/json": {
113
- "schema": {
114
- "allOf": [
115
- {
116
- "properties": {
117
- "token": {
118
- "$ref": "#/components/schemas/AccessToken"
119
- }
120
- }
121
- },
122
- {
123
- "$ref": "#/components/schemas/AccessTokenItem"
124
- }
125
- ]
126
- }
127
- }
128
- }
129
- },
130
- "400": {
131
- "description": "Bad Request",
132
- "content": {
133
- "application/json": {
134
- "schema": {
135
- "type": "object",
136
- "properties": {
137
- "status": {
138
- "type": "integer"
139
- },
140
- "error": {
141
- "type": "string"
142
- }
143
- }
144
- }
145
- }
146
- }
147
- },
148
- "500": {
149
- "description": "Internal Server Error",
150
- "content": {
151
- "application/json": {
152
- "schema": {
153
- "type": "object",
154
- "properties": {
155
- "status": {
156
- "type": "integer"
157
- },
158
- "error": {
159
- "type": "string"
160
- }
161
- }
162
- }
163
- }
164
- }
165
- }
166
- }
167
- },
168
- "get": {
169
- "operationId": "listAccessTokens",
170
- "summary": "listAccessTokens",
171
- "description": "Lists all Access Tokens for current user (by default excludes system generated tokens)",
172
- "parameters": [
173
- {
174
- "in": "query",
175
- "name": "token_type",
176
- "description": "Filter by token types",
177
- "schema": {
178
- "type": "array",
179
- "items": {
180
- "$ref": "#/components/schemas/AccessTokenType"
181
- }
182
- }
183
- }
184
- ],
185
- "tags": [
186
- "Access Tokens"
187
- ],
188
- "responses": {
189
- "200": {
190
- "description": "List of Access Tokens",
191
- "content": {
192
- "application/json": {
193
- "schema": {
194
- "type": "array",
195
- "items": {
196
- "$ref": "#/components/schemas/AccessTokenItem"
197
- }
198
- }
199
- }
200
- }
201
- }
202
- }
203
- }
204
- },
205
- "/v1/access-tokens/{id}": {
206
- "delete": {
207
- "operationId": "revokeAccessToken",
208
- "summary": "revokeAccessToken",
209
- "description": "Revokes an Access Token so it can't be used anymore.",
210
- "parameters": [
211
- {
212
- "name": "id",
213
- "in": "path",
214
- "schema": {
215
- "$ref": "#/components/schemas/AccessTokenId"
216
- },
217
- "required": true
218
- }
219
- ],
220
- "tags": [
221
- "Access Tokens"
222
- ],
223
- "responses": {
224
- "200": {
225
- "description": "The revoked generated Access Token",
226
- "content": {
227
- "application/json": {
228
- "schema": {
229
- "$ref": "#/components/schemas/AccessTokenItem"
230
- }
231
- }
232
- }
233
- }
234
- }
235
- }
236
- },
237
- "/v1/access-tokens/.well-known/jwks.json": {
238
- "get": {
239
- "operationId": "getAccessTokenJwks",
240
- "summary": "getAccessTokenJwks",
241
- "description": "Get jwks public key set to verify access tokens generated by this API",
242
- "tags": [
243
- "Public"
244
- ],
245
- "security": [],
246
- "responses": {
247
- "200": {
248
- "description": "Set of jwks",
249
- "content": {
250
- "application/json": {
251
- "schema": {
252
- "type": "object",
253
- "properties": {
254
- "keys": {
255
- "type": "array",
256
- "items": {
257
- "type": "object",
258
- "properties": {
259
- "alg": {
260
- "type": "string",
261
- "example": "RS256"
262
- },
263
- "e": {
264
- "type": "string",
265
- "example": "AQAB"
266
- },
267
- "kid": {
268
- "type": "string",
269
- "example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
270
- },
271
- "kty": {
272
- "type": "string",
273
- "example": "RSA"
274
- },
275
- "n": {
276
- "type": "string",
277
- "example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
278
- },
279
- "use": {
280
- "type": "string",
281
- "example": "sig"
282
- }
283
- }
284
- }
285
- }
286
- }
287
- }
288
- }
289
- }
290
- }
291
- }
292
- }
293
- },
294
- "/v1/access-tokens/.well-known/openid-configuration": {
295
- "get": {
296
- "operationId": "getAccessTokenOIDC",
297
- "summary": "getAccessTokenOIDC",
298
- "description": "OpenID Connect configuration for Access Token API as identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
299
- "tags": [
300
- "Public"
301
- ],
302
- "security": [],
303
- "responses": {
304
- "200": {
305
- "description": "OpenID Configuration",
306
- "content": {
307
- "application/json": {
308
- "schema": {
309
- "type": "object",
310
- "properties": {
311
- "issuer": {
312
- "type": "string",
313
- "format": "uri",
314
- "example": "https://access-token.sls.epilot.io/v1/access-tokens"
315
- },
316
- "jwks_uri": {
317
- "type": "string",
318
- "format": "uri",
319
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"
320
- }
321
- }
322
- }
323
- }
324
- }
325
- }
326
- }
327
- }
328
- },
329
- "/v1/access-tokens/public/.well-known/jwks.json": {
330
- "get": {
331
- "operationId": "getPublicTokenJwks",
332
- "summary": "getPublicTokenJwks",
333
- "description": "Get jwks public key set to verify public tokens generated by this API",
334
- "tags": [
335
- "Public"
336
- ],
337
- "security": [],
338
- "responses": {
339
- "200": {
340
- "description": "Set of jwks",
341
- "content": {
342
- "application/json": {
343
- "schema": {
344
- "type": "object",
345
- "properties": {
346
- "keys": {
347
- "type": "array",
348
- "items": {
349
- "type": "object",
350
- "properties": {
351
- "alg": {
352
- "type": "string",
353
- "example": "RS256"
354
- },
355
- "e": {
356
- "type": "string",
357
- "example": "AQAB"
358
- },
359
- "kid": {
360
- "type": "string",
361
- "example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
362
- },
363
- "kty": {
364
- "type": "string",
365
- "example": "RSA"
366
- },
367
- "n": {
368
- "type": "string",
369
- "example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
370
- },
371
- "use": {
372
- "type": "string",
373
- "example": "sig"
374
- }
375
- }
376
- }
377
- }
378
- }
379
- }
380
- }
381
- }
382
- }
383
- }
384
- }
385
- },
386
- "/v1/access-tokens/portal-preview/.well-known/jwks.json": {
387
- "get": {
388
- "operationId": "getPortalPreviewTokenJwks",
389
- "summary": "getPortalPreviewTokenJwks",
390
- "description": "Get jwks public key set to verify portal preview tokens generated by this API",
391
- "tags": [
392
- "Public"
393
- ],
394
- "security": [],
395
- "responses": {
396
- "200": {
397
- "description": "Set of jwks",
398
- "content": {
399
- "application/json": {
400
- "schema": {
401
- "type": "object",
402
- "properties": {
403
- "keys": {
404
- "type": "array",
405
- "items": {
406
- "type": "object",
407
- "properties": {
408
- "alg": {
409
- "type": "string",
410
- "example": "RS256"
411
- },
412
- "e": {
413
- "type": "string",
414
- "example": "AQAB"
415
- },
416
- "kid": {
417
- "type": "string",
418
- "example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
419
- },
420
- "kty": {
421
- "type": "string",
422
- "example": "RSA"
423
- },
424
- "n": {
425
- "type": "string",
426
- "example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
427
- },
428
- "use": {
429
- "type": "string",
430
- "example": "sig"
431
- }
432
- }
433
- }
434
- }
435
- }
436
- }
437
- }
438
- }
439
- }
440
- }
441
- }
442
- },
443
- "/v1/access-tokens/public/.well-known/openid-configuration": {
444
- "get": {
445
- "operationId": "getPublicTokenOIDC",
446
- "summary": "getPublicTokenOIDC",
447
- "description": "OpenID Connect configuration for Access Token API a a public identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
448
- "tags": [
449
- "Public"
450
- ],
451
- "security": [],
452
- "responses": {
453
- "200": {
454
- "description": "OpenID Configuration",
455
- "content": {
456
- "application/json": {
457
- "schema": {
458
- "type": "object",
459
- "properties": {
460
- "issuer": {
461
- "type": "string",
462
- "format": "uri",
463
- "example": "https://access-token.sls.epilot.io/v1/access-tokens"
464
- },
465
- "jwks_uri": {
466
- "type": "string",
467
- "format": "uri",
468
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"
469
- }
470
- }
471
- }
472
- }
473
- }
474
- }
475
- }
476
- }
477
- },
478
- "/v1/access-tokens/portal-preview/.well-known/openid-configuration": {
479
- "get": {
480
- "operationId": "getPortalPreviewTokenOIDC",
481
- "summary": "getPortalPreviewTokenOIDC",
482
- "description": "OpenID Connect configuration for Access Token API a a portal preview identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
483
- "tags": [
484
- "Public"
485
- ],
486
- "security": [],
487
- "responses": {
488
- "200": {
489
- "description": "OpenID Configuration",
490
- "content": {
491
- "application/json": {
492
- "schema": {
493
- "type": "object",
494
- "properties": {
495
- "issuer": {
496
- "type": "string",
497
- "format": "uri",
498
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview"
499
- },
500
- "jwks_uri": {
501
- "type": "string",
502
- "format": "uri",
503
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview/.well-known/jwks.json"
504
- }
505
- }
506
- }
507
- }
508
- }
509
- }
510
- }
511
- }
512
- },
513
- "/v1/access-tokens/contact-identification/.well-known/jwks.json": {
514
- "get": {
515
- "operationId": "getContactIdentificationTokenJwks",
516
- "summary": "getContactIdentificationTokenJwks",
517
- "description": "Get jwks public key set to verify contact identification tokens generated by this API",
518
- "tags": [
519
- "Public"
520
- ],
521
- "security": [],
522
- "responses": {
523
- "200": {
524
- "description": "Set of jwks",
525
- "content": {
526
- "application/json": {
527
- "schema": {
528
- "type": "object",
529
- "properties": {
530
- "keys": {
531
- "type": "array",
532
- "items": {
533
- "type": "object",
534
- "properties": {
535
- "alg": {
536
- "type": "string",
537
- "example": "RS256"
538
- },
539
- "e": {
540
- "type": "string",
541
- "example": "AQAB"
542
- },
543
- "kid": {
544
- "type": "string",
545
- "example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
546
- },
547
- "kty": {
548
- "type": "string",
549
- "example": "RSA"
550
- },
551
- "n": {
552
- "type": "string",
553
- "example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
554
- },
555
- "use": {
556
- "type": "string",
557
- "example": "sig"
558
- }
559
- }
560
- }
561
- }
562
- }
563
- }
564
- }
565
- }
566
- }
567
- }
568
- }
569
- },
570
- "/v1/access-tokens/contact-identification/.well-known/openid-configuration": {
571
- "get": {
572
- "operationId": "getContactIdentificationTokenOIDC",
573
- "summary": "getContactIdentificationTokenOIDC",
574
- "description": "OpenID Connect configuration for Access Token API as a contact identification identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
575
- "tags": [
576
- "Public"
577
- ],
578
- "security": [],
579
- "responses": {
580
- "200": {
581
- "description": "OpenID Configuration",
582
- "content": {
583
- "application/json": {
584
- "schema": {
585
- "type": "object",
586
- "properties": {
587
- "issuer": {
588
- "type": "string",
589
- "format": "uri",
590
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification"
591
- },
592
- "jwks_uri": {
593
- "type": "string",
594
- "format": "uri",
595
- "example": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification/.well-known/jwks.json"
596
- }
597
- }
598
- }
599
- }
600
- }
601
- }
602
- }
603
- }
604
- }
605
- },
606
- "components": {
607
- "securitySchemes": {
608
- "EpilotAuth": {
609
- "type": "http",
610
- "scheme": "bearer",
611
- "description": "Authorization header with epilot OAuth2 bearer token",
612
- "bearerFormat": "JWT"
613
- },
614
- "EpilotOrg": {
615
- "description": "Overrides the target organization to allow shared tenantaccess",
616
- "name": "x-epilot-org-id",
617
- "in": "header",
618
- "type": "apiKey"
619
- }
620
- },
621
- "schemas": {
622
- "AccessToken": {
623
- "type": "string",
624
- "description": "A JWT Access Token",
625
- "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp..."
626
- },
627
- "AccessTokenId": {
628
- "type": "string",
629
- "example": "api_5ZugdRXasLfWBypHi93Fk"
630
- },
631
- "AccessTokenName": {
632
- "type": "string",
633
- "description": "Human readable name for access token",
634
- "example": "Postman Access Token"
635
- },
636
- "AccessTokenType": {
637
- "type": "string",
638
- "enum": [
639
- "api",
640
- "journey",
641
- "portal",
642
- "assume",
643
- "app",
644
- "portal_preview",
645
- "contact_identification"
646
- ],
647
- "description": "Access token type",
648
- "example": "api"
649
- },
650
- "AccessTokenJourneyId": {
651
- "type": "string",
652
- "description": "Journey ID for access token type \"journey\""
653
- },
654
- "PortalId": {
655
- "type": "string",
656
- "description": "Portal ID for access token type \"portal\""
657
- },
658
- "PortalUserId": {
659
- "type": "string",
660
- "description": "Portal User ID for access token type \"portal_preview\""
661
- },
662
- "ContactId": {
663
- "type": "string",
664
- "description": "Contact entity ID for access token type \"contact_identification\"",
665
- "example": "5da0a718-c822-403d-9f5d-20d4584e0528"
666
- },
667
- "AllowedOperations": {
668
- "type": "array",
669
- "description": "openapi operationIds the token may call. Enforced by the API that consumes the token, which must additionally deny any operation not on this list. Baked into the token at issue time so widening the consumer's own allowlist later cannot retroactively widen a token that is already in circulation.",
670
- "items": {
671
- "type": "string"
672
- },
673
- "example": [
674
- "getContact",
675
- "getContracts"
676
- ]
677
- },
678
- "TokenParameters": {
679
- "anyOf": [
680
- {
681
- "$ref": "#/components/schemas/AccessTokenParameters"
682
- },
683
- {
684
- "$ref": "#/components/schemas/JourneyTokenParameters"
685
- },
686
- {
687
- "$ref": "#/components/schemas/PortalTokenParameters"
688
- },
689
- {
690
- "$ref": "#/components/schemas/AssumeTokenParameters"
691
- },
692
- {
693
- "$ref": "#/components/schemas/AppTokenParameters"
694
- },
695
- {
696
- "$ref": "#/components/schemas/PortalPreviewTokenParameters"
697
- },
698
- {
699
- "$ref": "#/components/schemas/ContactIdentificationTokenParameters"
700
- }
701
- ]
702
- },
703
- "ExpiresIn": {
704
- "oneOf": [
705
- {
706
- "type": "integer",
707
- "format": "int32",
708
- "description": "Expiration time in seconds. api tokens may live up to 365 days (31536000); all other token types are capped at 7 days (604800) server-side.",
709
- "example": 3600,
710
- "minimum": 30,
711
- "maximum": 31536000
712
- },
713
- {
714
- "type": "string",
715
- "description": "Expiration time as a string with time units (e.g., '10h', '7d', '2 days')",
716
- "example": "1h",
717
- "pattern": "^[0-9]+ ?(ms|milliseconds?|s|seconds?|m|minutes?|h|hours?|d|days?|w|weeks?|y|years?)?$"
718
- }
719
- ]
720
- },
721
- "ReadOnly": {
722
- "type": "boolean",
723
- "description": "When true, the issued token may only perform read-only actions. Any action guarded by permissions that is not read-only (i.e. not a view/export/download action) is denied, regardless of the roles the token carries.",
724
- "example": true
725
- },
726
- "Anonymize": {
727
- "type": "boolean",
728
- "default": false,
729
- "description": "Forces PII anonymization on all entity data returned to this token. Cannot be disabled by the token bearer. See entity-api anonymized responses.",
730
- "example": true
731
- },
732
- "AccessTokenParameters": {
733
- "type": "object",
734
- "additionalProperties": false,
735
- "properties": {
736
- "name": {
737
- "$ref": "#/components/schemas/AccessTokenName"
738
- },
739
- "token_type": {
740
- "type": "string",
741
- "enum": [
742
- "api"
743
- ]
744
- },
745
- "assignments": {
746
- "$ref": "#/components/schemas/Assignments"
747
- },
748
- "expires_in": {
749
- "$ref": "#/components/schemas/ExpiresIn"
750
- },
751
- "read_only": {
752
- "$ref": "#/components/schemas/ReadOnly"
753
- },
754
- "anonymize": {
755
- "$ref": "#/components/schemas/Anonymize"
756
- }
757
- },
758
- "required": [
759
- "name"
760
- ]
761
- },
762
- "JourneyTokenParameters": {
763
- "type": "object",
764
- "additionalProperties": false,
765
- "properties": {
766
- "name": {
767
- "$ref": "#/components/schemas/AccessTokenName"
768
- },
769
- "token_type": {
770
- "type": "string",
771
- "enum": [
772
- "journey"
773
- ]
774
- },
775
- "journey_id": {
776
- "$ref": "#/components/schemas/AccessTokenJourneyId"
777
- },
778
- "expires_in": {
779
- "$ref": "#/components/schemas/ExpiresIn"
780
- }
781
- },
782
- "required": [
783
- "name",
784
- "journey_id"
785
- ]
786
- },
787
- "PortalTokenParameters": {
788
- "type": "object",
789
- "additionalProperties": false,
790
- "properties": {
791
- "name": {
792
- "$ref": "#/components/schemas/AccessTokenName"
793
- },
794
- "token_type": {
795
- "type": "string",
796
- "enum": [
797
- "portal"
798
- ]
799
- },
800
- "portal_id": {
801
- "$ref": "#/components/schemas/PortalId"
802
- },
803
- "expires_in": {
804
- "$ref": "#/components/schemas/ExpiresIn"
805
- }
806
- },
807
- "required": [
808
- "name",
809
- "portal_id"
810
- ]
811
- },
812
- "AssumeTokenParameters": {
813
- "type": "object",
814
- "additionalProperties": false,
815
- "properties": {
816
- "name": {
817
- "$ref": "#/components/schemas/AccessTokenName"
818
- },
819
- "token_type": {
820
- "type": "string",
821
- "enum": [
822
- "assume"
823
- ]
824
- },
825
- "assignments": {
826
- "$ref": "#/components/schemas/Assignments"
827
- },
828
- "read_only": {
829
- "$ref": "#/components/schemas/ReadOnly"
830
- },
831
- "anonymize": {
832
- "$ref": "#/components/schemas/Anonymize"
833
- }
834
- },
835
- "required": [
836
- "name"
837
- ]
838
- },
839
- "AppTokenParameters": {
840
- "type": "object",
841
- "additionalProperties": false,
842
- "properties": {
843
- "name": {
844
- "$ref": "#/components/schemas/AccessTokenName"
845
- },
846
- "token_type": {
847
- "type": "string",
848
- "enum": [
849
- "app"
850
- ]
851
- },
852
- "assignments": {
853
- "$ref": "#/components/schemas/Assignments"
854
- },
855
- "expires_in": {
856
- "$ref": "#/components/schemas/ExpiresIn"
857
- },
858
- "read_only": {
859
- "$ref": "#/components/schemas/ReadOnly"
860
- },
861
- "anonymize": {
862
- "$ref": "#/components/schemas/Anonymize"
863
- }
864
- },
865
- "required": [
866
- "name"
867
- ]
868
- },
869
- "PortalPreviewTokenParameters": {
870
- "type": "object",
871
- "additionalProperties": false,
872
- "properties": {
873
- "name": {
874
- "$ref": "#/components/schemas/AccessTokenName"
875
- },
876
- "token_type": {
877
- "type": "string",
878
- "enum": [
879
- "portal_preview"
880
- ]
881
- },
882
- "portal_id": {
883
- "$ref": "#/components/schemas/PortalId"
884
- },
885
- "portal_user_id": {
886
- "$ref": "#/components/schemas/PortalUserId"
887
- }
888
- },
889
- "required": [
890
- "name",
891
- "portal_id",
892
- "portal_user_id"
893
- ]
894
- },
895
- "ContactIdentificationTokenParameters": {
896
- "type": "object",
897
- "additionalProperties": false,
898
- "description": "A token that acts as one contact, issued after that contact was identified by a portal's registration identifiers rather than by logging in. Distinct from portal_preview, which impersonates an existing portal user for a 360 operator: this kind belongs to no user, is minted for an unauthenticated caller, and is therefore always short-lived and restricted to an explicit operation allowlist. Never stored, so it cannot be listed or revoked - keep expires_in short.",
899
- "properties": {
900
- "name": {
901
- "$ref": "#/components/schemas/AccessTokenName"
902
- },
903
- "token_type": {
904
- "type": "string",
905
- "enum": [
906
- "contact_identification"
907
- ]
908
- },
909
- "portal_id": {
910
- "$ref": "#/components/schemas/PortalId"
911
- },
912
- "contact_id": {
913
- "$ref": "#/components/schemas/ContactId"
914
- },
915
- "surface_id": {
916
- "type": "string",
917
- "minLength": 1,
918
- "maxLength": 64,
919
- "description": "Portal surface the token is issued for (see `surfaces` on the portal config in customer-portal-api). Carried as the `custom:surface_id` claim; the consuming API resolves the surface's data access from the portal config on every request.",
920
- "example": "website-journeys"
921
- },
922
- "allowed_operations": {
923
- "$ref": "#/components/schemas/AllowedOperations"
924
- },
925
- "expires_in": {
926
- "type": "integer",
927
- "format": "int32",
928
- "minimum": 60,
929
- "maximum": 900,
930
- "description": "Lifetime in seconds. Integer only for this token type (no \"5m\" strings), and capped server-side by CONTACT_IDENTIFICATION_TOKEN_MAX_EXPIRATION_SECONDS - the value originates from portal configuration, so it is not trusted as-is.",
931
- "example": 300
932
- },
933
- "email": {
934
- "type": "string",
935
- "description": "Optional. Carried as the `email` claim when the consumer needs it (e.g. to attribute an activity). Omit to keep the contact's email out of the token."
936
- }
937
- },
938
- "required": [
939
- "name",
940
- "portal_id",
941
- "contact_id",
942
- "surface_id",
943
- "allowed_operations",
944
- "expires_in"
945
- ]
946
- },
947
- "AccessTokenItem": {
948
- "type": "object",
949
- "properties": {
950
- "id": {
951
- "$ref": "#/components/schemas/AccessTokenId"
952
- },
953
- "created_at": {
954
- "type": "string",
955
- "format": "date-time"
956
- },
957
- "name": {
958
- "$ref": "#/components/schemas/AccessTokenName"
959
- },
960
- "token_type": {
961
- "$ref": "#/components/schemas/AccessTokenType"
962
- },
963
- "journey_id": {
964
- "$ref": "#/components/schemas/AccessTokenJourneyId"
965
- },
966
- "portal_id": {
967
- "$ref": "#/components/schemas/PortalId"
968
- },
969
- "portal_user_id": {
970
- "$ref": "#/components/schemas/PortalUserId"
971
- },
972
- "contact_id": {
973
- "$ref": "#/components/schemas/ContactId"
974
- },
975
- "allowed_operations": {
976
- "$ref": "#/components/schemas/AllowedOperations"
977
- },
978
- "assignments": {
979
- "$ref": "#/components/schemas/Assignments"
980
- },
981
- "read_only": {
982
- "$ref": "#/components/schemas/ReadOnly"
983
- },
984
- "anonymize": {
985
- "$ref": "#/components/schemas/Anonymize"
986
- },
987
- "last_used": {
988
- "type": "string",
989
- "format": "date",
990
- "description": "Last date the token was used (YYYY-MM-DD format, 1 day accuracy)",
991
- "example": "2026-02-24"
992
- },
993
- "expires_at": {
994
- "type": "string",
995
- "format": "date-time",
996
- "description": "Timestamp when the token expires and stops being accepted (only set for tokens created with expires_in)",
997
- "example": "2026-03-01T12:00:00.000Z"
998
- }
999
- },
1000
- "required": [
1001
- "id",
1002
- "created_at",
1003
- "name"
1004
- ]
1005
- },
1006
- "RoleId": {
1007
- "type": "string",
1008
- "example": "123:owner",
1009
- "description": "Format: <organization_id>:<slug>"
1010
- },
1011
- "Assignments": {
1012
- "type": "array",
1013
- "description": "List of role ids attached to an user",
1014
- "items": {
1015
- "$ref": "#/components/schemas/RoleId"
1016
- }
1017
- }
1018
- }
1019
- },
1020
- "servers": [
1021
- {
1022
- "url": "https://access-token.sls.epilot.io"
1023
- }
1024
- ]
1025
- }