@epilot/sdk 2.20.9 → 2.20.11

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 (262) 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/configuration-hub.cjs +6 -6
  22. package/dist/apis/configuration-hub.js +1 -1
  23. package/dist/apis/consent.cjs +6 -6
  24. package/dist/apis/consent.js +1 -1
  25. package/dist/apis/customer-portal.cjs +6 -6
  26. package/dist/apis/customer-portal.js +1 -1
  27. package/dist/apis/dashboard.cjs +6 -6
  28. package/dist/apis/dashboard.js +1 -1
  29. package/dist/apis/data-governance.cjs +6 -6
  30. package/dist/apis/data-governance.js +1 -1
  31. package/dist/apis/deduplication.cjs +6 -6
  32. package/dist/apis/deduplication.js +1 -1
  33. package/dist/apis/design.cjs +6 -6
  34. package/dist/apis/design.js +1 -1
  35. package/dist/apis/document.cjs +6 -6
  36. package/dist/apis/document.js +1 -1
  37. package/dist/apis/email-settings.cjs +6 -6
  38. package/dist/apis/email-settings.js +1 -1
  39. package/dist/apis/email-template.cjs +6 -6
  40. package/dist/apis/email-template.js +1 -1
  41. package/dist/apis/entity-mapping.cjs +6 -6
  42. package/dist/apis/entity-mapping.js +1 -1
  43. package/dist/apis/entity.cjs +24 -6
  44. package/dist/apis/entity.d.cts +15 -1
  45. package/dist/apis/entity.d.ts +15 -1
  46. package/dist/apis/entity.js +19 -1
  47. package/dist/apis/environments.cjs +6 -6
  48. package/dist/apis/environments.js +1 -1
  49. package/dist/apis/event-catalog.cjs +8 -8
  50. package/dist/apis/event-catalog.d.cts +2 -2
  51. package/dist/apis/event-catalog.d.ts +2 -2
  52. package/dist/apis/event-catalog.js +2 -2
  53. package/dist/apis/file.cjs +8 -8
  54. package/dist/apis/file.d.cts +2 -2
  55. package/dist/apis/file.d.ts +2 -2
  56. package/dist/apis/file.js +2 -2
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/integration-toolkit.cjs +6 -6
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +8 -8
  62. package/dist/apis/journey.d.cts +2 -2
  63. package/dist/apis/journey.d.ts +2 -2
  64. package/dist/apis/journey.js +2 -2
  65. package/dist/apis/kanban.cjs +6 -6
  66. package/dist/apis/kanban.js +1 -1
  67. package/dist/apis/message.cjs +6 -6
  68. package/dist/apis/message.js +1 -1
  69. package/dist/apis/metering.cjs +6 -6
  70. package/dist/apis/metering.js +1 -1
  71. package/dist/apis/notes.cjs +6 -6
  72. package/dist/apis/notes.js +1 -1
  73. package/dist/apis/notification.cjs +6 -6
  74. package/dist/apis/notification.js +1 -1
  75. package/dist/apis/organization.cjs +6 -6
  76. package/dist/apis/organization.js +1 -1
  77. package/dist/apis/partner-directory.cjs +6 -6
  78. package/dist/apis/partner-directory.js +1 -1
  79. package/dist/apis/permissions.cjs +6 -6
  80. package/dist/apis/permissions.js +1 -1
  81. package/dist/apis/pricing-tier.cjs +6 -6
  82. package/dist/apis/pricing-tier.js +1 -1
  83. package/dist/apis/pricing.cjs +6 -27
  84. package/dist/apis/pricing.d.cts +1 -13
  85. package/dist/apis/pricing.d.ts +1 -13
  86. package/dist/apis/pricing.js +1 -22
  87. package/dist/apis/purpose.cjs +6 -6
  88. package/dist/apis/purpose.js +1 -1
  89. package/dist/apis/query.cjs +6 -6
  90. package/dist/apis/query.js +1 -1
  91. package/dist/apis/sandbox.cjs +6 -6
  92. package/dist/apis/sandbox.js +1 -1
  93. package/dist/apis/sharing.cjs +6 -6
  94. package/dist/apis/sharing.js +1 -1
  95. package/dist/apis/snapshot.cjs +6 -6
  96. package/dist/apis/snapshot.js +1 -1
  97. package/dist/apis/submission.cjs +6 -6
  98. package/dist/apis/submission.js +1 -1
  99. package/dist/apis/target.cjs +6 -6
  100. package/dist/apis/target.js +1 -1
  101. package/dist/apis/targeting.cjs +6 -6
  102. package/dist/apis/targeting.js +1 -1
  103. package/dist/apis/template-variables.cjs +6 -6
  104. package/dist/apis/template-variables.js +1 -1
  105. package/dist/apis/user.cjs +6 -6
  106. package/dist/apis/user.js +1 -1
  107. package/dist/apis/validation-rules.cjs +6 -6
  108. package/dist/apis/validation-rules.js +1 -1
  109. package/dist/apis/webhooks.cjs +6 -6
  110. package/dist/apis/webhooks.js +1 -1
  111. package/dist/apis/workflow-definition.cjs +6 -6
  112. package/dist/apis/workflow-definition.js +1 -1
  113. package/dist/apis/workflow.cjs +6 -6
  114. package/dist/apis/workflow.js +1 -1
  115. package/dist/chunk-2Q6CNXJ2.cjs +14 -0
  116. package/dist/{chunk-5S2PEECD.cjs → chunk-424JLS5G.cjs} +1 -1
  117. package/dist/chunk-FGQBS7TA.js +14 -0
  118. package/dist/chunk-HL4MZXEK.js +14 -0
  119. package/dist/chunk-LTCN52JS.js +14 -0
  120. package/dist/{chunk-VCD3C4UW.cjs → chunk-QZH7QNNP.cjs} +6 -6
  121. package/dist/{chunk-JBFTKLP2.js → chunk-SMERBU2T.js} +6 -6
  122. package/dist/chunk-W6R2J6KQ.cjs +14 -0
  123. package/dist/event-catalog-S4OYTDIB.js +7 -0
  124. package/dist/event-catalog-Z6BO4L2G.cjs +7 -0
  125. package/dist/{event-catalog-runtime-AME244T7.cjs → event-catalog-runtime-XWSYNUGQ.cjs} +2 -2
  126. package/dist/{event-catalog-runtime-Q3MKEDG4.js → event-catalog-runtime-Z6OMHQBD.js} +1 -1
  127. package/dist/{event-catalog.d-Bd2wmtlZ.d.ts → event-catalog.d-CCE1qmBN.d.cts} +105 -22
  128. package/dist/{event-catalog.d-Bd2wmtlZ.d.cts → event-catalog.d-CCE1qmBN.d.ts} +105 -22
  129. package/dist/file-LFOTXMRJ.cjs +7 -0
  130. package/dist/file-ND2JH5EM.js +7 -0
  131. package/dist/file-runtime-JL2IZ2CE.cjs +5 -0
  132. package/dist/{file-runtime-423SISQ2.js → file-runtime-RS4DX5LB.js} +1 -1
  133. package/dist/{file.d-CBsXF4W8.d.ts → file.d-DELNV63w.d.cts} +340 -9
  134. package/dist/{file.d-CBsXF4W8.d.cts → file.d-DELNV63w.d.ts} +340 -9
  135. package/dist/index.cjs +14 -14
  136. package/dist/index.d.cts +3 -3
  137. package/dist/index.d.ts +3 -3
  138. package/dist/index.js +4 -4
  139. package/dist/journey-FNWHSZW3.js +7 -0
  140. package/dist/journey-FUJDOH5O.cjs +7 -0
  141. package/dist/{journey-runtime-PAJVCFMZ.cjs → journey-runtime-EFWGEDUE.cjs} +2 -2
  142. package/dist/{journey-runtime-33QDS2WK.js → journey-runtime-VCADGDRV.js} +1 -1
  143. package/dist/{journey.d-bxl2l7qg.d.cts → journey.d-6Bs1uNLT.d.cts} +1062 -14
  144. package/dist/{journey.d-bxl2l7qg.d.ts → journey.d-6Bs1uNLT.d.ts} +1062 -14
  145. package/docs/event-catalog.md +155 -5
  146. package/docs/file.md +272 -0
  147. package/docs/journey.md +676 -0
  148. package/package.json +1 -1
  149. package/definitions/access-token-runtime.json +0 -1
  150. package/definitions/access-token.json +0 -835
  151. package/definitions/address-runtime.json +0 -1
  152. package/definitions/address-suggestions-runtime.json +0 -1
  153. package/definitions/address-suggestions.json +0 -582
  154. package/definitions/address.json +0 -578
  155. package/definitions/ai-agents-runtime.json +0 -1
  156. package/definitions/ai-agents.json +0 -2863
  157. package/definitions/app-runtime.json +0 -1
  158. package/definitions/app.json +0 -5993
  159. package/definitions/audit-logs-runtime.json +0 -1
  160. package/definitions/audit-logs.json +0 -305
  161. package/definitions/automation-runtime.json +0 -1
  162. package/definitions/automation.json +0 -5889
  163. package/definitions/billing-runtime.json +0 -1
  164. package/definitions/billing.json +0 -2394
  165. package/definitions/blueprint-manifest-runtime.json +0 -1
  166. package/definitions/blueprint-manifest.json +0 -7817
  167. package/definitions/calendar-runtime.json +0 -1
  168. package/definitions/calendar.json +0 -2904
  169. package/definitions/configuration-hub-runtime.json +0 -1
  170. package/definitions/configuration-hub.json +0 -2250
  171. package/definitions/consent-runtime.json +0 -1
  172. package/definitions/consent.json +0 -344
  173. package/definitions/customer-portal-runtime.json +0 -1
  174. package/definitions/customer-portal.json +0 -19945
  175. package/definitions/dashboard-runtime.json +0 -1
  176. package/definitions/dashboard.json +0 -1355
  177. package/definitions/data-governance-runtime.json +0 -1
  178. package/definitions/data-governance.json +0 -1126
  179. package/definitions/deduplication-runtime.json +0 -1
  180. package/definitions/deduplication.json +0 -782
  181. package/definitions/design-runtime.json +0 -1
  182. package/definitions/design.json +0 -1827
  183. package/definitions/document-runtime.json +0 -1
  184. package/definitions/document.json +0 -758
  185. package/definitions/email-settings-runtime.json +0 -1
  186. package/definitions/email-settings.json +0 -3736
  187. package/definitions/email-template-runtime.json +0 -1
  188. package/definitions/email-template.json +0 -1441
  189. package/definitions/entity-mapping-runtime.json +0 -1
  190. package/definitions/entity-mapping.json +0 -1829
  191. package/definitions/entity-runtime.json +0 -1
  192. package/definitions/entity.json +0 -11546
  193. package/definitions/environments-runtime.json +0 -1
  194. package/definitions/environments.json +0 -703
  195. package/definitions/event-catalog-runtime.json +0 -1
  196. package/definitions/event-catalog.json +0 -1943
  197. package/definitions/file-runtime.json +0 -1
  198. package/definitions/file.json +0 -3905
  199. package/definitions/iban-runtime.json +0 -1
  200. package/definitions/iban.json +0 -132
  201. package/definitions/integration-toolkit-runtime.json +0 -1
  202. package/definitions/integration-toolkit.json +0 -12966
  203. package/definitions/journey-runtime.json +0 -1
  204. package/definitions/journey.json +0 -3040
  205. package/definitions/kanban-runtime.json +0 -1
  206. package/definitions/kanban.json +0 -1506
  207. package/definitions/message-runtime.json +0 -1
  208. package/definitions/message.json +0 -3667
  209. package/definitions/metering-runtime.json +0 -1
  210. package/definitions/metering.json +0 -3132
  211. package/definitions/notes-runtime.json +0 -1
  212. package/definitions/notes.json +0 -1698
  213. package/definitions/notification-runtime.json +0 -1
  214. package/definitions/notification.json +0 -1439
  215. package/definitions/organization-runtime.json +0 -1
  216. package/definitions/organization.json +0 -1192
  217. package/definitions/partner-directory-runtime.json +0 -1
  218. package/definitions/partner-directory.json +0 -2284
  219. package/definitions/permissions-runtime.json +0 -1
  220. package/definitions/permissions.json +0 -1598
  221. package/definitions/pricing-runtime.json +0 -1
  222. package/definitions/pricing-tier-runtime.json +0 -1
  223. package/definitions/pricing-tier.json +0 -105
  224. package/definitions/pricing.json +0 -14301
  225. package/definitions/purpose-runtime.json +0 -1
  226. package/definitions/purpose.json +0 -524
  227. package/definitions/query-runtime.json +0 -1
  228. package/definitions/query.json +0 -3178
  229. package/definitions/sandbox-runtime.json +0 -1
  230. package/definitions/sandbox.json +0 -453
  231. package/definitions/sharing-runtime.json +0 -1
  232. package/definitions/sharing.json +0 -956
  233. package/definitions/snapshot-runtime.json +0 -1
  234. package/definitions/snapshot.json +0 -1103
  235. package/definitions/submission-runtime.json +0 -1
  236. package/definitions/submission.json +0 -313
  237. package/definitions/targeting-runtime.json +0 -1
  238. package/definitions/targeting.json +0 -2285
  239. package/definitions/template-variables-runtime.json +0 -1
  240. package/definitions/template-variables.json +0 -1416
  241. package/definitions/user-runtime.json +0 -1
  242. package/definitions/user.json +0 -3051
  243. package/definitions/validation-rules-runtime.json +0 -1
  244. package/definitions/validation-rules.json +0 -2642
  245. package/definitions/webhooks-runtime.json +0 -1
  246. package/definitions/webhooks.json +0 -1875
  247. package/definitions/workflow-definition-runtime.json +0 -1
  248. package/definitions/workflow-definition.json +0 -3592
  249. package/definitions/workflow-runtime.json +0 -1
  250. package/definitions/workflow.json +0 -4669
  251. package/dist/chunk-CIKDOXDL.cjs +0 -14
  252. package/dist/chunk-EEKJGTAS.js +0 -14
  253. package/dist/chunk-IBMGFLXF.js +0 -14
  254. package/dist/chunk-MPZICOVZ.cjs +0 -14
  255. package/dist/chunk-XJUB5BYM.js +0 -14
  256. package/dist/event-catalog-4FVQZ65M.cjs +0 -7
  257. package/dist/event-catalog-PEOHXUJO.js +0 -7
  258. package/dist/file-M5HNKOPG.cjs +0 -7
  259. package/dist/file-ZUNCUDBY.js +0 -7
  260. package/dist/file-runtime-IHVDQNIX.cjs +0 -5
  261. package/dist/journey-2HHH7MLM.js +0 -7
  262. package/dist/journey-4CXKZMKV.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
- }