@epilot/sdk 2.20.23 → 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 (233) 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.d.cts +2 -2
  45. package/dist/apis/entity-mapping.d.ts +2 -2
  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/file.cjs +6 -6
  54. package/dist/apis/file.js +1 -1
  55. package/dist/apis/iban.cjs +6 -6
  56. package/dist/apis/iban.js +1 -1
  57. package/dist/apis/integration-toolkit.cjs +6 -6
  58. package/dist/apis/integration-toolkit.d.cts +2 -2
  59. package/dist/apis/integration-toolkit.d.ts +2 -2
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +6 -6
  62. package/dist/apis/journey.js +1 -1
  63. package/dist/apis/kanban.cjs +6 -6
  64. package/dist/apis/kanban.js +1 -1
  65. package/dist/apis/message.cjs +6 -6
  66. package/dist/apis/message.js +1 -1
  67. package/dist/apis/metering.cjs +6 -6
  68. package/dist/apis/metering.js +1 -1
  69. package/dist/apis/notes.cjs +6 -6
  70. package/dist/apis/notes.js +1 -1
  71. package/dist/apis/notification.cjs +6 -6
  72. package/dist/apis/notification.js +1 -1
  73. package/dist/apis/organization.cjs +6 -6
  74. package/dist/apis/organization.js +1 -1
  75. package/dist/apis/partner-directory.cjs +6 -6
  76. package/dist/apis/partner-directory.js +1 -1
  77. package/dist/apis/permissions.cjs +6 -6
  78. package/dist/apis/permissions.js +1 -1
  79. package/dist/apis/pricing-tier.cjs +6 -6
  80. package/dist/apis/pricing-tier.js +1 -1
  81. package/dist/apis/pricing.cjs +6 -6
  82. package/dist/apis/pricing.js +1 -1
  83. package/dist/apis/purpose.cjs +6 -6
  84. package/dist/apis/purpose.js +1 -1
  85. package/dist/apis/query.cjs +6 -6
  86. package/dist/apis/query.js +1 -1
  87. package/dist/apis/sandbox.cjs +6 -6
  88. package/dist/apis/sandbox.js +1 -1
  89. package/dist/apis/sharing.cjs +6 -6
  90. package/dist/apis/sharing.js +1 -1
  91. package/dist/apis/snapshot.cjs +6 -6
  92. package/dist/apis/snapshot.js +1 -1
  93. package/dist/apis/submission.cjs +6 -6
  94. package/dist/apis/submission.js +1 -1
  95. package/dist/apis/target.cjs +6 -6
  96. package/dist/apis/target.js +1 -1
  97. package/dist/apis/targeting.cjs +6 -6
  98. package/dist/apis/targeting.js +1 -1
  99. package/dist/apis/template-variables.cjs +6 -6
  100. package/dist/apis/template-variables.js +1 -1
  101. package/dist/apis/user.cjs +6 -6
  102. package/dist/apis/user.js +1 -1
  103. package/dist/apis/validation-rules.cjs +6 -6
  104. package/dist/apis/validation-rules.js +1 -1
  105. package/dist/apis/webhooks.cjs +6 -6
  106. package/dist/apis/webhooks.js +1 -1
  107. package/dist/apis/workflow-definition.cjs +6 -6
  108. package/dist/apis/workflow-definition.js +1 -1
  109. package/dist/apis/workflow.cjs +6 -6
  110. package/dist/apis/workflow.js +1 -1
  111. package/dist/{chunk-YCTBOY3T.cjs → chunk-PZ4TXAF5.cjs} +2 -2
  112. package/dist/{chunk-KZXOYL5D.js → chunk-X742W7MI.js} +2 -2
  113. package/dist/{entity-mapping-D67LJE74.js → entity-mapping-CBRH3VBZ.js} +1 -1
  114. package/dist/{entity-mapping-WFPSOXRK.cjs → entity-mapping-WE3QMZWA.cjs} +1 -1
  115. package/dist/{entity-mapping.d-CQv75o8M.d.cts → entity-mapping.d-8MtWa2_L.d.cts} +22 -0
  116. package/dist/{entity-mapping.d-CQv75o8M.d.ts → entity-mapping.d-8MtWa2_L.d.ts} +22 -0
  117. package/dist/index.cjs +8 -8
  118. package/dist/index.d.cts +2 -2
  119. package/dist/index.d.ts +2 -2
  120. package/dist/index.js +1 -1
  121. package/dist/integration-toolkit-FHPQSYLH.js +7 -0
  122. package/dist/integration-toolkit-YBZJK4IG.cjs +7 -0
  123. package/dist/{integration-toolkit.d-bhpB79pc.d.ts → integration-toolkit.d--hon4GPp.d.cts} +79 -26
  124. package/dist/{integration-toolkit.d-bhpB79pc.d.cts → integration-toolkit.d--hon4GPp.d.ts} +79 -26
  125. package/docs/entity-mapping.md +19 -0
  126. package/docs/integration-toolkit.md +19 -250
  127. package/package.json +1 -1
  128. package/definitions/access-token-runtime.json +0 -1
  129. package/definitions/access-token.json +0 -1025
  130. package/definitions/address-runtime.json +0 -1
  131. package/definitions/address-suggestions-runtime.json +0 -1
  132. package/definitions/address-suggestions.json +0 -582
  133. package/definitions/address.json +0 -578
  134. package/definitions/ai-agents-runtime.json +0 -1
  135. package/definitions/ai-agents.json +0 -2863
  136. package/definitions/app-runtime.json +0 -1
  137. package/definitions/app.json +0 -5994
  138. package/definitions/audit-logs-runtime.json +0 -1
  139. package/definitions/audit-logs.json +0 -305
  140. package/definitions/automation-runtime.json +0 -1
  141. package/definitions/automation.json +0 -5979
  142. package/definitions/billing-runtime.json +0 -1
  143. package/definitions/billing.json +0 -2394
  144. package/definitions/blueprint-manifest-runtime.json +0 -1
  145. package/definitions/blueprint-manifest.json +0 -7817
  146. package/definitions/calendar-runtime.json +0 -1
  147. package/definitions/calendar.json +0 -2904
  148. package/definitions/chat-runtime.json +0 -1
  149. package/definitions/chat.json +0 -2909
  150. package/definitions/configuration-hub-runtime.json +0 -1
  151. package/definitions/configuration-hub.json +0 -2250
  152. package/definitions/consent-runtime.json +0 -1
  153. package/definitions/consent.json +0 -344
  154. package/definitions/customer-portal-runtime.json +0 -1
  155. package/definitions/customer-portal.json +0 -21181
  156. package/definitions/dashboard-runtime.json +0 -1
  157. package/definitions/dashboard.json +0 -1355
  158. package/definitions/data-governance-runtime.json +0 -1
  159. package/definitions/data-governance.json +0 -1126
  160. package/definitions/deduplication-runtime.json +0 -1
  161. package/definitions/deduplication.json +0 -782
  162. package/definitions/design-runtime.json +0 -1
  163. package/definitions/design.json +0 -1827
  164. package/definitions/document-runtime.json +0 -1
  165. package/definitions/document.json +0 -758
  166. package/definitions/email-settings-runtime.json +0 -1
  167. package/definitions/email-settings.json +0 -3736
  168. package/definitions/email-template-runtime.json +0 -1
  169. package/definitions/email-template.json +0 -1441
  170. package/definitions/entity-mapping-runtime.json +0 -1
  171. package/definitions/entity-mapping.json +0 -1829
  172. package/definitions/entity-runtime.json +0 -1
  173. package/definitions/entity.json +0 -11546
  174. package/definitions/environments-runtime.json +0 -1
  175. package/definitions/environments.json +0 -988
  176. package/definitions/event-catalog-runtime.json +0 -1
  177. package/definitions/event-catalog.json +0 -2014
  178. package/definitions/file-runtime.json +0 -1
  179. package/definitions/file.json +0 -4298
  180. package/definitions/iban-runtime.json +0 -1
  181. package/definitions/iban.json +0 -132
  182. package/definitions/integration-toolkit-runtime.json +0 -1
  183. package/definitions/integration-toolkit.json +0 -13069
  184. package/definitions/journey-runtime.json +0 -1
  185. package/definitions/journey.json +0 -3586
  186. package/definitions/kanban-runtime.json +0 -1
  187. package/definitions/kanban.json +0 -1506
  188. package/definitions/message-runtime.json +0 -1
  189. package/definitions/message.json +0 -3667
  190. package/definitions/metering-runtime.json +0 -1
  191. package/definitions/metering.json +0 -3132
  192. package/definitions/notes-runtime.json +0 -1
  193. package/definitions/notes.json +0 -1698
  194. package/definitions/notification-runtime.json +0 -1
  195. package/definitions/notification.json +0 -1439
  196. package/definitions/organization-runtime.json +0 -1
  197. package/definitions/organization.json +0 -1192
  198. package/definitions/partner-directory-runtime.json +0 -1
  199. package/definitions/partner-directory.json +0 -2284
  200. package/definitions/permissions-runtime.json +0 -1
  201. package/definitions/permissions.json +0 -1598
  202. package/definitions/pricing-runtime.json +0 -1
  203. package/definitions/pricing-tier-runtime.json +0 -1
  204. package/definitions/pricing-tier.json +0 -105
  205. package/definitions/pricing.json +0 -14369
  206. package/definitions/purpose-runtime.json +0 -1
  207. package/definitions/purpose.json +0 -524
  208. package/definitions/query-runtime.json +0 -1
  209. package/definitions/query.json +0 -3178
  210. package/definitions/sandbox-runtime.json +0 -1
  211. package/definitions/sandbox.json +0 -453
  212. package/definitions/sharing-runtime.json +0 -1
  213. package/definitions/sharing.json +0 -956
  214. package/definitions/snapshot-runtime.json +0 -1
  215. package/definitions/snapshot.json +0 -1103
  216. package/definitions/submission-runtime.json +0 -1
  217. package/definitions/submission.json +0 -313
  218. package/definitions/targeting-runtime.json +0 -1
  219. package/definitions/targeting.json +0 -2285
  220. package/definitions/template-variables-runtime.json +0 -1
  221. package/definitions/template-variables.json +0 -1416
  222. package/definitions/user-runtime.json +0 -1
  223. package/definitions/user.json +0 -3051
  224. package/definitions/validation-rules-runtime.json +0 -1
  225. package/definitions/validation-rules.json +0 -2642
  226. package/definitions/webhooks-runtime.json +0 -1
  227. package/definitions/webhooks.json +0 -1875
  228. package/definitions/workflow-definition-runtime.json +0 -1
  229. package/definitions/workflow-definition.json +0 -3592
  230. package/definitions/workflow-runtime.json +0 -1
  231. package/definitions/workflow.json +0 -4669
  232. package/dist/integration-toolkit-GOFVOMNH.js +0 -7
  233. package/dist/integration-toolkit-XMM5LLK6.cjs +0 -7
