@smartytalent/mcp-tools 0.1.33-dev.2 → 0.1.33-dev.20
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.
- package/dist/tools.json +1148 -122
- package/package.json +1 -1
package/dist/tools.json
CHANGED
|
@@ -6721,6 +6721,7 @@
|
|
|
6721
6721
|
"sent",
|
|
6722
6722
|
"suppressed",
|
|
6723
6723
|
"archived",
|
|
6724
|
+
"trashed",
|
|
6724
6725
|
"failed",
|
|
6725
6726
|
"pending"
|
|
6726
6727
|
]
|
|
@@ -6729,6 +6730,32 @@
|
|
|
6729
6730
|
"type": "string",
|
|
6730
6731
|
"description": "Return only emails belonging to this conversation. Resolved via the ConversationIdIndex GSI (top-level denormalisation of relationships.conversations[0].data.id). Pass the full conversation id (e.g. `980434e7...-2`)."
|
|
6731
6732
|
},
|
|
6733
|
+
"filterDirection": {
|
|
6734
|
+
"type": "string",
|
|
6735
|
+
"description": "Return only emails with this direction. `inbound` = received from an external sender (Inbox), `outbound` = composed by the tenant (Sent). Resolved via the DirectionIndex GSI. Mutually exclusive with `filterStatus` and `filterConversationId` at the pagination layer.",
|
|
6736
|
+
"enum": [
|
|
6737
|
+
"inbound",
|
|
6738
|
+
"outbound"
|
|
6739
|
+
]
|
|
6740
|
+
},
|
|
6741
|
+
"filterIds": {
|
|
6742
|
+
"type": "string",
|
|
6743
|
+
"description": "Batch-fetch emails by id. Pass a comma-separated list (e.g. `abc-1,def-2,ghi-3`). Resolves each id's shard from its suffix and issues a BatchGetItem. Used by the inbox UI to hydrate emails referenced by state rows (folder=unseen / starred / spam) without N showEmail calls. Cap: 500 ids per request; beyond that, page the state list and batch again. Bypasses pagination - the returned `data` is the full batch result with no `nextPage` cursor."
|
|
6744
|
+
},
|
|
6745
|
+
"filterIsSystemSpam": {
|
|
6746
|
+
"type": "boolean",
|
|
6747
|
+
"description": "Return only emails the system (broker / classifier) flagged as spam. Used by the Spam folder's `isSystemSpam=true` leg - the other leg comes from `/v1/states?folder=spam`. Backed by a filter-expression scan across shards for v1; promote to a sparse `SystemSpamIndex` if load warrants. Mutually exclusive with the other index-backed filters at the pagination layer."
|
|
6748
|
+
},
|
|
6749
|
+
"sort": {
|
|
6750
|
+
"type": "string",
|
|
6751
|
+
"description": "Order results by a time field. Leading `-` means descending\n(newest-first). Accepted values:\n `-created` newest-first by creation time (CreatedIndex)\n `created` oldest-first by creation time\n `-modified` most-recently-modified first (ModifiedIndex)\n `modified` least-recently-modified first\nTakes effect only when no equality filter (filterStatus,\nfilterConversationId, filterDirection) dictates a different\nindex; equality filters win. Compatible with date-range filters\n(filterCreatedFrom/To, filterModifiedFrom/To) which already use\nthe same indexes; sort just picks the direction.",
|
|
6752
|
+
"enum": [
|
|
6753
|
+
"-created",
|
|
6754
|
+
"created",
|
|
6755
|
+
"-modified",
|
|
6756
|
+
"modified"
|
|
6757
|
+
]
|
|
6758
|
+
},
|
|
6732
6759
|
"filterCreatedFrom": {
|
|
6733
6760
|
"type": "string",
|
|
6734
6761
|
"description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
|
|
@@ -6806,12 +6833,14 @@
|
|
|
6806
6833
|
"draft",
|
|
6807
6834
|
"scheduled",
|
|
6808
6835
|
"sent",
|
|
6836
|
+
"received",
|
|
6809
6837
|
"suppressed",
|
|
6810
6838
|
"archived",
|
|
6839
|
+
"trashed",
|
|
6811
6840
|
"failed",
|
|
6812
6841
|
"pending"
|
|
6813
6842
|
],
|
|
6814
|
-
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = delivered to SES, suppressed = SES bounce/complaint, archived = user soft
|
|
6843
|
+
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = outbound delivered to SES, received = inbound accepted by broker (replaces the legacy `sent` value used for inbound), suppressed = SES bounce/complaint, archived = user explicitly archived (kept indefinitely, hidden from inbox view), trashed = user moved to Trash bin (default soft DELETE; recoverable, candidate for periodic permanent purge), failed = internal error, pending = transitional."
|
|
6815
6844
|
},
|
|
6816
6845
|
"direction": {
|
|
6817
6846
|
"type": "string",
|
|
@@ -6842,26 +6871,18 @@
|
|
|
6842
6871
|
"description": "BCC recipients. Each entry is an RFC 5322 address string."
|
|
6843
6872
|
},
|
|
6844
6873
|
"subject": {
|
|
6845
|
-
"
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
"type": "object",
|
|
6851
|
-
"additionalProperties": true
|
|
6852
|
-
}
|
|
6853
|
-
]
|
|
6874
|
+
"type": "object",
|
|
6875
|
+
"additionalProperties": {
|
|
6876
|
+
"type": "string"
|
|
6877
|
+
},
|
|
6878
|
+
"description": "Multilingual subject keyed by IETF BCP 47 locale code (e.g. `en-US`, `pl-PL`). The DAL writes per-locale entries from the AI analyze + translate steps; the UI picks the right key based on `conversationLanguageCode`."
|
|
6854
6879
|
},
|
|
6855
6880
|
"body": {
|
|
6856
|
-
"
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
"type": "object",
|
|
6862
|
-
"additionalProperties": true
|
|
6863
|
-
}
|
|
6864
|
-
]
|
|
6881
|
+
"type": "object",
|
|
6882
|
+
"additionalProperties": {
|
|
6883
|
+
"type": "string"
|
|
6884
|
+
},
|
|
6885
|
+
"description": "Multilingual HTML body keyed by IETF BCP 47 locale code. Same shape as `subject`. Body values are HTML strings; plain-text fallback is derived on send."
|
|
6865
6886
|
},
|
|
6866
6887
|
"shortCode": {
|
|
6867
6888
|
"type": "string"
|
|
@@ -6884,23 +6905,65 @@
|
|
|
6884
6905
|
"type": "object",
|
|
6885
6906
|
"properties": {
|
|
6886
6907
|
"fileName": {
|
|
6887
|
-
"type": "string"
|
|
6908
|
+
"type": "string",
|
|
6909
|
+
"description": "Display name shown in the mail client and used as the attachment filename on send."
|
|
6888
6910
|
},
|
|
6889
6911
|
"url": {
|
|
6890
|
-
"type": "string"
|
|
6912
|
+
"type": "string",
|
|
6913
|
+
"description": "S3 URL of the stored file. For user-uploaded attachments this is the path returned by POST /v1/files; for system-generated attachments (job/persona/report PDFs) it is the resource's own S3 path."
|
|
6891
6914
|
},
|
|
6892
6915
|
"type": {
|
|
6893
6916
|
"type": "string",
|
|
6894
|
-
"description": "Resource type this attachment belongs to: jobs
|
|
6917
|
+
"description": "Resource type this attachment belongs to. User-uploaded attachments use `files`; system-generated attachments use the owning resource type: `jobs`, `personas`, `talents`, `candidates`, `reports`, `ads`."
|
|
6918
|
+
},
|
|
6919
|
+
"fileId": {
|
|
6920
|
+
"type": "string",
|
|
6921
|
+
"description": "When `type == \"files\"`, the file resource ID so the frontend can resolve the latest file metadata (status, processing state) without parsing the URL."
|
|
6922
|
+
},
|
|
6923
|
+
"size": {
|
|
6924
|
+
"type": "integer",
|
|
6925
|
+
"description": "File size in bytes. Frontend displays it in the compose preview and mail list. Set by the upload flow from the Content-Length of the S3 object; absent on legacy rows."
|
|
6926
|
+
},
|
|
6927
|
+
"contentType": {
|
|
6928
|
+
"type": "string",
|
|
6929
|
+
"description": "MIME type (e.g. `application/pdf`, `image/png`). Drives icon selection in the UI and the Content-Type header in the outbound MIME part. Absent on legacy rows; frontend should fall back to extension inference."
|
|
6930
|
+
},
|
|
6931
|
+
"thumbnailUrl": {
|
|
6932
|
+
"type": "string",
|
|
6933
|
+
"description": "Optional S3 URL of a PNG preview (first-page render for PDFs/DOCX). Populated by the file service's conversion pipeline when a preview is available. Absent for non-previewable types."
|
|
6895
6934
|
}
|
|
6896
6935
|
}
|
|
6897
6936
|
},
|
|
6898
|
-
"description": "Attachments
|
|
6937
|
+
"description": "Attachments on the email. For user-uploaded attachments: frontend creates a File via POST /v1/files (which returns a presigned PUT URL), uploads to S3, then references the File here with `type: \"files\"` and the returned `url`/`fileId`. For system-generated attachments (job/persona/report PDFs) the eventbus / outbound path populates these automatically."
|
|
6899
6938
|
},
|
|
6900
6939
|
"conversationLanguageCode": {
|
|
6901
6940
|
"type": "string",
|
|
6902
6941
|
"description": "Denormalised copy of the related conversation's languageCode (e.g. `pl-PL`, `en-US`). Avoids an N+1 fetch when the list/detail view needs to pick the right locale for the multilingual subject/body dicts. Source of truth is the conversation row; read-only from the email's perspective."
|
|
6903
6942
|
},
|
|
6943
|
+
"parentEmailId": {
|
|
6944
|
+
"type": "string",
|
|
6945
|
+
"description": "Application-layer pointer to the email this one replies to. Used by the UI to render an 'in reply to' link in thread views. Set by the compose flow (frontend passes the parent on Reply) and by the broker when an inbound email matches an outbound via RFC 5322 In-Reply-To. Separate from meta.reference which carries the raw SMTP header chain."
|
|
6946
|
+
},
|
|
6947
|
+
"fromUserId": {
|
|
6948
|
+
"type": "string",
|
|
6949
|
+
"description": "Denormalised user id of the sender for outbound emails (the boe workflow user, or the human composer). Frontend joins this against its local user cache to render avatar + display name without a per-row API call. Null on inbound mail."
|
|
6950
|
+
},
|
|
6951
|
+
"fromCandidateId": {
|
|
6952
|
+
"type": "string",
|
|
6953
|
+
"description": "Denormalised candidate id of the sender for inbound replies from a candidate in an active conversation. Frontend joins this against its local candidate cache to render initials and the candidate name. Null on outbound mail and on anonymous inbound that didn't match a candidate."
|
|
6954
|
+
},
|
|
6955
|
+
"isSystemSpam": {
|
|
6956
|
+
"type": "boolean",
|
|
6957
|
+
"description": "System-level spam verdict on this email. Set by the broker (or a future classifier) at inbound time; never reflects a single user's opinion. Distinct from `status=suppressed`, which is SES reporting we cannot deliver on OUTBOUND. Frontend's Spam folder unions (my states where isSpam=true) with (emails where isSystemSpam=true)."
|
|
6958
|
+
},
|
|
6959
|
+
"scheduleId": {
|
|
6960
|
+
"type": "string",
|
|
6961
|
+
"description": "Foreign key to the Schedule resource driving this email's send. Populated by the wait:process workflow action right after it creates the Schedule. Null when no delayed send is pending (drafts, already-sent rows, inbound mail). To cancel the scheduled send, call DELETE /v1/schedules/{scheduleId} - the email eventbus handler listens for SCHEDULE_CANCELLED and reverts the row back to draft automatically."
|
|
6962
|
+
},
|
|
6963
|
+
"scheduledFireAt": {
|
|
6964
|
+
"type": "string",
|
|
6965
|
+
"description": "Denormalised copy of the owning Schedule's `fireAt` timestamp (ISO 8601). The scheduled-send banner reads this directly so the UI never has to round-trip to /v1/schedules just to render 'Send scheduled for X'. Source of truth is the Schedule; this field stays stable because Schedule.fireAt is immutable post-create."
|
|
6966
|
+
},
|
|
6904
6967
|
"ttl": {
|
|
6905
6968
|
"type": "string"
|
|
6906
6969
|
},
|
|
@@ -7028,6 +7091,25 @@
|
|
|
7028
7091
|
}
|
|
7029
7092
|
}
|
|
7030
7093
|
}
|
|
7094
|
+
},
|
|
7095
|
+
"schedule": {
|
|
7096
|
+
"title": "EmailRelationshipsScheduleSchema",
|
|
7097
|
+
"type": "object",
|
|
7098
|
+
"description": "The Schedule arming this email's delayed send. Denormalised mirror of scheduleId so clients can `?include=schedule` in a single request. Populated by the email eventbus handler reacting to SCHEDULE_CREATED. Null while the email is draft / already-sent / inbound.",
|
|
7099
|
+
"properties": {
|
|
7100
|
+
"data": {
|
|
7101
|
+
"title": "EmailRelationshipsScheduleDataSchema",
|
|
7102
|
+
"type": "object",
|
|
7103
|
+
"properties": {
|
|
7104
|
+
"type": {
|
|
7105
|
+
"type": "string"
|
|
7106
|
+
},
|
|
7107
|
+
"id": {
|
|
7108
|
+
"type": "string"
|
|
7109
|
+
}
|
|
7110
|
+
}
|
|
7111
|
+
}
|
|
7112
|
+
}
|
|
7031
7113
|
}
|
|
7032
7114
|
}
|
|
7033
7115
|
},
|
|
@@ -7112,12 +7194,14 @@
|
|
|
7112
7194
|
"draft",
|
|
7113
7195
|
"scheduled",
|
|
7114
7196
|
"sent",
|
|
7197
|
+
"received",
|
|
7115
7198
|
"suppressed",
|
|
7116
7199
|
"archived",
|
|
7200
|
+
"trashed",
|
|
7117
7201
|
"failed",
|
|
7118
7202
|
"pending"
|
|
7119
7203
|
],
|
|
7120
|
-
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = delivered to SES, suppressed = SES bounce/complaint, archived = user soft
|
|
7204
|
+
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = outbound delivered to SES, received = inbound accepted by broker (replaces the legacy `sent` value used for inbound), suppressed = SES bounce/complaint, archived = user explicitly archived (kept indefinitely, hidden from inbox view), trashed = user moved to Trash bin (default soft DELETE; recoverable, candidate for periodic permanent purge), failed = internal error, pending = transitional."
|
|
7121
7205
|
},
|
|
7122
7206
|
"direction": {
|
|
7123
7207
|
"type": "string",
|
|
@@ -7148,26 +7232,18 @@
|
|
|
7148
7232
|
"description": "BCC recipients. Each entry is an RFC 5322 address string."
|
|
7149
7233
|
},
|
|
7150
7234
|
"subject": {
|
|
7151
|
-
"
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
"type": "object",
|
|
7157
|
-
"additionalProperties": true
|
|
7158
|
-
}
|
|
7159
|
-
]
|
|
7235
|
+
"type": "object",
|
|
7236
|
+
"additionalProperties": {
|
|
7237
|
+
"type": "string"
|
|
7238
|
+
},
|
|
7239
|
+
"description": "Multilingual subject keyed by IETF BCP 47 locale code (e.g. `en-US`, `pl-PL`). The DAL writes per-locale entries from the AI analyze + translate steps; the UI picks the right key based on `conversationLanguageCode`."
|
|
7160
7240
|
},
|
|
7161
7241
|
"body": {
|
|
7162
|
-
"
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
"type": "object",
|
|
7168
|
-
"additionalProperties": true
|
|
7169
|
-
}
|
|
7170
|
-
]
|
|
7242
|
+
"type": "object",
|
|
7243
|
+
"additionalProperties": {
|
|
7244
|
+
"type": "string"
|
|
7245
|
+
},
|
|
7246
|
+
"description": "Multilingual HTML body keyed by IETF BCP 47 locale code. Same shape as `subject`. Body values are HTML strings; plain-text fallback is derived on send."
|
|
7171
7247
|
},
|
|
7172
7248
|
"shortCode": {
|
|
7173
7249
|
"type": "string"
|
|
@@ -7190,23 +7266,65 @@
|
|
|
7190
7266
|
"type": "object",
|
|
7191
7267
|
"properties": {
|
|
7192
7268
|
"fileName": {
|
|
7193
|
-
"type": "string"
|
|
7269
|
+
"type": "string",
|
|
7270
|
+
"description": "Display name shown in the mail client and used as the attachment filename on send."
|
|
7194
7271
|
},
|
|
7195
7272
|
"url": {
|
|
7196
|
-
"type": "string"
|
|
7273
|
+
"type": "string",
|
|
7274
|
+
"description": "S3 URL of the stored file. For user-uploaded attachments this is the path returned by POST /v1/files; for system-generated attachments (job/persona/report PDFs) it is the resource's own S3 path."
|
|
7197
7275
|
},
|
|
7198
7276
|
"type": {
|
|
7199
7277
|
"type": "string",
|
|
7200
|
-
"description": "Resource type this attachment belongs to: jobs
|
|
7278
|
+
"description": "Resource type this attachment belongs to. User-uploaded attachments use `files`; system-generated attachments use the owning resource type: `jobs`, `personas`, `talents`, `candidates`, `reports`, `ads`."
|
|
7279
|
+
},
|
|
7280
|
+
"fileId": {
|
|
7281
|
+
"type": "string",
|
|
7282
|
+
"description": "When `type == \"files\"`, the file resource ID so the frontend can resolve the latest file metadata (status, processing state) without parsing the URL."
|
|
7283
|
+
},
|
|
7284
|
+
"size": {
|
|
7285
|
+
"type": "integer",
|
|
7286
|
+
"description": "File size in bytes. Frontend displays it in the compose preview and mail list. Set by the upload flow from the Content-Length of the S3 object; absent on legacy rows."
|
|
7287
|
+
},
|
|
7288
|
+
"contentType": {
|
|
7289
|
+
"type": "string",
|
|
7290
|
+
"description": "MIME type (e.g. `application/pdf`, `image/png`). Drives icon selection in the UI and the Content-Type header in the outbound MIME part. Absent on legacy rows; frontend should fall back to extension inference."
|
|
7291
|
+
},
|
|
7292
|
+
"thumbnailUrl": {
|
|
7293
|
+
"type": "string",
|
|
7294
|
+
"description": "Optional S3 URL of a PNG preview (first-page render for PDFs/DOCX). Populated by the file service's conversion pipeline when a preview is available. Absent for non-previewable types."
|
|
7201
7295
|
}
|
|
7202
7296
|
}
|
|
7203
7297
|
},
|
|
7204
|
-
"description": "Attachments
|
|
7298
|
+
"description": "Attachments on the email. For user-uploaded attachments: frontend creates a File via POST /v1/files (which returns a presigned PUT URL), uploads to S3, then references the File here with `type: \"files\"` and the returned `url`/`fileId`. For system-generated attachments (job/persona/report PDFs) the eventbus / outbound path populates these automatically."
|
|
7205
7299
|
},
|
|
7206
7300
|
"conversationLanguageCode": {
|
|
7207
7301
|
"type": "string",
|
|
7208
7302
|
"description": "Denormalised copy of the related conversation's languageCode (e.g. `pl-PL`, `en-US`). Avoids an N+1 fetch when the list/detail view needs to pick the right locale for the multilingual subject/body dicts. Source of truth is the conversation row; read-only from the email's perspective."
|
|
7209
7303
|
},
|
|
7304
|
+
"parentEmailId": {
|
|
7305
|
+
"type": "string",
|
|
7306
|
+
"description": "Application-layer pointer to the email this one replies to. Used by the UI to render an 'in reply to' link in thread views. Set by the compose flow (frontend passes the parent on Reply) and by the broker when an inbound email matches an outbound via RFC 5322 In-Reply-To. Separate from meta.reference which carries the raw SMTP header chain."
|
|
7307
|
+
},
|
|
7308
|
+
"fromUserId": {
|
|
7309
|
+
"type": "string",
|
|
7310
|
+
"description": "Denormalised user id of the sender for outbound emails (the boe workflow user, or the human composer). Frontend joins this against its local user cache to render avatar + display name without a per-row API call. Null on inbound mail."
|
|
7311
|
+
},
|
|
7312
|
+
"fromCandidateId": {
|
|
7313
|
+
"type": "string",
|
|
7314
|
+
"description": "Denormalised candidate id of the sender for inbound replies from a candidate in an active conversation. Frontend joins this against its local candidate cache to render initials and the candidate name. Null on outbound mail and on anonymous inbound that didn't match a candidate."
|
|
7315
|
+
},
|
|
7316
|
+
"isSystemSpam": {
|
|
7317
|
+
"type": "boolean",
|
|
7318
|
+
"description": "System-level spam verdict on this email. Set by the broker (or a future classifier) at inbound time; never reflects a single user's opinion. Distinct from `status=suppressed`, which is SES reporting we cannot deliver on OUTBOUND. Frontend's Spam folder unions (my states where isSpam=true) with (emails where isSystemSpam=true)."
|
|
7319
|
+
},
|
|
7320
|
+
"scheduleId": {
|
|
7321
|
+
"type": "string",
|
|
7322
|
+
"description": "Foreign key to the Schedule resource driving this email's send. Populated by the wait:process workflow action right after it creates the Schedule. Null when no delayed send is pending (drafts, already-sent rows, inbound mail). To cancel the scheduled send, call DELETE /v1/schedules/{scheduleId} - the email eventbus handler listens for SCHEDULE_CANCELLED and reverts the row back to draft automatically."
|
|
7323
|
+
},
|
|
7324
|
+
"scheduledFireAt": {
|
|
7325
|
+
"type": "string",
|
|
7326
|
+
"description": "Denormalised copy of the owning Schedule's `fireAt` timestamp (ISO 8601). The scheduled-send banner reads this directly so the UI never has to round-trip to /v1/schedules just to render 'Send scheduled for X'. Source of truth is the Schedule; this field stays stable because Schedule.fireAt is immutable post-create."
|
|
7327
|
+
},
|
|
7210
7328
|
"ttl": {
|
|
7211
7329
|
"type": "string"
|
|
7212
7330
|
},
|
|
@@ -7250,7 +7368,16 @@
|
|
|
7250
7368
|
"description": "Delete Email",
|
|
7251
7369
|
"inputSchema": {
|
|
7252
7370
|
"type": "object",
|
|
7253
|
-
"properties": {
|
|
7371
|
+
"properties": {
|
|
7372
|
+
"permanentDelete": {
|
|
7373
|
+
"type": "string",
|
|
7374
|
+
"description": "Set to true for permanent deletion (row removed from DynamoDB). Defaults to false (soft delete to Trash).",
|
|
7375
|
+
"enum": [
|
|
7376
|
+
"true",
|
|
7377
|
+
"false"
|
|
7378
|
+
]
|
|
7379
|
+
}
|
|
7380
|
+
}
|
|
7254
7381
|
},
|
|
7255
7382
|
"_meta": {
|
|
7256
7383
|
"method": "DELETE",
|
|
@@ -8528,10 +8655,6 @@
|
|
|
8528
8655
|
"attributes": {
|
|
8529
8656
|
"title": "ScheduleAttributesSchema",
|
|
8530
8657
|
"type": "object",
|
|
8531
|
-
"required": [
|
|
8532
|
-
"fireAt",
|
|
8533
|
-
"target"
|
|
8534
|
-
],
|
|
8535
8658
|
"properties": {
|
|
8536
8659
|
"name": {
|
|
8537
8660
|
"type": "string",
|
|
@@ -8543,8 +8666,10 @@
|
|
|
8543
8666
|
"pending",
|
|
8544
8667
|
"fired",
|
|
8545
8668
|
"cancelled",
|
|
8546
|
-
"failed"
|
|
8547
|
-
|
|
8669
|
+
"failed",
|
|
8670
|
+
"paused"
|
|
8671
|
+
],
|
|
8672
|
+
"description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
|
|
8548
8673
|
},
|
|
8549
8674
|
"fireAt": {
|
|
8550
8675
|
"type": "string",
|
|
@@ -8691,6 +8816,24 @@
|
|
|
8691
8816
|
}
|
|
8692
8817
|
}
|
|
8693
8818
|
}
|
|
8819
|
+
},
|
|
8820
|
+
"email": {
|
|
8821
|
+
"title": "ScheduleRelationshipsEmailSchema",
|
|
8822
|
+
"type": "object",
|
|
8823
|
+
"description": "The email this schedule was armed for. Set by wait:process so the email service can denormalise scheduleId back onto the email row when SCHEDULE_CREATED fires.",
|
|
8824
|
+
"properties": {
|
|
8825
|
+
"data": {
|
|
8826
|
+
"type": "object",
|
|
8827
|
+
"properties": {
|
|
8828
|
+
"type": {
|
|
8829
|
+
"type": "string"
|
|
8830
|
+
},
|
|
8831
|
+
"id": {
|
|
8832
|
+
"type": "string"
|
|
8833
|
+
}
|
|
8834
|
+
}
|
|
8835
|
+
}
|
|
8836
|
+
}
|
|
8694
8837
|
}
|
|
8695
8838
|
}
|
|
8696
8839
|
}
|
|
@@ -8775,10 +8918,6 @@
|
|
|
8775
8918
|
"attributes": {
|
|
8776
8919
|
"title": "ScheduleAttributesSchema",
|
|
8777
8920
|
"type": "object",
|
|
8778
|
-
"required": [
|
|
8779
|
-
"fireAt",
|
|
8780
|
-
"target"
|
|
8781
|
-
],
|
|
8782
8921
|
"properties": {
|
|
8783
8922
|
"name": {
|
|
8784
8923
|
"type": "string",
|
|
@@ -8790,8 +8929,10 @@
|
|
|
8790
8929
|
"pending",
|
|
8791
8930
|
"fired",
|
|
8792
8931
|
"cancelled",
|
|
8793
|
-
"failed"
|
|
8794
|
-
|
|
8932
|
+
"failed",
|
|
8933
|
+
"paused"
|
|
8934
|
+
],
|
|
8935
|
+
"description": "Lifecycle. `pending` is armed and will fire. `fired`/`failed` are terminal. `cancelled` is terminal (hard cancel via DELETE). `paused` is pause-for-edit: EventBridge entry is removed but the row stays re-activatable by PATCH back to `pending` with a new `fireAt`."
|
|
8795
8936
|
},
|
|
8796
8937
|
"fireAt": {
|
|
8797
8938
|
"type": "string",
|
|
@@ -8938,6 +9079,24 @@
|
|
|
8938
9079
|
}
|
|
8939
9080
|
}
|
|
8940
9081
|
}
|
|
9082
|
+
},
|
|
9083
|
+
"email": {
|
|
9084
|
+
"title": "ScheduleRelationshipsEmailSchema",
|
|
9085
|
+
"type": "object",
|
|
9086
|
+
"description": "The email this schedule was armed for. Set by wait:process so the email service can denormalise scheduleId back onto the email row when SCHEDULE_CREATED fires.",
|
|
9087
|
+
"properties": {
|
|
9088
|
+
"data": {
|
|
9089
|
+
"type": "object",
|
|
9090
|
+
"properties": {
|
|
9091
|
+
"type": {
|
|
9092
|
+
"type": "string"
|
|
9093
|
+
},
|
|
9094
|
+
"id": {
|
|
9095
|
+
"type": "string"
|
|
9096
|
+
}
|
|
9097
|
+
}
|
|
9098
|
+
}
|
|
9099
|
+
}
|
|
8941
9100
|
}
|
|
8942
9101
|
}
|
|
8943
9102
|
}
|
|
@@ -12027,45 +12186,37 @@
|
|
|
12027
12186
|
}
|
|
12028
12187
|
},
|
|
12029
12188
|
{
|
|
12030
|
-
"name": "
|
|
12031
|
-
"description": "List
|
|
12189
|
+
"name": "list_states",
|
|
12190
|
+
"description": "List States",
|
|
12032
12191
|
"inputSchema": {
|
|
12033
12192
|
"type": "object",
|
|
12034
12193
|
"properties": {
|
|
12035
|
-
"
|
|
12194
|
+
"filterResourceType": {
|
|
12036
12195
|
"type": "string",
|
|
12037
|
-
"description": "
|
|
12196
|
+
"description": "Only return states for this resource type.",
|
|
12038
12197
|
"enum": [
|
|
12039
|
-
"
|
|
12040
|
-
"
|
|
12041
|
-
"
|
|
12042
|
-
"
|
|
12198
|
+
"emails",
|
|
12199
|
+
"candidates",
|
|
12200
|
+
"conversations",
|
|
12201
|
+
"jobs",
|
|
12202
|
+
"talents",
|
|
12203
|
+
"personas",
|
|
12204
|
+
"reports",
|
|
12205
|
+
"tasks"
|
|
12043
12206
|
]
|
|
12044
12207
|
},
|
|
12045
|
-
"
|
|
12046
|
-
"type": "string",
|
|
12047
|
-
"description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
|
|
12048
|
-
},
|
|
12049
|
-
"filterCreatedTo": {
|
|
12050
|
-
"type": "string",
|
|
12051
|
-
"description": "Filters results to include only those created up to the specified date and time. The value must be in ISO 8601 format."
|
|
12052
|
-
},
|
|
12053
|
-
"filterModifiedFrom": {
|
|
12208
|
+
"filterResourceIds": {
|
|
12054
12209
|
"type": "string",
|
|
12055
|
-
"description": "
|
|
12210
|
+
"description": "Comma-separated list of resource ids to batch-fetch. Requires `filterResourceType`."
|
|
12056
12211
|
},
|
|
12057
|
-
"
|
|
12212
|
+
"folder": {
|
|
12058
12213
|
"type": "string",
|
|
12059
|
-
"description": "
|
|
12214
|
+
"description": "Folder-style filter. Tagged-union: the fixed folders are an enum,\nand the label folder is a `label:<labelId>` template. Orthogonal\nto filterResourceType and filterResourceIds which scope within\nthe folder.\n\nFixed folders:\n `all` - default, no folder filter\n `unseen` - only unread rows (sparse UnseenIndex)\n `starred` - only starred rows (sparse StarredIndex)\n `spam` - only user-spam-marked rows (sparse SpamIndex)\n\nLabel folder:\n `label:<labelId>` - rows whose `flags.labels` contains labelId\n\nTypeScript callers should narrow this to\n`'all' | 'unseen' | 'starred' | 'spam' | \\`label:${string}\\``\nin their client wrapper; OpenAPI cannot express template-literal\nunions natively."
|
|
12060
12215
|
},
|
|
12061
12216
|
"pageSize": {
|
|
12062
12217
|
"type": "integer",
|
|
12063
12218
|
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12064
12219
|
},
|
|
12065
|
-
"pageNumber": {
|
|
12066
|
-
"type": "integer",
|
|
12067
|
-
"description": "Specifies the page number to retrieve. Used for traditional pagination."
|
|
12068
|
-
},
|
|
12069
12220
|
"pageAfter": {
|
|
12070
12221
|
"type": "string",
|
|
12071
12222
|
"description": "Opaque base64-encoded cursor returned by a previous list response, used for forward cursor-based pagination. Pass the value verbatim; do not decode or mutate it."
|
|
@@ -12078,22 +12229,22 @@
|
|
|
12078
12229
|
},
|
|
12079
12230
|
"_meta": {
|
|
12080
12231
|
"method": "GET",
|
|
12081
|
-
"path": "/v1/
|
|
12082
|
-
"operationId": "
|
|
12232
|
+
"path": "/v1/states",
|
|
12233
|
+
"operationId": "listStates"
|
|
12083
12234
|
}
|
|
12084
12235
|
},
|
|
12085
12236
|
{
|
|
12086
|
-
"name": "
|
|
12087
|
-
"description": "
|
|
12237
|
+
"name": "create_state",
|
|
12238
|
+
"description": "Upsert State",
|
|
12088
12239
|
"inputSchema": {
|
|
12089
|
-
"title": "
|
|
12240
|
+
"title": "CreateStateRequestBody",
|
|
12090
12241
|
"type": "object",
|
|
12091
12242
|
"required": [
|
|
12092
12243
|
"data"
|
|
12093
12244
|
],
|
|
12094
12245
|
"properties": {
|
|
12095
12246
|
"data": {
|
|
12096
|
-
"title": "
|
|
12247
|
+
"title": "CreateStateRequestBodyData",
|
|
12097
12248
|
"type": "object",
|
|
12098
12249
|
"required": [
|
|
12099
12250
|
"type",
|
|
@@ -12103,49 +12254,824 @@
|
|
|
12103
12254
|
"type": {
|
|
12104
12255
|
"type": "string",
|
|
12105
12256
|
"enum": [
|
|
12106
|
-
"
|
|
12257
|
+
"states"
|
|
12107
12258
|
]
|
|
12108
12259
|
},
|
|
12109
12260
|
"attributes": {
|
|
12110
|
-
"title": "
|
|
12261
|
+
"title": "StateAttributesSchema",
|
|
12111
12262
|
"type": "object",
|
|
12112
12263
|
"properties": {
|
|
12113
|
-
"
|
|
12114
|
-
"type": "string"
|
|
12264
|
+
"userId": {
|
|
12265
|
+
"type": "string",
|
|
12266
|
+
"description": "Owner of this state row. Always the authenticated user; never set by the client."
|
|
12115
12267
|
},
|
|
12116
|
-
"
|
|
12117
|
-
"type": "string"
|
|
12268
|
+
"resourceType": {
|
|
12269
|
+
"type": "string",
|
|
12270
|
+
"enum": [
|
|
12271
|
+
"emails",
|
|
12272
|
+
"candidates",
|
|
12273
|
+
"conversations",
|
|
12274
|
+
"jobs",
|
|
12275
|
+
"talents",
|
|
12276
|
+
"personas",
|
|
12277
|
+
"reports",
|
|
12278
|
+
"tasks"
|
|
12279
|
+
],
|
|
12280
|
+
"description": "The kind of resource this state describes. Lives in the composite id as `{resourceType}:{resourceId}`."
|
|
12118
12281
|
},
|
|
12119
|
-
"
|
|
12282
|
+
"resourceId": {
|
|
12120
12283
|
"type": "string",
|
|
12121
|
-
"
|
|
12284
|
+
"description": "Id of the resource this state describes (e.g. an emailId, candidateId)."
|
|
12122
12285
|
},
|
|
12123
|
-
"
|
|
12124
|
-
"type": "
|
|
12286
|
+
"isSeen": {
|
|
12287
|
+
"type": "boolean",
|
|
12288
|
+
"description": "True if the user has opened the resource at least once. Derived from the presence of `seenAt`; clients can write either `isSeen` or `seenAt` on upsert."
|
|
12125
12289
|
},
|
|
12126
|
-
"
|
|
12127
|
-
"type": "
|
|
12290
|
+
"isStarred": {
|
|
12291
|
+
"type": "boolean",
|
|
12292
|
+
"description": "True if the user has starred/favourited the resource."
|
|
12128
12293
|
},
|
|
12129
|
-
"
|
|
12130
|
-
"type": "
|
|
12294
|
+
"isSpam": {
|
|
12295
|
+
"type": "boolean",
|
|
12296
|
+
"description": "True if the user marked this resource as spam. Distinct from the email service's `suppressed` status, which is SES-driven on outbound delivery; this is an inbound, per-user action."
|
|
12131
12297
|
},
|
|
12132
|
-
"
|
|
12133
|
-
"type": "string"
|
|
12298
|
+
"seenAt": {
|
|
12299
|
+
"type": "string",
|
|
12300
|
+
"description": "ISO 8601 timestamp of the user's most recent open. Absent means never seen."
|
|
12134
12301
|
},
|
|
12135
|
-
"
|
|
12136
|
-
"type": "
|
|
12302
|
+
"starredAt": {
|
|
12303
|
+
"type": "string",
|
|
12304
|
+
"description": "ISO 8601 timestamp of when the user starred the resource. Absent means not starred; used as the sort key for the `Starred` folder."
|
|
12137
12305
|
},
|
|
12138
|
-
"
|
|
12139
|
-
"type": "
|
|
12140
|
-
"
|
|
12141
|
-
"type": "object"
|
|
12142
|
-
}
|
|
12306
|
+
"spamAt": {
|
|
12307
|
+
"type": "string",
|
|
12308
|
+
"description": "ISO 8601 timestamp of when the user marked the resource as spam. Absent means not spam; used as the sort key for the `Spam` folder."
|
|
12143
12309
|
},
|
|
12144
|
-
"
|
|
12310
|
+
"resourceCreatedAt": {
|
|
12145
12311
|
"type": "string",
|
|
12146
|
-
"
|
|
12147
|
-
|
|
12148
|
-
|
|
12312
|
+
"description": "Denormalised copy of the underlying resource's own `created` timestamp. Used as the sparse unread-index sort key so the unread feed surfaces oldest resources first, not oldest state rows."
|
|
12313
|
+
},
|
|
12314
|
+
"flags": {
|
|
12315
|
+
"type": "object",
|
|
12316
|
+
"additionalProperties": true,
|
|
12317
|
+
"description": "Open-ended per-resource flags (e.g. `{muted: true}` on conversations, `{pinned: true}` on candidates). First-class state goes on the top-level attributes; ad-hoc state lives here."
|
|
12318
|
+
},
|
|
12319
|
+
"timestamps": {
|
|
12320
|
+
"title": "ResourceTimestampsSchema",
|
|
12321
|
+
"type": "object",
|
|
12322
|
+
"properties": {
|
|
12323
|
+
"created": {
|
|
12324
|
+
"type": "string",
|
|
12325
|
+
"format": "date-time"
|
|
12326
|
+
},
|
|
12327
|
+
"modified": {
|
|
12328
|
+
"type": "string",
|
|
12329
|
+
"format": "date-time"
|
|
12330
|
+
}
|
|
12331
|
+
}
|
|
12332
|
+
}
|
|
12333
|
+
}
|
|
12334
|
+
}
|
|
12335
|
+
}
|
|
12336
|
+
}
|
|
12337
|
+
}
|
|
12338
|
+
},
|
|
12339
|
+
"_meta": {
|
|
12340
|
+
"method": "POST",
|
|
12341
|
+
"path": "/v1/states",
|
|
12342
|
+
"operationId": "createState"
|
|
12343
|
+
}
|
|
12344
|
+
},
|
|
12345
|
+
{
|
|
12346
|
+
"name": "states_options",
|
|
12347
|
+
"description": "States Options",
|
|
12348
|
+
"inputSchema": {
|
|
12349
|
+
"type": "object",
|
|
12350
|
+
"properties": {}
|
|
12351
|
+
},
|
|
12352
|
+
"_meta": {
|
|
12353
|
+
"method": "OPTIONS",
|
|
12354
|
+
"path": "/v1/states",
|
|
12355
|
+
"operationId": "statesOptions"
|
|
12356
|
+
}
|
|
12357
|
+
},
|
|
12358
|
+
{
|
|
12359
|
+
"name": "show_state",
|
|
12360
|
+
"description": "Show State",
|
|
12361
|
+
"inputSchema": {
|
|
12362
|
+
"type": "object",
|
|
12363
|
+
"properties": {}
|
|
12364
|
+
},
|
|
12365
|
+
"_meta": {
|
|
12366
|
+
"method": "GET",
|
|
12367
|
+
"path": "/v1/states/{stateId}",
|
|
12368
|
+
"operationId": "showState"
|
|
12369
|
+
}
|
|
12370
|
+
},
|
|
12371
|
+
{
|
|
12372
|
+
"name": "update_state",
|
|
12373
|
+
"description": "Update State",
|
|
12374
|
+
"inputSchema": {
|
|
12375
|
+
"title": "UpdateStateRequestBody",
|
|
12376
|
+
"type": "object",
|
|
12377
|
+
"required": [
|
|
12378
|
+
"data"
|
|
12379
|
+
],
|
|
12380
|
+
"properties": {
|
|
12381
|
+
"data": {
|
|
12382
|
+
"title": "UpdateStateRequestBodyData",
|
|
12383
|
+
"type": "object",
|
|
12384
|
+
"required": [
|
|
12385
|
+
"type",
|
|
12386
|
+
"id",
|
|
12387
|
+
"attributes"
|
|
12388
|
+
],
|
|
12389
|
+
"properties": {
|
|
12390
|
+
"type": {
|
|
12391
|
+
"type": "string",
|
|
12392
|
+
"enum": [
|
|
12393
|
+
"states"
|
|
12394
|
+
]
|
|
12395
|
+
},
|
|
12396
|
+
"id": {
|
|
12397
|
+
"type": "string"
|
|
12398
|
+
},
|
|
12399
|
+
"attributes": {
|
|
12400
|
+
"title": "StateAttributesSchema",
|
|
12401
|
+
"type": "object",
|
|
12402
|
+
"properties": {
|
|
12403
|
+
"userId": {
|
|
12404
|
+
"type": "string",
|
|
12405
|
+
"description": "Owner of this state row. Always the authenticated user; never set by the client."
|
|
12406
|
+
},
|
|
12407
|
+
"resourceType": {
|
|
12408
|
+
"type": "string",
|
|
12409
|
+
"enum": [
|
|
12410
|
+
"emails",
|
|
12411
|
+
"candidates",
|
|
12412
|
+
"conversations",
|
|
12413
|
+
"jobs",
|
|
12414
|
+
"talents",
|
|
12415
|
+
"personas",
|
|
12416
|
+
"reports",
|
|
12417
|
+
"tasks"
|
|
12418
|
+
],
|
|
12419
|
+
"description": "The kind of resource this state describes. Lives in the composite id as `{resourceType}:{resourceId}`."
|
|
12420
|
+
},
|
|
12421
|
+
"resourceId": {
|
|
12422
|
+
"type": "string",
|
|
12423
|
+
"description": "Id of the resource this state describes (e.g. an emailId, candidateId)."
|
|
12424
|
+
},
|
|
12425
|
+
"isSeen": {
|
|
12426
|
+
"type": "boolean",
|
|
12427
|
+
"description": "True if the user has opened the resource at least once. Derived from the presence of `seenAt`; clients can write either `isSeen` or `seenAt` on upsert."
|
|
12428
|
+
},
|
|
12429
|
+
"isStarred": {
|
|
12430
|
+
"type": "boolean",
|
|
12431
|
+
"description": "True if the user has starred/favourited the resource."
|
|
12432
|
+
},
|
|
12433
|
+
"isSpam": {
|
|
12434
|
+
"type": "boolean",
|
|
12435
|
+
"description": "True if the user marked this resource as spam. Distinct from the email service's `suppressed` status, which is SES-driven on outbound delivery; this is an inbound, per-user action."
|
|
12436
|
+
},
|
|
12437
|
+
"seenAt": {
|
|
12438
|
+
"type": "string",
|
|
12439
|
+
"description": "ISO 8601 timestamp of the user's most recent open. Absent means never seen."
|
|
12440
|
+
},
|
|
12441
|
+
"starredAt": {
|
|
12442
|
+
"type": "string",
|
|
12443
|
+
"description": "ISO 8601 timestamp of when the user starred the resource. Absent means not starred; used as the sort key for the `Starred` folder."
|
|
12444
|
+
},
|
|
12445
|
+
"spamAt": {
|
|
12446
|
+
"type": "string",
|
|
12447
|
+
"description": "ISO 8601 timestamp of when the user marked the resource as spam. Absent means not spam; used as the sort key for the `Spam` folder."
|
|
12448
|
+
},
|
|
12449
|
+
"resourceCreatedAt": {
|
|
12450
|
+
"type": "string",
|
|
12451
|
+
"description": "Denormalised copy of the underlying resource's own `created` timestamp. Used as the sparse unread-index sort key so the unread feed surfaces oldest resources first, not oldest state rows."
|
|
12452
|
+
},
|
|
12453
|
+
"flags": {
|
|
12454
|
+
"type": "object",
|
|
12455
|
+
"additionalProperties": true,
|
|
12456
|
+
"description": "Open-ended per-resource flags (e.g. `{muted: true}` on conversations, `{pinned: true}` on candidates). First-class state goes on the top-level attributes; ad-hoc state lives here."
|
|
12457
|
+
},
|
|
12458
|
+
"timestamps": {
|
|
12459
|
+
"title": "ResourceTimestampsSchema",
|
|
12460
|
+
"type": "object",
|
|
12461
|
+
"properties": {
|
|
12462
|
+
"created": {
|
|
12463
|
+
"type": "string",
|
|
12464
|
+
"format": "date-time"
|
|
12465
|
+
},
|
|
12466
|
+
"modified": {
|
|
12467
|
+
"type": "string",
|
|
12468
|
+
"format": "date-time"
|
|
12469
|
+
}
|
|
12470
|
+
}
|
|
12471
|
+
}
|
|
12472
|
+
}
|
|
12473
|
+
}
|
|
12474
|
+
}
|
|
12475
|
+
}
|
|
12476
|
+
}
|
|
12477
|
+
},
|
|
12478
|
+
"_meta": {
|
|
12479
|
+
"method": "PATCH",
|
|
12480
|
+
"path": "/v1/states/{stateId}",
|
|
12481
|
+
"operationId": "updateState"
|
|
12482
|
+
}
|
|
12483
|
+
},
|
|
12484
|
+
{
|
|
12485
|
+
"name": "delete_state",
|
|
12486
|
+
"description": "Delete State",
|
|
12487
|
+
"inputSchema": {
|
|
12488
|
+
"type": "object",
|
|
12489
|
+
"properties": {}
|
|
12490
|
+
},
|
|
12491
|
+
"_meta": {
|
|
12492
|
+
"method": "DELETE",
|
|
12493
|
+
"path": "/v1/states/{stateId}",
|
|
12494
|
+
"operationId": "deleteState"
|
|
12495
|
+
}
|
|
12496
|
+
},
|
|
12497
|
+
{
|
|
12498
|
+
"name": "state_options",
|
|
12499
|
+
"description": "State Options",
|
|
12500
|
+
"inputSchema": {
|
|
12501
|
+
"type": "object",
|
|
12502
|
+
"properties": {}
|
|
12503
|
+
},
|
|
12504
|
+
"_meta": {
|
|
12505
|
+
"method": "OPTIONS",
|
|
12506
|
+
"path": "/v1/states/{stateId}",
|
|
12507
|
+
"operationId": "stateOptions"
|
|
12508
|
+
}
|
|
12509
|
+
},
|
|
12510
|
+
{
|
|
12511
|
+
"name": "list_aggregates",
|
|
12512
|
+
"description": "List Aggregates",
|
|
12513
|
+
"inputSchema": {
|
|
12514
|
+
"type": "object",
|
|
12515
|
+
"properties": {
|
|
12516
|
+
"filterResourceType": {
|
|
12517
|
+
"type": "string",
|
|
12518
|
+
"description": "Only return aggregates for this resource type (e.g. emails).",
|
|
12519
|
+
"enum": [
|
|
12520
|
+
"emails",
|
|
12521
|
+
"candidates",
|
|
12522
|
+
"conversations",
|
|
12523
|
+
"jobs",
|
|
12524
|
+
"talents",
|
|
12525
|
+
"personas",
|
|
12526
|
+
"reports",
|
|
12527
|
+
"tasks"
|
|
12528
|
+
]
|
|
12529
|
+
},
|
|
12530
|
+
"filterDimension": {
|
|
12531
|
+
"type": "string",
|
|
12532
|
+
"description": "Only return aggregates for this dimension (e.g. byFolder, byStatus). Triggers the `meta.by{Dimension}` overlay in the response."
|
|
12533
|
+
},
|
|
12534
|
+
"filterCategory": {
|
|
12535
|
+
"type": "string",
|
|
12536
|
+
"description": "Only return aggregates for this category within the dimension (e.g. received, sent)."
|
|
12537
|
+
},
|
|
12538
|
+
"filterKind": {
|
|
12539
|
+
"type": "string",
|
|
12540
|
+
"description": "Only return aggregates for this projection kind.",
|
|
12541
|
+
"enum": [
|
|
12542
|
+
"total",
|
|
12543
|
+
"seen",
|
|
12544
|
+
"unseen"
|
|
12545
|
+
]
|
|
12546
|
+
},
|
|
12547
|
+
"pageSize": {
|
|
12548
|
+
"type": "integer",
|
|
12549
|
+
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12550
|
+
},
|
|
12551
|
+
"pageAfter": {
|
|
12552
|
+
"type": "string",
|
|
12553
|
+
"description": "Opaque base64-encoded cursor returned by a previous list response, used for forward cursor-based pagination. Pass the value verbatim; do not decode or mutate it."
|
|
12554
|
+
},
|
|
12555
|
+
"pageBefore": {
|
|
12556
|
+
"type": "string",
|
|
12557
|
+
"description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
|
|
12558
|
+
}
|
|
12559
|
+
}
|
|
12560
|
+
},
|
|
12561
|
+
"_meta": {
|
|
12562
|
+
"method": "GET",
|
|
12563
|
+
"path": "/v1/aggregates",
|
|
12564
|
+
"operationId": "listAggregates"
|
|
12565
|
+
}
|
|
12566
|
+
},
|
|
12567
|
+
{
|
|
12568
|
+
"name": "aggregates_options",
|
|
12569
|
+
"description": "Aggregates Options",
|
|
12570
|
+
"inputSchema": {
|
|
12571
|
+
"type": "object",
|
|
12572
|
+
"properties": {}
|
|
12573
|
+
},
|
|
12574
|
+
"_meta": {
|
|
12575
|
+
"method": "OPTIONS",
|
|
12576
|
+
"path": "/v1/aggregates",
|
|
12577
|
+
"operationId": "aggregatesOptions"
|
|
12578
|
+
}
|
|
12579
|
+
},
|
|
12580
|
+
{
|
|
12581
|
+
"name": "show_aggregate",
|
|
12582
|
+
"description": "Show Aggregate",
|
|
12583
|
+
"inputSchema": {
|
|
12584
|
+
"type": "object",
|
|
12585
|
+
"properties": {}
|
|
12586
|
+
},
|
|
12587
|
+
"_meta": {
|
|
12588
|
+
"method": "GET",
|
|
12589
|
+
"path": "/v1/aggregates/{aggregateId}",
|
|
12590
|
+
"operationId": "showAggregate"
|
|
12591
|
+
}
|
|
12592
|
+
},
|
|
12593
|
+
{
|
|
12594
|
+
"name": "update_aggregate",
|
|
12595
|
+
"description": "Update Aggregate (admin)",
|
|
12596
|
+
"inputSchema": {
|
|
12597
|
+
"title": "UpdateAggregateRequestBody",
|
|
12598
|
+
"type": "object",
|
|
12599
|
+
"required": [
|
|
12600
|
+
"data"
|
|
12601
|
+
],
|
|
12602
|
+
"properties": {
|
|
12603
|
+
"data": {
|
|
12604
|
+
"title": "UpdateAggregateRequestBodyData",
|
|
12605
|
+
"type": "object",
|
|
12606
|
+
"required": [
|
|
12607
|
+
"type",
|
|
12608
|
+
"id",
|
|
12609
|
+
"attributes"
|
|
12610
|
+
],
|
|
12611
|
+
"properties": {
|
|
12612
|
+
"type": {
|
|
12613
|
+
"type": "string",
|
|
12614
|
+
"enum": [
|
|
12615
|
+
"aggregates"
|
|
12616
|
+
]
|
|
12617
|
+
},
|
|
12618
|
+
"id": {
|
|
12619
|
+
"type": "string"
|
|
12620
|
+
},
|
|
12621
|
+
"attributes": {
|
|
12622
|
+
"title": "AggregateAttributesSchema",
|
|
12623
|
+
"type": "object",
|
|
12624
|
+
"properties": {
|
|
12625
|
+
"resourceType": {
|
|
12626
|
+
"type": "string",
|
|
12627
|
+
"description": "The resource being counted (e.g. `emails`, `candidates`). Matches the `resourceType` enum used by the state service."
|
|
12628
|
+
},
|
|
12629
|
+
"dimension": {
|
|
12630
|
+
"type": "string",
|
|
12631
|
+
"description": "The categorisation axis (e.g. `byFolder` for emails, `byStatus` for candidates). Each owning service publishes its own dimensions."
|
|
12632
|
+
},
|
|
12633
|
+
"category": {
|
|
12634
|
+
"type": "string",
|
|
12635
|
+
"description": "A specific value within the dimension (e.g. `received`, `sent`, `draft` when dimension=byFolder). Lives in the composite id between dimension and kind."
|
|
12636
|
+
},
|
|
12637
|
+
"kind": {
|
|
12638
|
+
"type": "string",
|
|
12639
|
+
"enum": [
|
|
12640
|
+
"total",
|
|
12641
|
+
"unseen",
|
|
12642
|
+
"seen"
|
|
12643
|
+
],
|
|
12644
|
+
"description": "Which projection of the category this row holds. `total` counts every resource; `seen` counts states with isSeen=true; `unseen` is total minus seen."
|
|
12645
|
+
},
|
|
12646
|
+
"value": {
|
|
12647
|
+
"type": "integer",
|
|
12648
|
+
"description": "Current counter value. Updated via atomic ADD on event consumption; admin PATCH allows manual correction for drift recovery."
|
|
12649
|
+
},
|
|
12650
|
+
"timestamps": {
|
|
12651
|
+
"title": "ResourceTimestampsSchema",
|
|
12652
|
+
"type": "object",
|
|
12653
|
+
"properties": {
|
|
12654
|
+
"created": {
|
|
12655
|
+
"type": "string",
|
|
12656
|
+
"format": "date-time"
|
|
12657
|
+
},
|
|
12658
|
+
"modified": {
|
|
12659
|
+
"type": "string",
|
|
12660
|
+
"format": "date-time"
|
|
12661
|
+
}
|
|
12662
|
+
}
|
|
12663
|
+
}
|
|
12664
|
+
}
|
|
12665
|
+
}
|
|
12666
|
+
}
|
|
12667
|
+
}
|
|
12668
|
+
}
|
|
12669
|
+
},
|
|
12670
|
+
"_meta": {
|
|
12671
|
+
"method": "PATCH",
|
|
12672
|
+
"path": "/v1/aggregates/{aggregateId}",
|
|
12673
|
+
"operationId": "updateAggregate"
|
|
12674
|
+
}
|
|
12675
|
+
},
|
|
12676
|
+
{
|
|
12677
|
+
"name": "aggregate_options",
|
|
12678
|
+
"description": "Aggregate Options",
|
|
12679
|
+
"inputSchema": {
|
|
12680
|
+
"type": "object",
|
|
12681
|
+
"properties": {}
|
|
12682
|
+
},
|
|
12683
|
+
"_meta": {
|
|
12684
|
+
"method": "OPTIONS",
|
|
12685
|
+
"path": "/v1/aggregates/{aggregateId}",
|
|
12686
|
+
"operationId": "aggregateOptions"
|
|
12687
|
+
}
|
|
12688
|
+
},
|
|
12689
|
+
{
|
|
12690
|
+
"name": "list_labels",
|
|
12691
|
+
"description": "List Labels",
|
|
12692
|
+
"inputSchema": {
|
|
12693
|
+
"type": "object",
|
|
12694
|
+
"properties": {
|
|
12695
|
+
"filterStatus": {
|
|
12696
|
+
"type": "string",
|
|
12697
|
+
"description": "filterStatus parameter",
|
|
12698
|
+
"enum": [
|
|
12699
|
+
"active",
|
|
12700
|
+
"archived"
|
|
12701
|
+
]
|
|
12702
|
+
},
|
|
12703
|
+
"pageSize": {
|
|
12704
|
+
"type": "integer",
|
|
12705
|
+
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12706
|
+
}
|
|
12707
|
+
}
|
|
12708
|
+
},
|
|
12709
|
+
"_meta": {
|
|
12710
|
+
"method": "GET",
|
|
12711
|
+
"path": "/v1/labels",
|
|
12712
|
+
"operationId": "listLabels"
|
|
12713
|
+
}
|
|
12714
|
+
},
|
|
12715
|
+
{
|
|
12716
|
+
"name": "create_label",
|
|
12717
|
+
"description": "Create Label",
|
|
12718
|
+
"inputSchema": {
|
|
12719
|
+
"title": "CreateLabelRequestBody",
|
|
12720
|
+
"type": "object",
|
|
12721
|
+
"required": [
|
|
12722
|
+
"data"
|
|
12723
|
+
],
|
|
12724
|
+
"properties": {
|
|
12725
|
+
"data": {
|
|
12726
|
+
"title": "CreateLabelRequestBodyData",
|
|
12727
|
+
"type": "object",
|
|
12728
|
+
"required": [
|
|
12729
|
+
"type",
|
|
12730
|
+
"attributes"
|
|
12731
|
+
],
|
|
12732
|
+
"properties": {
|
|
12733
|
+
"type": {
|
|
12734
|
+
"type": "string",
|
|
12735
|
+
"enum": [
|
|
12736
|
+
"labels"
|
|
12737
|
+
]
|
|
12738
|
+
},
|
|
12739
|
+
"attributes": {
|
|
12740
|
+
"title": "LabelAttributesSchema",
|
|
12741
|
+
"type": "object",
|
|
12742
|
+
"properties": {
|
|
12743
|
+
"name": {
|
|
12744
|
+
"type": "string",
|
|
12745
|
+
"description": "Display name. Unique within a scope by convention but not enforced."
|
|
12746
|
+
},
|
|
12747
|
+
"color": {
|
|
12748
|
+
"type": "string",
|
|
12749
|
+
"description": "Hex or CSS-named color the UI uses to render the label pill."
|
|
12750
|
+
},
|
|
12751
|
+
"description": {
|
|
12752
|
+
"type": "string"
|
|
12753
|
+
},
|
|
12754
|
+
"scope": {
|
|
12755
|
+
"type": "string",
|
|
12756
|
+
"enum": [
|
|
12757
|
+
"tenant",
|
|
12758
|
+
"user"
|
|
12759
|
+
],
|
|
12760
|
+
"description": "tenant = visible to every user in the tenant; user = visible only to the owner."
|
|
12761
|
+
},
|
|
12762
|
+
"ownerId": {
|
|
12763
|
+
"type": "string",
|
|
12764
|
+
"description": "Set server-side from the caller. Tenant-scope: tenantId. User-scope: the authenticated user's full userId."
|
|
12765
|
+
},
|
|
12766
|
+
"resourceTypes": {
|
|
12767
|
+
"type": "array",
|
|
12768
|
+
"items": {
|
|
12769
|
+
"type": "string"
|
|
12770
|
+
},
|
|
12771
|
+
"description": "Optional UI hint: if set, the frontend only exposes this label in the picker for these resource types (emails, candidates, ...). Not enforced server-side."
|
|
12772
|
+
},
|
|
12773
|
+
"status": {
|
|
12774
|
+
"type": "string",
|
|
12775
|
+
"enum": [
|
|
12776
|
+
"active",
|
|
12777
|
+
"archived"
|
|
12778
|
+
],
|
|
12779
|
+
"description": "Archived labels stay readable (for historical assignments) but disappear from the default list."
|
|
12780
|
+
},
|
|
12781
|
+
"timestamps": {
|
|
12782
|
+
"title": "ResourceTimestampsSchema",
|
|
12783
|
+
"type": "object",
|
|
12784
|
+
"properties": {
|
|
12785
|
+
"created": {
|
|
12786
|
+
"type": "string",
|
|
12787
|
+
"format": "date-time"
|
|
12788
|
+
},
|
|
12789
|
+
"modified": {
|
|
12790
|
+
"type": "string",
|
|
12791
|
+
"format": "date-time"
|
|
12792
|
+
}
|
|
12793
|
+
}
|
|
12794
|
+
}
|
|
12795
|
+
}
|
|
12796
|
+
}
|
|
12797
|
+
}
|
|
12798
|
+
}
|
|
12799
|
+
}
|
|
12800
|
+
},
|
|
12801
|
+
"_meta": {
|
|
12802
|
+
"method": "POST",
|
|
12803
|
+
"path": "/v1/labels",
|
|
12804
|
+
"operationId": "createLabel"
|
|
12805
|
+
}
|
|
12806
|
+
},
|
|
12807
|
+
{
|
|
12808
|
+
"name": "labels_options",
|
|
12809
|
+
"description": "Labels Options",
|
|
12810
|
+
"inputSchema": {
|
|
12811
|
+
"type": "object",
|
|
12812
|
+
"properties": {}
|
|
12813
|
+
},
|
|
12814
|
+
"_meta": {
|
|
12815
|
+
"method": "OPTIONS",
|
|
12816
|
+
"path": "/v1/labels",
|
|
12817
|
+
"operationId": "labelsOptions"
|
|
12818
|
+
}
|
|
12819
|
+
},
|
|
12820
|
+
{
|
|
12821
|
+
"name": "show_label",
|
|
12822
|
+
"description": "Show Label",
|
|
12823
|
+
"inputSchema": {
|
|
12824
|
+
"type": "object",
|
|
12825
|
+
"properties": {}
|
|
12826
|
+
},
|
|
12827
|
+
"_meta": {
|
|
12828
|
+
"method": "GET",
|
|
12829
|
+
"path": "/v1/labels/{labelId}",
|
|
12830
|
+
"operationId": "showLabel"
|
|
12831
|
+
}
|
|
12832
|
+
},
|
|
12833
|
+
{
|
|
12834
|
+
"name": "update_label",
|
|
12835
|
+
"description": "Update Label",
|
|
12836
|
+
"inputSchema": {
|
|
12837
|
+
"title": "UpdateLabelRequestBody",
|
|
12838
|
+
"type": "object",
|
|
12839
|
+
"required": [
|
|
12840
|
+
"data"
|
|
12841
|
+
],
|
|
12842
|
+
"properties": {
|
|
12843
|
+
"data": {
|
|
12844
|
+
"title": "UpdateLabelRequestBodyData",
|
|
12845
|
+
"type": "object",
|
|
12846
|
+
"required": [
|
|
12847
|
+
"type",
|
|
12848
|
+
"id",
|
|
12849
|
+
"attributes"
|
|
12850
|
+
],
|
|
12851
|
+
"properties": {
|
|
12852
|
+
"type": {
|
|
12853
|
+
"type": "string",
|
|
12854
|
+
"enum": [
|
|
12855
|
+
"labels"
|
|
12856
|
+
]
|
|
12857
|
+
},
|
|
12858
|
+
"id": {
|
|
12859
|
+
"type": "string"
|
|
12860
|
+
},
|
|
12861
|
+
"attributes": {
|
|
12862
|
+
"title": "LabelAttributesSchema",
|
|
12863
|
+
"type": "object",
|
|
12864
|
+
"properties": {
|
|
12865
|
+
"name": {
|
|
12866
|
+
"type": "string",
|
|
12867
|
+
"description": "Display name. Unique within a scope by convention but not enforced."
|
|
12868
|
+
},
|
|
12869
|
+
"color": {
|
|
12870
|
+
"type": "string",
|
|
12871
|
+
"description": "Hex or CSS-named color the UI uses to render the label pill."
|
|
12872
|
+
},
|
|
12873
|
+
"description": {
|
|
12874
|
+
"type": "string"
|
|
12875
|
+
},
|
|
12876
|
+
"scope": {
|
|
12877
|
+
"type": "string",
|
|
12878
|
+
"enum": [
|
|
12879
|
+
"tenant",
|
|
12880
|
+
"user"
|
|
12881
|
+
],
|
|
12882
|
+
"description": "tenant = visible to every user in the tenant; user = visible only to the owner."
|
|
12883
|
+
},
|
|
12884
|
+
"ownerId": {
|
|
12885
|
+
"type": "string",
|
|
12886
|
+
"description": "Set server-side from the caller. Tenant-scope: tenantId. User-scope: the authenticated user's full userId."
|
|
12887
|
+
},
|
|
12888
|
+
"resourceTypes": {
|
|
12889
|
+
"type": "array",
|
|
12890
|
+
"items": {
|
|
12891
|
+
"type": "string"
|
|
12892
|
+
},
|
|
12893
|
+
"description": "Optional UI hint: if set, the frontend only exposes this label in the picker for these resource types (emails, candidates, ...). Not enforced server-side."
|
|
12894
|
+
},
|
|
12895
|
+
"status": {
|
|
12896
|
+
"type": "string",
|
|
12897
|
+
"enum": [
|
|
12898
|
+
"active",
|
|
12899
|
+
"archived"
|
|
12900
|
+
],
|
|
12901
|
+
"description": "Archived labels stay readable (for historical assignments) but disappear from the default list."
|
|
12902
|
+
},
|
|
12903
|
+
"timestamps": {
|
|
12904
|
+
"title": "ResourceTimestampsSchema",
|
|
12905
|
+
"type": "object",
|
|
12906
|
+
"properties": {
|
|
12907
|
+
"created": {
|
|
12908
|
+
"type": "string",
|
|
12909
|
+
"format": "date-time"
|
|
12910
|
+
},
|
|
12911
|
+
"modified": {
|
|
12912
|
+
"type": "string",
|
|
12913
|
+
"format": "date-time"
|
|
12914
|
+
}
|
|
12915
|
+
}
|
|
12916
|
+
}
|
|
12917
|
+
}
|
|
12918
|
+
}
|
|
12919
|
+
}
|
|
12920
|
+
}
|
|
12921
|
+
}
|
|
12922
|
+
},
|
|
12923
|
+
"_meta": {
|
|
12924
|
+
"method": "PATCH",
|
|
12925
|
+
"path": "/v1/labels/{labelId}",
|
|
12926
|
+
"operationId": "updateLabel"
|
|
12927
|
+
}
|
|
12928
|
+
},
|
|
12929
|
+
{
|
|
12930
|
+
"name": "delete_label",
|
|
12931
|
+
"description": "Delete Label",
|
|
12932
|
+
"inputSchema": {
|
|
12933
|
+
"type": "object",
|
|
12934
|
+
"properties": {}
|
|
12935
|
+
},
|
|
12936
|
+
"_meta": {
|
|
12937
|
+
"method": "DELETE",
|
|
12938
|
+
"path": "/v1/labels/{labelId}",
|
|
12939
|
+
"operationId": "deleteLabel"
|
|
12940
|
+
}
|
|
12941
|
+
},
|
|
12942
|
+
{
|
|
12943
|
+
"name": "label_options",
|
|
12944
|
+
"description": "Label Options",
|
|
12945
|
+
"inputSchema": {
|
|
12946
|
+
"type": "object",
|
|
12947
|
+
"properties": {}
|
|
12948
|
+
},
|
|
12949
|
+
"_meta": {
|
|
12950
|
+
"method": "OPTIONS",
|
|
12951
|
+
"path": "/v1/labels/{labelId}",
|
|
12952
|
+
"operationId": "labelOptions"
|
|
12953
|
+
}
|
|
12954
|
+
},
|
|
12955
|
+
{
|
|
12956
|
+
"name": "list_meetings",
|
|
12957
|
+
"description": "List Meetings",
|
|
12958
|
+
"inputSchema": {
|
|
12959
|
+
"type": "object",
|
|
12960
|
+
"properties": {
|
|
12961
|
+
"filterStatus": {
|
|
12962
|
+
"type": "string",
|
|
12963
|
+
"description": "Returns meetings with the current status (active, scheduled, ended, archived). If not provided, the default value will be set to 'active'.",
|
|
12964
|
+
"enum": [
|
|
12965
|
+
"active",
|
|
12966
|
+
"scheduled",
|
|
12967
|
+
"ended",
|
|
12968
|
+
"archived"
|
|
12969
|
+
]
|
|
12970
|
+
},
|
|
12971
|
+
"filterCreatedFrom": {
|
|
12972
|
+
"type": "string",
|
|
12973
|
+
"description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
|
|
12974
|
+
},
|
|
12975
|
+
"filterCreatedTo": {
|
|
12976
|
+
"type": "string",
|
|
12977
|
+
"description": "Filters results to include only those created up to the specified date and time. The value must be in ISO 8601 format."
|
|
12978
|
+
},
|
|
12979
|
+
"filterModifiedFrom": {
|
|
12980
|
+
"type": "string",
|
|
12981
|
+
"description": "Filters results to include only those modified from the specified date and time. The value must be in ISO 8601 format."
|
|
12982
|
+
},
|
|
12983
|
+
"filterModifiedTo": {
|
|
12984
|
+
"type": "string",
|
|
12985
|
+
"description": "Filters results to include only those modified up to the specified date and time. The value must be in ISO 8601 format."
|
|
12986
|
+
},
|
|
12987
|
+
"pageSize": {
|
|
12988
|
+
"type": "integer",
|
|
12989
|
+
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12990
|
+
},
|
|
12991
|
+
"pageNumber": {
|
|
12992
|
+
"type": "integer",
|
|
12993
|
+
"description": "Specifies the page number to retrieve. Used for traditional pagination."
|
|
12994
|
+
},
|
|
12995
|
+
"pageAfter": {
|
|
12996
|
+
"type": "string",
|
|
12997
|
+
"description": "Opaque base64-encoded cursor returned by a previous list response, used for forward cursor-based pagination. Pass the value verbatim; do not decode or mutate it."
|
|
12998
|
+
},
|
|
12999
|
+
"pageBefore": {
|
|
13000
|
+
"type": "string",
|
|
13001
|
+
"description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
|
|
13002
|
+
}
|
|
13003
|
+
}
|
|
13004
|
+
},
|
|
13005
|
+
"_meta": {
|
|
13006
|
+
"method": "GET",
|
|
13007
|
+
"path": "/v1/meetings",
|
|
13008
|
+
"operationId": "listMeetings"
|
|
13009
|
+
}
|
|
13010
|
+
},
|
|
13011
|
+
{
|
|
13012
|
+
"name": "create_meeting",
|
|
13013
|
+
"description": "Create Meeting",
|
|
13014
|
+
"inputSchema": {
|
|
13015
|
+
"title": "CreateMeetingRequestBody",
|
|
13016
|
+
"type": "object",
|
|
13017
|
+
"required": [
|
|
13018
|
+
"data"
|
|
13019
|
+
],
|
|
13020
|
+
"properties": {
|
|
13021
|
+
"data": {
|
|
13022
|
+
"title": "CreateMeetingRequestBodyData",
|
|
13023
|
+
"type": "object",
|
|
13024
|
+
"required": [
|
|
13025
|
+
"type",
|
|
13026
|
+
"attributes"
|
|
13027
|
+
],
|
|
13028
|
+
"properties": {
|
|
13029
|
+
"type": {
|
|
13030
|
+
"type": "string",
|
|
13031
|
+
"enum": [
|
|
13032
|
+
"meetings"
|
|
13033
|
+
]
|
|
13034
|
+
},
|
|
13035
|
+
"attributes": {
|
|
13036
|
+
"title": "MeetingAttributesSchema",
|
|
13037
|
+
"type": "object",
|
|
13038
|
+
"properties": {
|
|
13039
|
+
"title": {
|
|
13040
|
+
"type": "string"
|
|
13041
|
+
},
|
|
13042
|
+
"description": {
|
|
13043
|
+
"type": "string"
|
|
13044
|
+
},
|
|
13045
|
+
"scheduledAt": {
|
|
13046
|
+
"type": "string",
|
|
13047
|
+
"format": "date-time"
|
|
13048
|
+
},
|
|
13049
|
+
"duration": {
|
|
13050
|
+
"type": "integer"
|
|
13051
|
+
},
|
|
13052
|
+
"mediaRegion": {
|
|
13053
|
+
"type": "string"
|
|
13054
|
+
},
|
|
13055
|
+
"externalMeetingId": {
|
|
13056
|
+
"type": "string"
|
|
13057
|
+
},
|
|
13058
|
+
"chimeMeetingId": {
|
|
13059
|
+
"type": "string"
|
|
13060
|
+
},
|
|
13061
|
+
"chimeMeetingData": {
|
|
13062
|
+
"type": "object"
|
|
13063
|
+
},
|
|
13064
|
+
"participants": {
|
|
13065
|
+
"type": "array",
|
|
13066
|
+
"items": {
|
|
13067
|
+
"type": "object"
|
|
13068
|
+
}
|
|
13069
|
+
},
|
|
13070
|
+
"status": {
|
|
13071
|
+
"type": "string",
|
|
13072
|
+
"enum": [
|
|
13073
|
+
"active",
|
|
13074
|
+
"scheduled",
|
|
12149
13075
|
"ended",
|
|
12150
13076
|
"archived"
|
|
12151
13077
|
]
|
|
@@ -15068,12 +15994,62 @@
|
|
|
15068
15994
|
"description": "The type of search to perform"
|
|
15069
15995
|
},
|
|
15070
15996
|
"query": {
|
|
15071
|
-
"
|
|
15072
|
-
"
|
|
15997
|
+
"description": "Search query parameters sent to OpenSearch. Shape varies by finder `type`. OpenAPI can't express the full type/query correlation as a strict discriminated union (the discriminator lives on the sibling `type` field, not on `query` itself), so this is encoded as `oneOf` over per-type query schemas. Clients should pick the shape matching the `type` they are posting.",
|
|
15998
|
+
"oneOf": [
|
|
15999
|
+
{
|
|
16000
|
+
"$ref": "#/components/schemas/FinderQueryTalentsSchema"
|
|
16001
|
+
},
|
|
16002
|
+
{
|
|
16003
|
+
"$ref": "#/components/schemas/FinderQueryCandidatesSchema"
|
|
16004
|
+
},
|
|
16005
|
+
{
|
|
16006
|
+
"$ref": "#/components/schemas/FinderQueryJobsSchema"
|
|
16007
|
+
},
|
|
16008
|
+
{
|
|
16009
|
+
"$ref": "#/components/schemas/FinderQueryEmailsSchema"
|
|
16010
|
+
}
|
|
16011
|
+
]
|
|
15073
16012
|
},
|
|
15074
16013
|
"results": {
|
|
16014
|
+
"title": "FinderResultsSchema",
|
|
15075
16015
|
"type": "object",
|
|
15076
|
-
"description": "
|
|
16016
|
+
"description": "OpenSearch-shaped results attached to the finder record after the search runs. Hits array items carry whatever subset of the index schema was projected.",
|
|
16017
|
+
"properties": {
|
|
16018
|
+
"total": {
|
|
16019
|
+
"type": "integer",
|
|
16020
|
+
"description": "Count of matching documents before pagination."
|
|
16021
|
+
},
|
|
16022
|
+
"hits": {
|
|
16023
|
+
"type": "array",
|
|
16024
|
+
"items": {
|
|
16025
|
+
"title": "FinderResultHitSchema",
|
|
16026
|
+
"type": "object",
|
|
16027
|
+
"description": "Single hit from the OpenSearch query. The `id` equals the underlying resource id (emailId, talentId, candidateId, jobId, ...) so the frontend can navigate directly to that resource. Additional fields vary by finder `type`.",
|
|
16028
|
+
"properties": {
|
|
16029
|
+
"id": {
|
|
16030
|
+
"type": "string",
|
|
16031
|
+
"description": "The underlying resource id (emailId / talentId / candidateId / jobId)."
|
|
16032
|
+
},
|
|
16033
|
+
"tenantId": {
|
|
16034
|
+
"type": "string"
|
|
16035
|
+
},
|
|
16036
|
+
"status": {
|
|
16037
|
+
"type": "string"
|
|
16038
|
+
},
|
|
16039
|
+
"source": {
|
|
16040
|
+
"type": "string"
|
|
16041
|
+
},
|
|
16042
|
+
"created": {
|
|
16043
|
+
"type": "string"
|
|
16044
|
+
},
|
|
16045
|
+
"shortCode": {
|
|
16046
|
+
"type": "string"
|
|
16047
|
+
}
|
|
16048
|
+
},
|
|
16049
|
+
"additionalProperties": true
|
|
16050
|
+
}
|
|
16051
|
+
}
|
|
16052
|
+
}
|
|
15077
16053
|
},
|
|
15078
16054
|
"status": {
|
|
15079
16055
|
"type": "string",
|
|
@@ -15301,12 +16277,62 @@
|
|
|
15301
16277
|
"description": "The type of search to perform"
|
|
15302
16278
|
},
|
|
15303
16279
|
"query": {
|
|
15304
|
-
"
|
|
15305
|
-
"
|
|
16280
|
+
"description": "Search query parameters sent to OpenSearch. Shape varies by finder `type`. OpenAPI can't express the full type/query correlation as a strict discriminated union (the discriminator lives on the sibling `type` field, not on `query` itself), so this is encoded as `oneOf` over per-type query schemas. Clients should pick the shape matching the `type` they are posting.",
|
|
16281
|
+
"oneOf": [
|
|
16282
|
+
{
|
|
16283
|
+
"$ref": "#/components/schemas/FinderQueryTalentsSchema"
|
|
16284
|
+
},
|
|
16285
|
+
{
|
|
16286
|
+
"$ref": "#/components/schemas/FinderQueryCandidatesSchema"
|
|
16287
|
+
},
|
|
16288
|
+
{
|
|
16289
|
+
"$ref": "#/components/schemas/FinderQueryJobsSchema"
|
|
16290
|
+
},
|
|
16291
|
+
{
|
|
16292
|
+
"$ref": "#/components/schemas/FinderQueryEmailsSchema"
|
|
16293
|
+
}
|
|
16294
|
+
]
|
|
15306
16295
|
},
|
|
15307
16296
|
"results": {
|
|
16297
|
+
"title": "FinderResultsSchema",
|
|
15308
16298
|
"type": "object",
|
|
15309
|
-
"description": "
|
|
16299
|
+
"description": "OpenSearch-shaped results attached to the finder record after the search runs. Hits array items carry whatever subset of the index schema was projected.",
|
|
16300
|
+
"properties": {
|
|
16301
|
+
"total": {
|
|
16302
|
+
"type": "integer",
|
|
16303
|
+
"description": "Count of matching documents before pagination."
|
|
16304
|
+
},
|
|
16305
|
+
"hits": {
|
|
16306
|
+
"type": "array",
|
|
16307
|
+
"items": {
|
|
16308
|
+
"title": "FinderResultHitSchema",
|
|
16309
|
+
"type": "object",
|
|
16310
|
+
"description": "Single hit from the OpenSearch query. The `id` equals the underlying resource id (emailId, talentId, candidateId, jobId, ...) so the frontend can navigate directly to that resource. Additional fields vary by finder `type`.",
|
|
16311
|
+
"properties": {
|
|
16312
|
+
"id": {
|
|
16313
|
+
"type": "string",
|
|
16314
|
+
"description": "The underlying resource id (emailId / talentId / candidateId / jobId)."
|
|
16315
|
+
},
|
|
16316
|
+
"tenantId": {
|
|
16317
|
+
"type": "string"
|
|
16318
|
+
},
|
|
16319
|
+
"status": {
|
|
16320
|
+
"type": "string"
|
|
16321
|
+
},
|
|
16322
|
+
"source": {
|
|
16323
|
+
"type": "string"
|
|
16324
|
+
},
|
|
16325
|
+
"created": {
|
|
16326
|
+
"type": "string"
|
|
16327
|
+
},
|
|
16328
|
+
"shortCode": {
|
|
16329
|
+
"type": "string"
|
|
16330
|
+
}
|
|
16331
|
+
},
|
|
16332
|
+
"additionalProperties": true
|
|
16333
|
+
}
|
|
16334
|
+
}
|
|
16335
|
+
}
|
|
15310
16336
|
},
|
|
15311
16337
|
"status": {
|
|
15312
16338
|
"type": "string",
|