@@ -1,782 +0,0 @@
1
- {
2
- "openapi": "3.0.2",
3
- "info": {
4
- "version": "3.0.0",
5
- "title": "Deduplication API",
6
- "description": "Backend for Epilot Deduplication feature"
7
- },
8
- "security": [
9
- {
10
- "EpilotAuth": []
11
- }
12
- ],
13
- "paths": {
14
- "/v1/deduplicate": {
15
- "post": {
16
- "operationId": "deduplicate",
17
- "summary": "deduplicate",
18
- "description": "Deduplicates Entities",
19
- "tags": [],
20
- "requestBody": {
21
- "content": {
22
- "application/json": {
23
- "schema": {
24
- "$ref": "#/components/schemas/DeduplicateRequestBody"
25
- }
26
- }
27
- }
28
- },
29
- "responses": {
30
- "200": {
31
- "description": "Successful response with Deduplication content",
32
- "content": {
33
- "application/json": {
34
- "schema": {
35
- "$ref": "#/components/schemas/DeduplicateRequestResponse"
36
- }
37
- }
38
- }
39
- }
40
- }
41
- }
42
- },
43
- "/v1/deduplicate/job": {
44
- "post": {
45
- "operationId": "deduplicateAsync",
46
- "summary": "deduplicateAsync",
47
- "description": "Submits an async deduplication job. Returns a job ID immediately. Poll GET /v1/deduplicate/jobs/{jobId} for status.",
48
- "tags": [],
49
- "requestBody": {
50
- "content": {
51
- "application/json": {
52
- "schema": {
53
- "$ref": "#/components/schemas/DeduplicateRequestBody"
54
- }
55
- }
56
- }
57
- },
58
- "responses": {
59
- "202": {
60
- "description": "Job accepted. Use the returned jobId to poll for status.",
61
- "content": {
62
- "application/json": {
63
- "schema": {
64
- "$ref": "#/components/schemas/DeduplicateAsyncResponse"
65
- }
66
- }
67
- }
68
- }
69
- }
70
- }
71
- },
72
- "/v1/deduplicate/jobs/{jobId}": {
73
- "get": {
74
- "operationId": "getDeduplicationJob",
75
- "summary": "getDeduplicationJob",
76
- "description": "Returns the current status of an async deduplication job",
77
- "tags": [],
78
- "parameters": [
79
- {
80
- "name": "jobId",
81
- "in": "path",
82
- "required": true,
83
- "schema": {
84
- "type": "string"
85
- },
86
- "description": "The job ID returned by POST /v1/deduplicate/job"
87
- }
88
- ],
89
- "responses": {
90
- "200": {
91
- "description": "Current job status",
92
- "content": {
93
- "application/json": {
94
- "schema": {
95
- "$ref": "#/components/schemas/DeduplicationJob"
96
- }
97
- }
98
- }
99
- },
100
- "404": {
101
- "description": "Job not found"
102
- }
103
- }
104
- }
105
- },
106
- "/v1/detect-duplicates": {
107
- "post": {
108
- "operationId": "detectDuplicates",
109
- "summary": "detectDuplicates",
110
- "description": "Detects potential duplicate entities for the given entity using the schema's prioritized uniqueness rules. Returns matches with a confidence score.",
111
- "tags": [],
112
- "requestBody": {
113
- "content": {
114
- "application/json": {
115
- "schema": {
116
- "$ref": "#/components/schemas/DetectDuplicatesRequestBody"
117
- }
118
- }
119
- }
120
- },
121
- "responses": {
122
- "200": {
123
- "description": "Potential duplicates ranked by rule priority",
124
- "content": {
125
- "application/json": {
126
- "schema": {
127
- "$ref": "#/components/schemas/DetectDuplicatesResponse"
128
- }
129
- }
130
- }
131
- }
132
- }
133
- }
134
- },
135
- "/v1/duplicates/dismiss": {
136
- "post": {
137
- "operationId": "dismissDuplicates",
138
- "summary": "dismissDuplicates",
139
- "description": "Confirms entities as NOT duplicates: clears the internal duplicate-detection flags (_matching_entities) on each given entity, so they stop appearing as open duplicate sets. The records themselves are not modified otherwise.",
140
- "tags": [],
141
- "requestBody": {
142
- "content": {
143
- "application/json": {
144
- "schema": {
145
- "$ref": "#/components/schemas/DismissDuplicatesRequestBody"
146
- }
147
- }
148
- }
149
- },
150
- "responses": {
151
- "200": {
152
- "description": "Flags cleared",
153
- "content": {
154
- "application/json": {
155
- "schema": {
156
- "$ref": "#/components/schemas/DismissDuplicatesResponse"
157
- }
158
- }
159
- }
160
- }
161
- }
162
- }
163
- },
164
- "/v1/uniqueness-criteria": {
165
- "get": {
166
- "operationId": "listUniquenessCriteria",
167
- "summary": "listUniquenessCriteria",
168
- "description": "Lists UniquenessCriteria for the requesting organization. Optionally filtered by schema.",
169
- "tags": [],
170
- "parameters": [
171
- {
172
- "name": "schema",
173
- "in": "query",
174
- "required": false,
175
- "schema": {
176
- "type": "string"
177
- },
178
- "description": "Filter results to a specific entity schema."
179
- }
180
- ],
181
- "responses": {
182
- "200": {
183
- "description": "Array of UniquenessCriteria records",
184
- "content": {
185
- "application/json": {
186
- "schema": {
187
- "$ref": "#/components/schemas/UniquenessCriteriaListResponse"
188
- }
189
- }
190
- }
191
- }
192
- }
193
- },
194
- "post": {
195
- "operationId": "createUniquenessCriteria",
196
- "summary": "createUniquenessCriteria",
197
- "description": "Creates a new UniquenessCriteria record.",
198
- "tags": [],
199
- "requestBody": {
200
- "content": {
201
- "application/json": {
202
- "schema": {
203
- "$ref": "#/components/schemas/UniquenessCriteriaCreateBody"
204
- }
205
- }
206
- }
207
- },
208
- "responses": {
209
- "201": {
210
- "description": "Created record",
211
- "content": {
212
- "application/json": {
213
- "schema": {
214
- "$ref": "#/components/schemas/UniquenessCriteria"
215
- }
216
- }
217
- }
218
- }
219
- }
220
- }
221
- },
222
- "/v1/uniqueness-criteria/{schema}": {
223
- "get": {
224
- "operationId": "getUniquenessCriteria",
225
- "summary": "getUniquenessCriteria",
226
- "description": "Fetch a single UniquenessCriteria record.",
227
- "tags": [],
228
- "parameters": [
229
- {
230
- "name": "schema",
231
- "in": "path",
232
- "required": true,
233
- "schema": {
234
- "type": "string"
235
- },
236
- "description": "Entity schema slug."
237
- }
238
- ],
239
- "responses": {
240
- "200": {
241
- "description": "The criteria record",
242
- "content": {
243
- "application/json": {
244
- "schema": {
245
- "$ref": "#/components/schemas/UniquenessCriteria"
246
- }
247
- }
248
- }
249
- },
250
- "404": {
251
- "description": "Record not found"
252
- }
253
- }
254
- },
255
- "put": {
256
- "operationId": "updateUniquenessCriteria",
257
- "summary": "updateUniquenessCriteria",
258
- "description": "Replace the matchRules on an existing UniquenessCriteria record.",
259
- "tags": [],
260
- "parameters": [
261
- {
262
- "name": "schema",
263
- "in": "path",
264
- "required": true,
265
- "schema": {
266
- "type": "string"
267
- },
268
- "description": "Entity schema slug."
269
- }
270
- ],
271
- "requestBody": {
272
- "content": {
273
- "application/json": {
274
- "schema": {
275
- "$ref": "#/components/schemas/UniquenessCriteriaUpdateBody"
276
- }
277
- }
278
- }
279
- },
280
- "responses": {
281
- "200": {
282
- "description": "Updated record",
283
- "content": {
284
- "application/json": {
285
- "schema": {
286
- "$ref": "#/components/schemas/UniquenessCriteria"
287
- }
288
- }
289
- }
290
- },
291
- "404": {
292
- "description": "Record not found"
293
- }
294
- }
295
- },
296
- "delete": {
297
- "operationId": "deleteUniquenessCriteria",
298
- "summary": "deleteUniquenessCriteria",
299
- "description": "Delete a UniquenessCriteria record.",
300
- "tags": [],
301
- "parameters": [
302
- {
303
- "name": "schema",
304
- "in": "path",
305
- "required": true,
306
- "schema": {
307
- "type": "string"
308
- },
309
- "description": "Entity schema slug."
310
- }
311
- ],
312
- "responses": {
313
- "204": {
314
- "description": "Record deleted"
315
- },
316
- "404": {
317
- "description": "Record not found"
318
- }
319
- }
320
- }
321
- }
322
- },
323
- "components": {
324
- "securitySchemes": {
325
- "EpilotAuth": {
326
- "type": "http",
327
- "scheme": "bearer",
328
- "description": "Authorization header with epilot OAuth2 bearer token",
329
- "bearerFormat": "JWT"
330
- }
331
- },
332
- "schemas": {
333
- "DeduplicateRequestBody": {
334
- "type": "array",
335
- "items": {
336
- "type": "object",
337
- "properties": {
338
- "toKeep": {
339
- "type": "string",
340
- "minLength": 1,
341
- "description": "Entity id to keep and merge the duplicates into"
342
- },
343
- "toDelete": {
344
- "type": "array",
345
- "items": {
346
- "type": "string",
347
- "minLength": 1
348
- },
349
- "minItems": 1,
350
- "description": "Non-empty list of duplicate entity ids to merge into toKeep and delete"
351
- }
352
- },
353
- "required": [
354
- "toKeep",
355
- "toDelete"
356
- ]
357
- },
358
- "minItems": 1
359
- },
360
- "DeduplicateRequestResponse": {
361
- "type": "object",
362
- "properties": {
363
- "deduplicatedEntities": {
364
- "type": "array",
365
- "items": {
366
- "$ref": "#/components/schemas/Entity"
367
- },
368
- "description": "The merged survivor entity of each processed set"
369
- }
370
- },
371
- "required": [
372
- "deduplicatedEntities"
373
- ]
374
- },
375
- "Entity": {
376
- "type": "object",
377
- "properties": {
378
- "_id": {
379
- "type": "string",
380
- "description": "Entity ID of the Deduplication entry"
381
- },
382
- "_org": {
383
- "type": "string",
384
- "description": "ID of the Organization that owns this Deduplication"
385
- },
386
- "_schema": {
387
- "type": "string",
388
- "description": "The Entity schema of this Deduplication"
389
- },
390
- "_created_at": {
391
- "type": "string",
392
- "description": "The timestamp of when this Deduplication was created",
393
- "format": "date-time"
394
- },
395
- "_updated_at": {
396
- "type": "string",
397
- "description": "The timestamp of when this Deduplication was last updated",
398
- "format": "date-time"
399
- },
400
- "_created_by": {
401
- "anyOf": [
402
- {
403
- "type": "string"
404
- },
405
- {
406
- "type": "number"
407
- }
408
- ],
409
- "description": "The Entity ID of the User that created this Deduplication"
410
- },
411
- "created_by": {
412
- "anyOf": [
413
- {
414
- "type": "string"
415
- },
416
- {
417
- "type": "number"
418
- }
419
- ],
420
- "description": "The Entity ID of the User that created this Deduplication"
421
- },
422
- "_tags": {
423
- "type": "array",
424
- "items": {
425
- "type": "string"
426
- },
427
- "description": "Tags associated with this Deduplication"
428
- },
429
- "_acl": {
430
- "type": "object",
431
- "additionalProperties": {
432
- "type": "array",
433
- "items": {
434
- "type": "string"
435
- }
436
- },
437
- "description": "Access Control List for this Deduplication entry"
438
- },
439
- "_owners": {
440
- "type": "array",
441
- "items": {
442
- "type": "object",
443
- "properties": {
444
- "org_id": {
445
- "type": "string"
446
- },
447
- "user_id": {
448
- "type": "string"
449
- }
450
- },
451
- "required": [
452
- "org_id",
453
- "user_id"
454
- ]
455
- }
456
- },
457
- "type": {
458
- "type": "string",
459
- "description": "Entity ID of the Deduplication entry"
460
- }
461
- },
462
- "required": [
463
- "_id"
464
- ],
465
- "description": "Base Entity schema"
466
- },
467
- "DeduplicateAsyncResponse": {
468
- "type": "object",
469
- "properties": {
470
- "jobId": {
471
- "type": "string",
472
- "description": "Job ID to poll for status via GET /v1/deduplicate/jobs/{jobId}"
473
- },
474
- "status": {
475
- "$ref": "#/components/schemas/JobStatus"
476
- },
477
- "message": {
478
- "type": "string",
479
- "description": "Initial status message"
480
- }
481
- },
482
- "required": [
483
- "jobId",
484
- "status",
485
- "message"
486
- ],
487
- "description": "Response returned immediately when a deduplication job is submitted"
488
- },
489
- "JobStatus": {
490
- "type": "string",
491
- "enum": [
492
- "pending",
493
- "processing",
494
- "completed",
495
- "failed"
496
- ]
497
- },
498
- "DeduplicationJob": {
499
- "type": "object",
500
- "properties": {
501
- "jobId": {
502
- "type": "string",
503
- "description": "Unique identifier for the deduplication job"
504
- },
505
- "status": {
506
- "$ref": "#/components/schemas/JobStatus"
507
- },
508
- "message": {
509
- "type": "string",
510
- "description": "Human-readable status message (e.g. progress info or error details)"
511
- },
512
- "result": {
513
- "type": "array",
514
- "items": {
515
- "$ref": "#/components/schemas/Entity"
516
- },
517
- "description": "Array of deduplicated entities, present when status is completed"
518
- },
519
- "createdAt": {
520
- "type": "string",
521
- "description": "ISO 8601 timestamp of job creation",
522
- "format": "date-time"
523
- },
524
- "updatedAt": {
525
- "type": "string",
526
- "description": "ISO 8601 timestamp of last update",
527
- "format": "date-time"
528
- }
529
- },
530
- "required": [
531
- "jobId",
532
- "status",
533
- "createdAt",
534
- "updatedAt"
535
- ],
536
- "description": "Represents an async deduplication job"
537
- },
538
- "DetectDuplicatesRequestBody": {
539
- "type": "object",
540
- "properties": {
541
- "schema": {
542
- "type": "string",
543
- "minLength": 1,
544
- "description": "Entity schema to search (e.g. 'contact'). Must have UniquenessCriteria configured for the calling org."
545
- },
546
- "entity": {
547
- "type": "object",
548
- "additionalProperties": {},
549
- "description": "The entity to look up potential duplicates for. Attribute values are extracted from this entity per the schema's match rules; system fields such as '_id' are supported. A rule is evaluated when at least one of its attributes resolves to a non-empty value on this entity; attributes without a value require candidates to also lack a value for them."
550
- }
551
- },
552
- "required": [
553
- "schema",
554
- "entity"
555
- ]
556
- },
557
- "DetectDuplicatesResponse": {
558
- "type": "object",
559
- "properties": {
560
- "matches": {
561
- "type": "array",
562
- "items": {
563
- "$ref": "#/components/schemas/DetectedDuplicateMatch"
564
- }
565
- }
566
- },
567
- "required": [
568
- "matches"
569
- ]
570
- },
571
- "DetectedDuplicateMatch": {
572
- "type": "object",
573
- "properties": {
574
- "entity": {
575
- "$ref": "#/components/schemas/Entity"
576
- },
577
- "confidence": {
578
- "type": "number",
579
- "minimum": 0,
580
- "maximum": 1,
581
- "description": "Confidence score for the match, between 0 and 1."
582
- },
583
- "matched_attributes": {
584
- "type": "array",
585
- "items": {
586
- "type": "string"
587
- },
588
- "minItems": 1,
589
- "description": "Names of the attributes that matched on the rule that produced this hit."
590
- }
591
- },
592
- "required": [
593
- "entity",
594
- "confidence",
595
- "matched_attributes"
596
- ]
597
- },
598
- "DismissDuplicatesRequestBody": {
599
- "type": "object",
600
- "properties": {
601
- "schema": {
602
- "type": "string",
603
- "minLength": 1
604
- },
605
- "entityIds": {
606
- "type": "array",
607
- "items": {
608
- "type": "string",
609
- "minLength": 1
610
- },
611
- "minItems": 1,
612
- "maxItems": 100,
613
- "description": "Entities whose duplicate flags (_matching_entities) are cleared — the records are confirmed as NOT duplicates and stay separate"
614
- }
615
- },
616
- "required": [
617
- "schema",
618
- "entityIds"
619
- ]
620
- },
621
- "DismissDuplicatesResponse": {
622
- "type": "object",
623
- "properties": {
624
- "dismissed": {
625
- "type": "array",
626
- "items": {
627
- "type": "string"
628
- },
629
- "description": "Entity ids whose duplicate flags were cleared"
630
- }
631
- },
632
- "required": [
633
- "dismissed"
634
- ]
635
- },
636
- "UniquenessCriteriaListResponse": {
637
- "type": "object",
638
- "properties": {
639
- "items": {
640
- "type": "array",
641
- "items": {
642
- "$ref": "#/components/schemas/UniquenessCriteria"
643
- }
644
- }
645
- },
646
- "required": [
647
- "items"
648
- ]
649
- },
650
- "UniquenessCriteria": {
651
- "type": "object",
652
- "properties": {
653
- "id": {
654
- "type": "string",
655
- "format": "uuid",
656
- "description": "Unique identifier of the criteria record."
657
- },
658
- "orgId": {
659
- "type": "string",
660
- "description": "Organization the criteria belong to."
661
- },
662
- "schema": {
663
- "type": "string",
664
- "minLength": 1,
665
- "description": "Entity schema these criteria apply to (e.g. 'contact')."
666
- },
667
- "matchRules": {
668
- "type": "array",
669
- "items": {
670
- "$ref": "#/components/schemas/MatchRule"
671
- },
672
- "minItems": 1,
673
- "description": "Ordered list of match rules. Order is the evaluation priority."
674
- },
675
- "createdAt": {
676
- "type": "string",
677
- "description": "ISO 8601 timestamp of record creation.",
678
- "format": "date-time"
679
- },
680
- "updatedAt": {
681
- "type": "string",
682
- "description": "ISO 8601 timestamp of last update.",
683
- "format": "date-time"
684
- }
685
- },
686
- "required": [
687
- "id",
688
- "orgId",
689
- "schema",
690
- "matchRules",
691
- "createdAt",
692
- "updatedAt"
693
- ],
694
- "description": "Defines what makes an entity of a given schema unique within an organization."
695
- },
696
- "MatchRule": {
697
- "type": "object",
698
- "properties": {
699
- "name": {
700
- "type": "string",
701
- "maxLength": 100,
702
- "description": "Optional human-readable label for the rule. Purely descriptive; not used during matching."
703
- },
704
- "attributes": {
705
- "type": "array",
706
- "items": {
707
- "$ref": "#/components/schemas/MatchAttribute"
708
- },
709
- "minItems": 1,
710
- "description": "Attributes that must all match for this rule to fire. Attributes without a value on the source entity must also have no value on a matching candidate."
711
- },
712
- "confidence": {
713
- "type": "number",
714
- "minimum": 0,
715
- "maximum": 1,
716
- "description": "Confidence assigned to matches produced by this rule, between 0 and 1."
717
- }
718
- },
719
- "required": [
720
- "attributes",
721
- "confidence"
722
- ],
723
- "description": "One way to identify the same entity. Evaluated in order; first rule whose attributes are all available and that returns hits wins."
724
- },
725
- "MatchAttribute": {
726
- "type": "object",
727
- "properties": {
728
- "attribute": {
729
- "type": "string",
730
- "minLength": 1,
731
- "description": "Name of the entity attribute to match on. Its query path is resolved from the entity schema at query time."
732
- }
733
- },
734
- "required": [
735
- "attribute"
736
- ],
737
- "description": "One attribute participating in a match rule. Wrapped as an object so per-attribute options can be added later."
738
- },
739
- "UniquenessCriteriaCreateBody": {
740
- "type": "object",
741
- "properties": {
742
- "schema": {
743
- "type": "string",
744
- "minLength": 1,
745
- "description": "Entity schema these criteria apply to."
746
- },
747
- "matchRules": {
748
- "type": "array",
749
- "items": {
750
- "$ref": "#/components/schemas/MatchRule"
751
- },
752
- "minItems": 1
753
- }
754
- },
755
- "required": [
756
- "schema",
757
- "matchRules"
758
- ]
759
- },
760
- "UniquenessCriteriaUpdateBody": {
761
- "type": "object",
762
- "properties": {
763
- "matchRules": {
764
- "type": "array",
765
- "items": {
766
- "$ref": "#/components/schemas/MatchRule"
767
- },
768
- "minItems": 1
769
- }
770
- },
771
- "required": [
772
- "matchRules"
773
- ]
774
- }
775
- }
776
- },
777
- "servers": [
778
- {
779
- "url": "https://deduplication.sls.epilot.io"
780
- }
781
- ]
782
- }