@smartytalent/mcp-tools 0.1.33-dev.1 → 0.1.33-dev.10
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 +1172 -221
- package/package.json +1 -1
package/dist/tools.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"pageAfter": {
|
|
45
45
|
"type": "string",
|
|
46
|
-
"description": "
|
|
46
|
+
"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."
|
|
47
47
|
},
|
|
48
48
|
"pageBefore": {
|
|
49
49
|
"type": "string",
|
|
@@ -799,7 +799,7 @@
|
|
|
799
799
|
},
|
|
800
800
|
"pageAfter": {
|
|
801
801
|
"type": "string",
|
|
802
|
-
"description": "
|
|
802
|
+
"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."
|
|
803
803
|
},
|
|
804
804
|
"pageBefore": {
|
|
805
805
|
"type": "string",
|
|
@@ -1540,7 +1540,7 @@
|
|
|
1540
1540
|
},
|
|
1541
1541
|
"pageAfter": {
|
|
1542
1542
|
"type": "string",
|
|
1543
|
-
"description": "
|
|
1543
|
+
"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."
|
|
1544
1544
|
},
|
|
1545
1545
|
"pageBefore": {
|
|
1546
1546
|
"type": "string",
|
|
@@ -1882,7 +1882,7 @@
|
|
|
1882
1882
|
},
|
|
1883
1883
|
"pageAfter": {
|
|
1884
1884
|
"type": "string",
|
|
1885
|
-
"description": "
|
|
1885
|
+
"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."
|
|
1886
1886
|
},
|
|
1887
1887
|
"pageBefore": {
|
|
1888
1888
|
"type": "string",
|
|
@@ -2150,7 +2150,7 @@
|
|
|
2150
2150
|
},
|
|
2151
2151
|
"pageAfter": {
|
|
2152
2152
|
"type": "string",
|
|
2153
|
-
"description": "
|
|
2153
|
+
"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."
|
|
2154
2154
|
},
|
|
2155
2155
|
"pageBefore": {
|
|
2156
2156
|
"type": "string",
|
|
@@ -3367,7 +3367,7 @@
|
|
|
3367
3367
|
},
|
|
3368
3368
|
"pageAfter": {
|
|
3369
3369
|
"type": "string",
|
|
3370
|
-
"description": "
|
|
3370
|
+
"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."
|
|
3371
3371
|
},
|
|
3372
3372
|
"pageBefore": {
|
|
3373
3373
|
"type": "string",
|
|
@@ -4632,7 +4632,7 @@
|
|
|
4632
4632
|
},
|
|
4633
4633
|
"pageAfter": {
|
|
4634
4634
|
"type": "string",
|
|
4635
|
-
"description": "
|
|
4635
|
+
"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."
|
|
4636
4636
|
},
|
|
4637
4637
|
"pageBefore": {
|
|
4638
4638
|
"type": "string",
|
|
@@ -5873,7 +5873,7 @@
|
|
|
5873
5873
|
},
|
|
5874
5874
|
"pageAfter": {
|
|
5875
5875
|
"type": "string",
|
|
5876
|
-
"description": "
|
|
5876
|
+
"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."
|
|
5877
5877
|
},
|
|
5878
5878
|
"pageBefore": {
|
|
5879
5879
|
"type": "string",
|
|
@@ -6168,7 +6168,7 @@
|
|
|
6168
6168
|
},
|
|
6169
6169
|
"pageAfter": {
|
|
6170
6170
|
"type": "string",
|
|
6171
|
-
"description": "
|
|
6171
|
+
"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."
|
|
6172
6172
|
},
|
|
6173
6173
|
"pageBefore": {
|
|
6174
6174
|
"type": "string",
|
|
@@ -6430,7 +6430,7 @@
|
|
|
6430
6430
|
},
|
|
6431
6431
|
"pageAfter": {
|
|
6432
6432
|
"type": "string",
|
|
6433
|
-
"description": "
|
|
6433
|
+
"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."
|
|
6434
6434
|
},
|
|
6435
6435
|
"pageBefore": {
|
|
6436
6436
|
"type": "string",
|
|
@@ -6729,6 +6729,32 @@
|
|
|
6729
6729
|
"type": "string",
|
|
6730
6730
|
"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
6731
|
},
|
|
6732
|
+
"filterDirection": {
|
|
6733
|
+
"type": "string",
|
|
6734
|
+
"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.",
|
|
6735
|
+
"enum": [
|
|
6736
|
+
"inbound",
|
|
6737
|
+
"outbound"
|
|
6738
|
+
]
|
|
6739
|
+
},
|
|
6740
|
+
"filterIds": {
|
|
6741
|
+
"type": "string",
|
|
6742
|
+
"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."
|
|
6743
|
+
},
|
|
6744
|
+
"filterIsSystemSpam": {
|
|
6745
|
+
"type": "boolean",
|
|
6746
|
+
"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."
|
|
6747
|
+
},
|
|
6748
|
+
"sort": {
|
|
6749
|
+
"type": "string",
|
|
6750
|
+
"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.",
|
|
6751
|
+
"enum": [
|
|
6752
|
+
"-created",
|
|
6753
|
+
"created",
|
|
6754
|
+
"-modified",
|
|
6755
|
+
"modified"
|
|
6756
|
+
]
|
|
6757
|
+
},
|
|
6732
6758
|
"filterCreatedFrom": {
|
|
6733
6759
|
"type": "string",
|
|
6734
6760
|
"description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
|
|
@@ -6755,7 +6781,7 @@
|
|
|
6755
6781
|
},
|
|
6756
6782
|
"pageAfter": {
|
|
6757
6783
|
"type": "string",
|
|
6758
|
-
"description": "
|
|
6784
|
+
"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."
|
|
6759
6785
|
},
|
|
6760
6786
|
"pageBefore": {
|
|
6761
6787
|
"type": "string",
|
|
@@ -6801,7 +6827,25 @@
|
|
|
6801
6827
|
"type": "string"
|
|
6802
6828
|
},
|
|
6803
6829
|
"status": {
|
|
6804
|
-
"type": "string"
|
|
6830
|
+
"type": "string",
|
|
6831
|
+
"enum": [
|
|
6832
|
+
"draft",
|
|
6833
|
+
"scheduled",
|
|
6834
|
+
"sent",
|
|
6835
|
+
"suppressed",
|
|
6836
|
+
"archived",
|
|
6837
|
+
"failed",
|
|
6838
|
+
"pending"
|
|
6839
|
+
],
|
|
6840
|
+
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = delivered to SES, suppressed = SES bounce/complaint, archived = user soft-deleted, failed = internal error, pending = transitional."
|
|
6841
|
+
},
|
|
6842
|
+
"direction": {
|
|
6843
|
+
"type": "string",
|
|
6844
|
+
"enum": [
|
|
6845
|
+
"inbound",
|
|
6846
|
+
"outbound"
|
|
6847
|
+
],
|
|
6848
|
+
"description": "Whether the email was received from an external sender (inbound, populated by the broker) or composed by the tenant/system and sent out (outbound). Populated at create time; never changes."
|
|
6805
6849
|
},
|
|
6806
6850
|
"emailFrom": {
|
|
6807
6851
|
"type": "string"
|
|
@@ -6809,27 +6853,33 @@
|
|
|
6809
6853
|
"emailTo": {
|
|
6810
6854
|
"type": "string"
|
|
6811
6855
|
},
|
|
6856
|
+
"emailCc": {
|
|
6857
|
+
"type": "array",
|
|
6858
|
+
"items": {
|
|
6859
|
+
"type": "string"
|
|
6860
|
+
},
|
|
6861
|
+
"description": "CC recipients. Each entry is an RFC 5322 address string."
|
|
6862
|
+
},
|
|
6863
|
+
"emailBcc": {
|
|
6864
|
+
"type": "array",
|
|
6865
|
+
"items": {
|
|
6866
|
+
"type": "string"
|
|
6867
|
+
},
|
|
6868
|
+
"description": "BCC recipients. Each entry is an RFC 5322 address string."
|
|
6869
|
+
},
|
|
6812
6870
|
"subject": {
|
|
6813
|
-
"
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
|
|
6817
|
-
|
|
6818
|
-
"type": "object",
|
|
6819
|
-
"additionalProperties": true
|
|
6820
|
-
}
|
|
6821
|
-
]
|
|
6871
|
+
"type": "object",
|
|
6872
|
+
"additionalProperties": {
|
|
6873
|
+
"type": "string"
|
|
6874
|
+
},
|
|
6875
|
+
"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`."
|
|
6822
6876
|
},
|
|
6823
6877
|
"body": {
|
|
6824
|
-
"
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
"type": "object",
|
|
6830
|
-
"additionalProperties": true
|
|
6831
|
-
}
|
|
6832
|
-
]
|
|
6878
|
+
"type": "object",
|
|
6879
|
+
"additionalProperties": {
|
|
6880
|
+
"type": "string"
|
|
6881
|
+
},
|
|
6882
|
+
"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."
|
|
6833
6883
|
},
|
|
6834
6884
|
"shortCode": {
|
|
6835
6885
|
"type": "string"
|
|
@@ -6846,11 +6896,78 @@
|
|
|
6846
6896
|
"isExternalSender": {
|
|
6847
6897
|
"type": "boolean"
|
|
6848
6898
|
},
|
|
6899
|
+
"attachments": {
|
|
6900
|
+
"type": "array",
|
|
6901
|
+
"items": {
|
|
6902
|
+
"type": "object",
|
|
6903
|
+
"properties": {
|
|
6904
|
+
"fileName": {
|
|
6905
|
+
"type": "string",
|
|
6906
|
+
"description": "Display name shown in the mail client and used as the attachment filename on send."
|
|
6907
|
+
},
|
|
6908
|
+
"url": {
|
|
6909
|
+
"type": "string",
|
|
6910
|
+
"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."
|
|
6911
|
+
},
|
|
6912
|
+
"type": {
|
|
6913
|
+
"type": "string",
|
|
6914
|
+
"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`."
|
|
6915
|
+
},
|
|
6916
|
+
"fileId": {
|
|
6917
|
+
"type": "string",
|
|
6918
|
+
"description": "When `type == \"files\"`, the file resource ID so the frontend can resolve the latest file metadata (status, processing state) without parsing the URL."
|
|
6919
|
+
},
|
|
6920
|
+
"size": {
|
|
6921
|
+
"type": "integer",
|
|
6922
|
+
"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."
|
|
6923
|
+
},
|
|
6924
|
+
"contentType": {
|
|
6925
|
+
"type": "string",
|
|
6926
|
+
"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."
|
|
6927
|
+
},
|
|
6928
|
+
"thumbnailUrl": {
|
|
6929
|
+
"type": "string",
|
|
6930
|
+
"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."
|
|
6931
|
+
}
|
|
6932
|
+
}
|
|
6933
|
+
},
|
|
6934
|
+
"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."
|
|
6935
|
+
},
|
|
6936
|
+
"conversationLanguageCode": {
|
|
6937
|
+
"type": "string",
|
|
6938
|
+
"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."
|
|
6939
|
+
},
|
|
6940
|
+
"parentEmailId": {
|
|
6941
|
+
"type": "string",
|
|
6942
|
+
"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."
|
|
6943
|
+
},
|
|
6944
|
+
"fromUserId": {
|
|
6945
|
+
"type": "string",
|
|
6946
|
+
"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."
|
|
6947
|
+
},
|
|
6948
|
+
"fromCandidateId": {
|
|
6949
|
+
"type": "string",
|
|
6950
|
+
"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."
|
|
6951
|
+
},
|
|
6952
|
+
"isSystemSpam": {
|
|
6953
|
+
"type": "boolean",
|
|
6954
|
+
"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)."
|
|
6955
|
+
},
|
|
6956
|
+
"scheduleId": {
|
|
6957
|
+
"type": "string",
|
|
6958
|
+
"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."
|
|
6959
|
+
},
|
|
6960
|
+
"scheduledFireAt": {
|
|
6961
|
+
"type": "string",
|
|
6962
|
+
"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."
|
|
6963
|
+
},
|
|
6849
6964
|
"ttl": {
|
|
6850
6965
|
"type": "string"
|
|
6851
6966
|
},
|
|
6852
6967
|
"sendScheduleDate": {
|
|
6853
|
-
"type": "string"
|
|
6968
|
+
"type": "string",
|
|
6969
|
+
"deprecated": true,
|
|
6970
|
+
"description": "Legacy field from the retired CRUD-scheduler path. Kept as read-only metadata on old rows. New emails do not populate it; scheduling is owned by the workflow engine's wait:process action via the Schedule resource."
|
|
6854
6971
|
},
|
|
6855
6972
|
"meta": {
|
|
6856
6973
|
"type": "object",
|
|
@@ -6971,6 +7088,25 @@
|
|
|
6971
7088
|
}
|
|
6972
7089
|
}
|
|
6973
7090
|
}
|
|
7091
|
+
},
|
|
7092
|
+
"schedule": {
|
|
7093
|
+
"title": "EmailRelationshipsScheduleSchema",
|
|
7094
|
+
"type": "object",
|
|
7095
|
+
"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.",
|
|
7096
|
+
"properties": {
|
|
7097
|
+
"data": {
|
|
7098
|
+
"title": "EmailRelationshipsScheduleDataSchema",
|
|
7099
|
+
"type": "object",
|
|
7100
|
+
"properties": {
|
|
7101
|
+
"type": {
|
|
7102
|
+
"type": "string"
|
|
7103
|
+
},
|
|
7104
|
+
"id": {
|
|
7105
|
+
"type": "string"
|
|
7106
|
+
}
|
|
7107
|
+
}
|
|
7108
|
+
}
|
|
7109
|
+
}
|
|
6974
7110
|
}
|
|
6975
7111
|
}
|
|
6976
7112
|
},
|
|
@@ -7050,7 +7186,25 @@
|
|
|
7050
7186
|
"type": "string"
|
|
7051
7187
|
},
|
|
7052
7188
|
"status": {
|
|
7053
|
-
"type": "string"
|
|
7189
|
+
"type": "string",
|
|
7190
|
+
"enum": [
|
|
7191
|
+
"draft",
|
|
7192
|
+
"scheduled",
|
|
7193
|
+
"sent",
|
|
7194
|
+
"suppressed",
|
|
7195
|
+
"archived",
|
|
7196
|
+
"failed",
|
|
7197
|
+
"pending"
|
|
7198
|
+
],
|
|
7199
|
+
"description": "Lifecycle status. draft = composing, scheduled = workflow owns the send, sent = delivered to SES, suppressed = SES bounce/complaint, archived = user soft-deleted, failed = internal error, pending = transitional."
|
|
7200
|
+
},
|
|
7201
|
+
"direction": {
|
|
7202
|
+
"type": "string",
|
|
7203
|
+
"enum": [
|
|
7204
|
+
"inbound",
|
|
7205
|
+
"outbound"
|
|
7206
|
+
],
|
|
7207
|
+
"description": "Whether the email was received from an external sender (inbound, populated by the broker) or composed by the tenant/system and sent out (outbound). Populated at create time; never changes."
|
|
7054
7208
|
},
|
|
7055
7209
|
"emailFrom": {
|
|
7056
7210
|
"type": "string"
|
|
@@ -7058,27 +7212,33 @@
|
|
|
7058
7212
|
"emailTo": {
|
|
7059
7213
|
"type": "string"
|
|
7060
7214
|
},
|
|
7215
|
+
"emailCc": {
|
|
7216
|
+
"type": "array",
|
|
7217
|
+
"items": {
|
|
7218
|
+
"type": "string"
|
|
7219
|
+
},
|
|
7220
|
+
"description": "CC recipients. Each entry is an RFC 5322 address string."
|
|
7221
|
+
},
|
|
7222
|
+
"emailBcc": {
|
|
7223
|
+
"type": "array",
|
|
7224
|
+
"items": {
|
|
7225
|
+
"type": "string"
|
|
7226
|
+
},
|
|
7227
|
+
"description": "BCC recipients. Each entry is an RFC 5322 address string."
|
|
7228
|
+
},
|
|
7061
7229
|
"subject": {
|
|
7062
|
-
"
|
|
7063
|
-
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
"type": "object",
|
|
7068
|
-
"additionalProperties": true
|
|
7069
|
-
}
|
|
7070
|
-
]
|
|
7230
|
+
"type": "object",
|
|
7231
|
+
"additionalProperties": {
|
|
7232
|
+
"type": "string"
|
|
7233
|
+
},
|
|
7234
|
+
"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`."
|
|
7071
7235
|
},
|
|
7072
7236
|
"body": {
|
|
7073
|
-
"
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
|
|
7078
|
-
"type": "object",
|
|
7079
|
-
"additionalProperties": true
|
|
7080
|
-
}
|
|
7081
|
-
]
|
|
7237
|
+
"type": "object",
|
|
7238
|
+
"additionalProperties": {
|
|
7239
|
+
"type": "string"
|
|
7240
|
+
},
|
|
7241
|
+
"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."
|
|
7082
7242
|
},
|
|
7083
7243
|
"shortCode": {
|
|
7084
7244
|
"type": "string"
|
|
@@ -7095,11 +7255,78 @@
|
|
|
7095
7255
|
"isExternalSender": {
|
|
7096
7256
|
"type": "boolean"
|
|
7097
7257
|
},
|
|
7258
|
+
"attachments": {
|
|
7259
|
+
"type": "array",
|
|
7260
|
+
"items": {
|
|
7261
|
+
"type": "object",
|
|
7262
|
+
"properties": {
|
|
7263
|
+
"fileName": {
|
|
7264
|
+
"type": "string",
|
|
7265
|
+
"description": "Display name shown in the mail client and used as the attachment filename on send."
|
|
7266
|
+
},
|
|
7267
|
+
"url": {
|
|
7268
|
+
"type": "string",
|
|
7269
|
+
"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."
|
|
7270
|
+
},
|
|
7271
|
+
"type": {
|
|
7272
|
+
"type": "string",
|
|
7273
|
+
"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`."
|
|
7274
|
+
},
|
|
7275
|
+
"fileId": {
|
|
7276
|
+
"type": "string",
|
|
7277
|
+
"description": "When `type == \"files\"`, the file resource ID so the frontend can resolve the latest file metadata (status, processing state) without parsing the URL."
|
|
7278
|
+
},
|
|
7279
|
+
"size": {
|
|
7280
|
+
"type": "integer",
|
|
7281
|
+
"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."
|
|
7282
|
+
},
|
|
7283
|
+
"contentType": {
|
|
7284
|
+
"type": "string",
|
|
7285
|
+
"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."
|
|
7286
|
+
},
|
|
7287
|
+
"thumbnailUrl": {
|
|
7288
|
+
"type": "string",
|
|
7289
|
+
"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."
|
|
7290
|
+
}
|
|
7291
|
+
}
|
|
7292
|
+
},
|
|
7293
|
+
"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."
|
|
7294
|
+
},
|
|
7295
|
+
"conversationLanguageCode": {
|
|
7296
|
+
"type": "string",
|
|
7297
|
+
"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."
|
|
7298
|
+
},
|
|
7299
|
+
"parentEmailId": {
|
|
7300
|
+
"type": "string",
|
|
7301
|
+
"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."
|
|
7302
|
+
},
|
|
7303
|
+
"fromUserId": {
|
|
7304
|
+
"type": "string",
|
|
7305
|
+
"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."
|
|
7306
|
+
},
|
|
7307
|
+
"fromCandidateId": {
|
|
7308
|
+
"type": "string",
|
|
7309
|
+
"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."
|
|
7310
|
+
},
|
|
7311
|
+
"isSystemSpam": {
|
|
7312
|
+
"type": "boolean",
|
|
7313
|
+
"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)."
|
|
7314
|
+
},
|
|
7315
|
+
"scheduleId": {
|
|
7316
|
+
"type": "string",
|
|
7317
|
+
"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."
|
|
7318
|
+
},
|
|
7319
|
+
"scheduledFireAt": {
|
|
7320
|
+
"type": "string",
|
|
7321
|
+
"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."
|
|
7322
|
+
},
|
|
7098
7323
|
"ttl": {
|
|
7099
7324
|
"type": "string"
|
|
7100
7325
|
},
|
|
7101
7326
|
"sendScheduleDate": {
|
|
7102
|
-
"type": "string"
|
|
7327
|
+
"type": "string",
|
|
7328
|
+
"deprecated": true,
|
|
7329
|
+
"description": "Legacy field from the retired CRUD-scheduler path. Kept as read-only metadata on old rows. New emails do not populate it; scheduling is owned by the workflow engine's wait:process action via the Schedule resource."
|
|
7103
7330
|
},
|
|
7104
7331
|
"meta": {
|
|
7105
7332
|
"type": "object",
|
|
@@ -7197,7 +7424,7 @@
|
|
|
7197
7424
|
},
|
|
7198
7425
|
"pageAfter": {
|
|
7199
7426
|
"type": "string",
|
|
7200
|
-
"description": "
|
|
7427
|
+
"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."
|
|
7201
7428
|
},
|
|
7202
7429
|
"pageBefore": {
|
|
7203
7430
|
"type": "string",
|
|
@@ -7486,7 +7713,7 @@
|
|
|
7486
7713
|
},
|
|
7487
7714
|
"pageAfter": {
|
|
7488
7715
|
"type": "string",
|
|
7489
|
-
"description": "
|
|
7716
|
+
"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."
|
|
7490
7717
|
},
|
|
7491
7718
|
"pageBefore": {
|
|
7492
7719
|
"type": "string",
|
|
@@ -8373,7 +8600,7 @@
|
|
|
8373
8600
|
},
|
|
8374
8601
|
"pageAfter": {
|
|
8375
8602
|
"type": "string",
|
|
8376
|
-
"description": "
|
|
8603
|
+
"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."
|
|
8377
8604
|
},
|
|
8378
8605
|
"pageBefore": {
|
|
8379
8606
|
"type": "string",
|
|
@@ -8577,6 +8804,24 @@
|
|
|
8577
8804
|
}
|
|
8578
8805
|
}
|
|
8579
8806
|
}
|
|
8807
|
+
},
|
|
8808
|
+
"email": {
|
|
8809
|
+
"title": "ScheduleRelationshipsEmailSchema",
|
|
8810
|
+
"type": "object",
|
|
8811
|
+
"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.",
|
|
8812
|
+
"properties": {
|
|
8813
|
+
"data": {
|
|
8814
|
+
"type": "object",
|
|
8815
|
+
"properties": {
|
|
8816
|
+
"type": {
|
|
8817
|
+
"type": "string"
|
|
8818
|
+
},
|
|
8819
|
+
"id": {
|
|
8820
|
+
"type": "string"
|
|
8821
|
+
}
|
|
8822
|
+
}
|
|
8823
|
+
}
|
|
8824
|
+
}
|
|
8580
8825
|
}
|
|
8581
8826
|
}
|
|
8582
8827
|
}
|
|
@@ -8824,6 +9069,24 @@
|
|
|
8824
9069
|
}
|
|
8825
9070
|
}
|
|
8826
9071
|
}
|
|
9072
|
+
},
|
|
9073
|
+
"email": {
|
|
9074
|
+
"title": "ScheduleRelationshipsEmailSchema",
|
|
9075
|
+
"type": "object",
|
|
9076
|
+
"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.",
|
|
9077
|
+
"properties": {
|
|
9078
|
+
"data": {
|
|
9079
|
+
"type": "object",
|
|
9080
|
+
"properties": {
|
|
9081
|
+
"type": {
|
|
9082
|
+
"type": "string"
|
|
9083
|
+
},
|
|
9084
|
+
"id": {
|
|
9085
|
+
"type": "string"
|
|
9086
|
+
}
|
|
9087
|
+
}
|
|
9088
|
+
}
|
|
9089
|
+
}
|
|
8827
9090
|
}
|
|
8828
9091
|
}
|
|
8829
9092
|
}
|
|
@@ -9176,7 +9439,7 @@
|
|
|
9176
9439
|
},
|
|
9177
9440
|
"pageAfter": {
|
|
9178
9441
|
"type": "string",
|
|
9179
|
-
"description": "
|
|
9442
|
+
"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."
|
|
9180
9443
|
},
|
|
9181
9444
|
"pageBefore": {
|
|
9182
9445
|
"type": "string",
|
|
@@ -9909,7 +10172,7 @@
|
|
|
9909
10172
|
},
|
|
9910
10173
|
"pageAfter": {
|
|
9911
10174
|
"type": "string",
|
|
9912
|
-
"description": "
|
|
10175
|
+
"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."
|
|
9913
10176
|
},
|
|
9914
10177
|
"pageBefore": {
|
|
9915
10178
|
"type": "string",
|
|
@@ -10232,7 +10495,7 @@
|
|
|
10232
10495
|
},
|
|
10233
10496
|
"pageAfter": {
|
|
10234
10497
|
"type": "string",
|
|
10235
|
-
"description": "
|
|
10498
|
+
"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."
|
|
10236
10499
|
},
|
|
10237
10500
|
"pageBefore": {
|
|
10238
10501
|
"type": "string",
|
|
@@ -10497,7 +10760,7 @@
|
|
|
10497
10760
|
},
|
|
10498
10761
|
"pageAfter": {
|
|
10499
10762
|
"type": "string",
|
|
10500
|
-
"description": "
|
|
10763
|
+
"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."
|
|
10501
10764
|
},
|
|
10502
10765
|
"pageBefore": {
|
|
10503
10766
|
"type": "string",
|
|
@@ -10942,7 +11205,7 @@
|
|
|
10942
11205
|
},
|
|
10943
11206
|
"pageAfter": {
|
|
10944
11207
|
"type": "string",
|
|
10945
|
-
"description": "
|
|
11208
|
+
"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."
|
|
10946
11209
|
},
|
|
10947
11210
|
"pageBefore": {
|
|
10948
11211
|
"type": "string",
|
|
@@ -11275,7 +11538,7 @@
|
|
|
11275
11538
|
},
|
|
11276
11539
|
"pageAfter": {
|
|
11277
11540
|
"type": "string",
|
|
11278
|
-
"description": "
|
|
11541
|
+
"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."
|
|
11279
11542
|
},
|
|
11280
11543
|
"pageBefore": {
|
|
11281
11544
|
"type": "string",
|
|
@@ -11603,7 +11866,7 @@
|
|
|
11603
11866
|
},
|
|
11604
11867
|
"pageAfter": {
|
|
11605
11868
|
"type": "string",
|
|
11606
|
-
"description": "
|
|
11869
|
+
"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."
|
|
11607
11870
|
},
|
|
11608
11871
|
"pageBefore": {
|
|
11609
11872
|
"type": "string",
|
|
@@ -11642,33 +11905,689 @@
|
|
|
11642
11905
|
]
|
|
11643
11906
|
},
|
|
11644
11907
|
"attributes": {
|
|
11645
|
-
"title": "NoteAttributesSchema",
|
|
11908
|
+
"title": "NoteAttributesSchema",
|
|
11909
|
+
"type": "object",
|
|
11910
|
+
"properties": {
|
|
11911
|
+
"name": {
|
|
11912
|
+
"type": "string"
|
|
11913
|
+
},
|
|
11914
|
+
"status": {
|
|
11915
|
+
"type": "string"
|
|
11916
|
+
},
|
|
11917
|
+
"details": {
|
|
11918
|
+
"type": "object",
|
|
11919
|
+
"additionalProperties": {
|
|
11920
|
+
"type": "string"
|
|
11921
|
+
},
|
|
11922
|
+
"description": "Multilingual note details keyed by language code"
|
|
11923
|
+
},
|
|
11924
|
+
"source": {
|
|
11925
|
+
"type": "string",
|
|
11926
|
+
"description": "Source of the note"
|
|
11927
|
+
},
|
|
11928
|
+
"ttl": {
|
|
11929
|
+
"type": "string",
|
|
11930
|
+
"description": "Time-to-live expiration timestamp"
|
|
11931
|
+
},
|
|
11932
|
+
"meta": {
|
|
11933
|
+
"type": "object",
|
|
11934
|
+
"additionalProperties": true
|
|
11935
|
+
},
|
|
11936
|
+
"timestamps": {
|
|
11937
|
+
"title": "ResourceTimestampsSchema",
|
|
11938
|
+
"type": "object",
|
|
11939
|
+
"properties": {
|
|
11940
|
+
"created": {
|
|
11941
|
+
"type": "string",
|
|
11942
|
+
"format": "date-time"
|
|
11943
|
+
},
|
|
11944
|
+
"modified": {
|
|
11945
|
+
"type": "string",
|
|
11946
|
+
"format": "date-time"
|
|
11947
|
+
}
|
|
11948
|
+
}
|
|
11949
|
+
}
|
|
11950
|
+
}
|
|
11951
|
+
},
|
|
11952
|
+
"relationships": {
|
|
11953
|
+
"title": "NoteRelationshipsSchema",
|
|
11954
|
+
"type": "object",
|
|
11955
|
+
"properties": {
|
|
11956
|
+
"candidate": {
|
|
11957
|
+
"title": "NoteRelationshipsCandidateSchema",
|
|
11958
|
+
"type": "object",
|
|
11959
|
+
"properties": {
|
|
11960
|
+
"data": {
|
|
11961
|
+
"title": "NoteRelationshipsCandidateDataSchema",
|
|
11962
|
+
"type": "object",
|
|
11963
|
+
"properties": {
|
|
11964
|
+
"type": {
|
|
11965
|
+
"type": "string"
|
|
11966
|
+
},
|
|
11967
|
+
"id": {
|
|
11968
|
+
"type": "string"
|
|
11969
|
+
}
|
|
11970
|
+
}
|
|
11971
|
+
}
|
|
11972
|
+
}
|
|
11973
|
+
},
|
|
11974
|
+
"translations": {
|
|
11975
|
+
"title": "NoteRelationshipsTranslationsSchema",
|
|
11976
|
+
"type": "object",
|
|
11977
|
+
"properties": {
|
|
11978
|
+
"data": {
|
|
11979
|
+
"type": "array",
|
|
11980
|
+
"items": {
|
|
11981
|
+
"title": "NoteRelationshipsTranslationsDataSchema",
|
|
11982
|
+
"type": "object",
|
|
11983
|
+
"properties": {
|
|
11984
|
+
"type": {
|
|
11985
|
+
"type": "string"
|
|
11986
|
+
},
|
|
11987
|
+
"id": {
|
|
11988
|
+
"type": "string"
|
|
11989
|
+
}
|
|
11990
|
+
}
|
|
11991
|
+
}
|
|
11992
|
+
}
|
|
11993
|
+
}
|
|
11994
|
+
},
|
|
11995
|
+
"report": {
|
|
11996
|
+
"title": "NoteRelationshipsReportSchema",
|
|
11997
|
+
"type": "object",
|
|
11998
|
+
"properties": {
|
|
11999
|
+
"data": {
|
|
12000
|
+
"title": "NoteRelationshipsReportDataSchema",
|
|
12001
|
+
"type": "object",
|
|
12002
|
+
"properties": {
|
|
12003
|
+
"type": {
|
|
12004
|
+
"type": "string"
|
|
12005
|
+
},
|
|
12006
|
+
"id": {
|
|
12007
|
+
"type": "string"
|
|
12008
|
+
}
|
|
12009
|
+
}
|
|
12010
|
+
}
|
|
12011
|
+
}
|
|
12012
|
+
},
|
|
12013
|
+
"operation": {
|
|
12014
|
+
"title": "NoteRelationshipsOperationSchema",
|
|
12015
|
+
"type": "object",
|
|
12016
|
+
"properties": {
|
|
12017
|
+
"data": {
|
|
12018
|
+
"title": "NoteRelationshipsOperationDataSchema",
|
|
12019
|
+
"type": "object",
|
|
12020
|
+
"properties": {
|
|
12021
|
+
"type": {
|
|
12022
|
+
"type": "string"
|
|
12023
|
+
},
|
|
12024
|
+
"id": {
|
|
12025
|
+
"type": "string"
|
|
12026
|
+
}
|
|
12027
|
+
}
|
|
12028
|
+
}
|
|
12029
|
+
}
|
|
12030
|
+
}
|
|
12031
|
+
}
|
|
12032
|
+
}
|
|
12033
|
+
}
|
|
12034
|
+
}
|
|
12035
|
+
}
|
|
12036
|
+
},
|
|
12037
|
+
"_meta": {
|
|
12038
|
+
"method": "POST",
|
|
12039
|
+
"path": "/v1/notes",
|
|
12040
|
+
"operationId": "createNote"
|
|
12041
|
+
}
|
|
12042
|
+
},
|
|
12043
|
+
{
|
|
12044
|
+
"name": "notes_options",
|
|
12045
|
+
"description": "Notes Options",
|
|
12046
|
+
"inputSchema": {
|
|
12047
|
+
"type": "object",
|
|
12048
|
+
"properties": {}
|
|
12049
|
+
},
|
|
12050
|
+
"_meta": {
|
|
12051
|
+
"method": "OPTIONS",
|
|
12052
|
+
"path": "/v1/notes",
|
|
12053
|
+
"operationId": "notesOptions"
|
|
12054
|
+
}
|
|
12055
|
+
},
|
|
12056
|
+
{
|
|
12057
|
+
"name": "show_note",
|
|
12058
|
+
"description": "Show Note",
|
|
12059
|
+
"inputSchema": {
|
|
12060
|
+
"type": "object",
|
|
12061
|
+
"properties": {}
|
|
12062
|
+
},
|
|
12063
|
+
"_meta": {
|
|
12064
|
+
"method": "GET",
|
|
12065
|
+
"path": "/v1/notes/{noteId}",
|
|
12066
|
+
"operationId": "showNote"
|
|
12067
|
+
}
|
|
12068
|
+
},
|
|
12069
|
+
{
|
|
12070
|
+
"name": "update_note",
|
|
12071
|
+
"description": "Update Note",
|
|
12072
|
+
"inputSchema": {
|
|
12073
|
+
"title": "UpdateNoteRequestBody",
|
|
12074
|
+
"type": "object",
|
|
12075
|
+
"required": [
|
|
12076
|
+
"data"
|
|
12077
|
+
],
|
|
12078
|
+
"properties": {
|
|
12079
|
+
"data": {
|
|
12080
|
+
"title": "UpdateNoteRequestBodyData",
|
|
12081
|
+
"type": "object",
|
|
12082
|
+
"required": [
|
|
12083
|
+
"type",
|
|
12084
|
+
"id",
|
|
12085
|
+
"attributes"
|
|
12086
|
+
],
|
|
12087
|
+
"properties": {
|
|
12088
|
+
"type": {
|
|
12089
|
+
"type": "string",
|
|
12090
|
+
"enum": [
|
|
12091
|
+
"notes"
|
|
12092
|
+
]
|
|
12093
|
+
},
|
|
12094
|
+
"id": {
|
|
12095
|
+
"type": "string"
|
|
12096
|
+
},
|
|
12097
|
+
"attributes": {
|
|
12098
|
+
"title": "NoteAttributesSchema",
|
|
12099
|
+
"type": "object",
|
|
12100
|
+
"properties": {
|
|
12101
|
+
"name": {
|
|
12102
|
+
"type": "string"
|
|
12103
|
+
},
|
|
12104
|
+
"status": {
|
|
12105
|
+
"type": "string"
|
|
12106
|
+
},
|
|
12107
|
+
"details": {
|
|
12108
|
+
"type": "object",
|
|
12109
|
+
"additionalProperties": {
|
|
12110
|
+
"type": "string"
|
|
12111
|
+
},
|
|
12112
|
+
"description": "Multilingual note details keyed by language code"
|
|
12113
|
+
},
|
|
12114
|
+
"source": {
|
|
12115
|
+
"type": "string",
|
|
12116
|
+
"description": "Source of the note"
|
|
12117
|
+
},
|
|
12118
|
+
"ttl": {
|
|
12119
|
+
"type": "string",
|
|
12120
|
+
"description": "Time-to-live expiration timestamp"
|
|
12121
|
+
},
|
|
12122
|
+
"meta": {
|
|
12123
|
+
"type": "object",
|
|
12124
|
+
"additionalProperties": true
|
|
12125
|
+
},
|
|
12126
|
+
"timestamps": {
|
|
12127
|
+
"title": "ResourceTimestampsSchema",
|
|
12128
|
+
"type": "object",
|
|
12129
|
+
"properties": {
|
|
12130
|
+
"created": {
|
|
12131
|
+
"type": "string",
|
|
12132
|
+
"format": "date-time"
|
|
12133
|
+
},
|
|
12134
|
+
"modified": {
|
|
12135
|
+
"type": "string",
|
|
12136
|
+
"format": "date-time"
|
|
12137
|
+
}
|
|
12138
|
+
}
|
|
12139
|
+
}
|
|
12140
|
+
}
|
|
12141
|
+
}
|
|
12142
|
+
}
|
|
12143
|
+
}
|
|
12144
|
+
}
|
|
12145
|
+
},
|
|
12146
|
+
"_meta": {
|
|
12147
|
+
"method": "PATCH",
|
|
12148
|
+
"path": "/v1/notes/{noteId}",
|
|
12149
|
+
"operationId": "updateNote"
|
|
12150
|
+
}
|
|
12151
|
+
},
|
|
12152
|
+
{
|
|
12153
|
+
"name": "delete_note",
|
|
12154
|
+
"description": "Delete Note",
|
|
12155
|
+
"inputSchema": {
|
|
12156
|
+
"type": "object",
|
|
12157
|
+
"properties": {}
|
|
12158
|
+
},
|
|
12159
|
+
"_meta": {
|
|
12160
|
+
"method": "DELETE",
|
|
12161
|
+
"path": "/v1/notes/{noteId}",
|
|
12162
|
+
"operationId": "deleteNote"
|
|
12163
|
+
}
|
|
12164
|
+
},
|
|
12165
|
+
{
|
|
12166
|
+
"name": "note_options",
|
|
12167
|
+
"description": "Note Options",
|
|
12168
|
+
"inputSchema": {
|
|
12169
|
+
"type": "object",
|
|
12170
|
+
"properties": {}
|
|
12171
|
+
},
|
|
12172
|
+
"_meta": {
|
|
12173
|
+
"method": "OPTIONS",
|
|
12174
|
+
"path": "/v1/notes/{noteId}",
|
|
12175
|
+
"operationId": "noteOptions"
|
|
12176
|
+
}
|
|
12177
|
+
},
|
|
12178
|
+
{
|
|
12179
|
+
"name": "list_states",
|
|
12180
|
+
"description": "List States",
|
|
12181
|
+
"inputSchema": {
|
|
12182
|
+
"type": "object",
|
|
12183
|
+
"properties": {
|
|
12184
|
+
"filterResourceType": {
|
|
12185
|
+
"type": "string",
|
|
12186
|
+
"description": "Only return states for this resource type.",
|
|
12187
|
+
"enum": [
|
|
12188
|
+
"emails",
|
|
12189
|
+
"candidates",
|
|
12190
|
+
"conversations",
|
|
12191
|
+
"jobs",
|
|
12192
|
+
"talents",
|
|
12193
|
+
"personas",
|
|
12194
|
+
"reports",
|
|
12195
|
+
"tasks"
|
|
12196
|
+
]
|
|
12197
|
+
},
|
|
12198
|
+
"filterResourceIds": {
|
|
12199
|
+
"type": "string",
|
|
12200
|
+
"description": "Comma-separated list of resource ids to batch-fetch. Requires `filterResourceType`."
|
|
12201
|
+
},
|
|
12202
|
+
"folder": {
|
|
12203
|
+
"type": "string",
|
|
12204
|
+
"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."
|
|
12205
|
+
},
|
|
12206
|
+
"pageSize": {
|
|
12207
|
+
"type": "integer",
|
|
12208
|
+
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12209
|
+
},
|
|
12210
|
+
"pageAfter": {
|
|
12211
|
+
"type": "string",
|
|
12212
|
+
"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."
|
|
12213
|
+
},
|
|
12214
|
+
"pageBefore": {
|
|
12215
|
+
"type": "string",
|
|
12216
|
+
"description": "Returns the data encoded in Base64 format, used for cursor-based pagination"
|
|
12217
|
+
}
|
|
12218
|
+
}
|
|
12219
|
+
},
|
|
12220
|
+
"_meta": {
|
|
12221
|
+
"method": "GET",
|
|
12222
|
+
"path": "/v1/states",
|
|
12223
|
+
"operationId": "listStates"
|
|
12224
|
+
}
|
|
12225
|
+
},
|
|
12226
|
+
{
|
|
12227
|
+
"name": "create_state",
|
|
12228
|
+
"description": "Upsert State",
|
|
12229
|
+
"inputSchema": {
|
|
12230
|
+
"title": "CreateStateRequestBody",
|
|
12231
|
+
"type": "object",
|
|
12232
|
+
"required": [
|
|
12233
|
+
"data"
|
|
12234
|
+
],
|
|
12235
|
+
"properties": {
|
|
12236
|
+
"data": {
|
|
12237
|
+
"title": "CreateStateRequestBodyData",
|
|
12238
|
+
"type": "object",
|
|
12239
|
+
"required": [
|
|
12240
|
+
"type",
|
|
12241
|
+
"attributes"
|
|
12242
|
+
],
|
|
12243
|
+
"properties": {
|
|
12244
|
+
"type": {
|
|
12245
|
+
"type": "string",
|
|
12246
|
+
"enum": [
|
|
12247
|
+
"states"
|
|
12248
|
+
]
|
|
12249
|
+
},
|
|
12250
|
+
"attributes": {
|
|
12251
|
+
"title": "StateAttributesSchema",
|
|
12252
|
+
"type": "object",
|
|
12253
|
+
"properties": {
|
|
12254
|
+
"userId": {
|
|
12255
|
+
"type": "string",
|
|
12256
|
+
"description": "Owner of this state row. Always the authenticated user; never set by the client."
|
|
12257
|
+
},
|
|
12258
|
+
"resourceType": {
|
|
12259
|
+
"type": "string",
|
|
12260
|
+
"enum": [
|
|
12261
|
+
"emails",
|
|
12262
|
+
"candidates",
|
|
12263
|
+
"conversations",
|
|
12264
|
+
"jobs",
|
|
12265
|
+
"talents",
|
|
12266
|
+
"personas",
|
|
12267
|
+
"reports",
|
|
12268
|
+
"tasks"
|
|
12269
|
+
],
|
|
12270
|
+
"description": "The kind of resource this state describes. Lives in the composite id as `{resourceType}:{resourceId}`."
|
|
12271
|
+
},
|
|
12272
|
+
"resourceId": {
|
|
12273
|
+
"type": "string",
|
|
12274
|
+
"description": "Id of the resource this state describes (e.g. an emailId, candidateId)."
|
|
12275
|
+
},
|
|
12276
|
+
"isSeen": {
|
|
12277
|
+
"type": "boolean",
|
|
12278
|
+
"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."
|
|
12279
|
+
},
|
|
12280
|
+
"isStarred": {
|
|
12281
|
+
"type": "boolean",
|
|
12282
|
+
"description": "True if the user has starred/favourited the resource."
|
|
12283
|
+
},
|
|
12284
|
+
"isSpam": {
|
|
12285
|
+
"type": "boolean",
|
|
12286
|
+
"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."
|
|
12287
|
+
},
|
|
12288
|
+
"seenAt": {
|
|
12289
|
+
"type": "string",
|
|
12290
|
+
"description": "ISO 8601 timestamp of the user's most recent open. Absent means never seen."
|
|
12291
|
+
},
|
|
12292
|
+
"starredAt": {
|
|
12293
|
+
"type": "string",
|
|
12294
|
+
"description": "ISO 8601 timestamp of when the user starred the resource. Absent means not starred; used as the sort key for the `Starred` folder."
|
|
12295
|
+
},
|
|
12296
|
+
"spamAt": {
|
|
12297
|
+
"type": "string",
|
|
12298
|
+
"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."
|
|
12299
|
+
},
|
|
12300
|
+
"resourceCreatedAt": {
|
|
12301
|
+
"type": "string",
|
|
12302
|
+
"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."
|
|
12303
|
+
},
|
|
12304
|
+
"flags": {
|
|
12305
|
+
"type": "object",
|
|
12306
|
+
"additionalProperties": true,
|
|
12307
|
+
"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."
|
|
12308
|
+
},
|
|
12309
|
+
"timestamps": {
|
|
12310
|
+
"title": "ResourceTimestampsSchema",
|
|
12311
|
+
"type": "object",
|
|
12312
|
+
"properties": {
|
|
12313
|
+
"created": {
|
|
12314
|
+
"type": "string",
|
|
12315
|
+
"format": "date-time"
|
|
12316
|
+
},
|
|
12317
|
+
"modified": {
|
|
12318
|
+
"type": "string",
|
|
12319
|
+
"format": "date-time"
|
|
12320
|
+
}
|
|
12321
|
+
}
|
|
12322
|
+
}
|
|
12323
|
+
}
|
|
12324
|
+
}
|
|
12325
|
+
}
|
|
12326
|
+
}
|
|
12327
|
+
}
|
|
12328
|
+
},
|
|
12329
|
+
"_meta": {
|
|
12330
|
+
"method": "POST",
|
|
12331
|
+
"path": "/v1/states",
|
|
12332
|
+
"operationId": "createState"
|
|
12333
|
+
}
|
|
12334
|
+
},
|
|
12335
|
+
{
|
|
12336
|
+
"name": "states_options",
|
|
12337
|
+
"description": "States Options",
|
|
12338
|
+
"inputSchema": {
|
|
12339
|
+
"type": "object",
|
|
12340
|
+
"properties": {}
|
|
12341
|
+
},
|
|
12342
|
+
"_meta": {
|
|
12343
|
+
"method": "OPTIONS",
|
|
12344
|
+
"path": "/v1/states",
|
|
12345
|
+
"operationId": "statesOptions"
|
|
12346
|
+
}
|
|
12347
|
+
},
|
|
12348
|
+
{
|
|
12349
|
+
"name": "show_state",
|
|
12350
|
+
"description": "Show State",
|
|
12351
|
+
"inputSchema": {
|
|
12352
|
+
"type": "object",
|
|
12353
|
+
"properties": {}
|
|
12354
|
+
},
|
|
12355
|
+
"_meta": {
|
|
12356
|
+
"method": "GET",
|
|
12357
|
+
"path": "/v1/states/{stateId}",
|
|
12358
|
+
"operationId": "showState"
|
|
12359
|
+
}
|
|
12360
|
+
},
|
|
12361
|
+
{
|
|
12362
|
+
"name": "update_state",
|
|
12363
|
+
"description": "Update State",
|
|
12364
|
+
"inputSchema": {
|
|
12365
|
+
"title": "UpdateStateRequestBody",
|
|
12366
|
+
"type": "object",
|
|
12367
|
+
"required": [
|
|
12368
|
+
"data"
|
|
12369
|
+
],
|
|
12370
|
+
"properties": {
|
|
12371
|
+
"data": {
|
|
12372
|
+
"title": "UpdateStateRequestBodyData",
|
|
12373
|
+
"type": "object",
|
|
12374
|
+
"required": [
|
|
12375
|
+
"type",
|
|
12376
|
+
"id",
|
|
12377
|
+
"attributes"
|
|
12378
|
+
],
|
|
12379
|
+
"properties": {
|
|
12380
|
+
"type": {
|
|
12381
|
+
"type": "string",
|
|
12382
|
+
"enum": [
|
|
12383
|
+
"states"
|
|
12384
|
+
]
|
|
12385
|
+
},
|
|
12386
|
+
"id": {
|
|
12387
|
+
"type": "string"
|
|
12388
|
+
},
|
|
12389
|
+
"attributes": {
|
|
12390
|
+
"title": "StateAttributesSchema",
|
|
12391
|
+
"type": "object",
|
|
12392
|
+
"properties": {
|
|
12393
|
+
"userId": {
|
|
12394
|
+
"type": "string",
|
|
12395
|
+
"description": "Owner of this state row. Always the authenticated user; never set by the client."
|
|
12396
|
+
},
|
|
12397
|
+
"resourceType": {
|
|
12398
|
+
"type": "string",
|
|
12399
|
+
"enum": [
|
|
12400
|
+
"emails",
|
|
12401
|
+
"candidates",
|
|
12402
|
+
"conversations",
|
|
12403
|
+
"jobs",
|
|
12404
|
+
"talents",
|
|
12405
|
+
"personas",
|
|
12406
|
+
"reports",
|
|
12407
|
+
"tasks"
|
|
12408
|
+
],
|
|
12409
|
+
"description": "The kind of resource this state describes. Lives in the composite id as `{resourceType}:{resourceId}`."
|
|
12410
|
+
},
|
|
12411
|
+
"resourceId": {
|
|
12412
|
+
"type": "string",
|
|
12413
|
+
"description": "Id of the resource this state describes (e.g. an emailId, candidateId)."
|
|
12414
|
+
},
|
|
12415
|
+
"isSeen": {
|
|
12416
|
+
"type": "boolean",
|
|
12417
|
+
"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."
|
|
12418
|
+
},
|
|
12419
|
+
"isStarred": {
|
|
12420
|
+
"type": "boolean",
|
|
12421
|
+
"description": "True if the user has starred/favourited the resource."
|
|
12422
|
+
},
|
|
12423
|
+
"isSpam": {
|
|
12424
|
+
"type": "boolean",
|
|
12425
|
+
"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."
|
|
12426
|
+
},
|
|
12427
|
+
"seenAt": {
|
|
12428
|
+
"type": "string",
|
|
12429
|
+
"description": "ISO 8601 timestamp of the user's most recent open. Absent means never seen."
|
|
12430
|
+
},
|
|
12431
|
+
"starredAt": {
|
|
12432
|
+
"type": "string",
|
|
12433
|
+
"description": "ISO 8601 timestamp of when the user starred the resource. Absent means not starred; used as the sort key for the `Starred` folder."
|
|
12434
|
+
},
|
|
12435
|
+
"spamAt": {
|
|
12436
|
+
"type": "string",
|
|
12437
|
+
"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."
|
|
12438
|
+
},
|
|
12439
|
+
"resourceCreatedAt": {
|
|
12440
|
+
"type": "string",
|
|
12441
|
+
"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."
|
|
12442
|
+
},
|
|
12443
|
+
"flags": {
|
|
12444
|
+
"type": "object",
|
|
12445
|
+
"additionalProperties": true,
|
|
12446
|
+
"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."
|
|
12447
|
+
},
|
|
12448
|
+
"timestamps": {
|
|
12449
|
+
"title": "ResourceTimestampsSchema",
|
|
12450
|
+
"type": "object",
|
|
12451
|
+
"properties": {
|
|
12452
|
+
"created": {
|
|
12453
|
+
"type": "string",
|
|
12454
|
+
"format": "date-time"
|
|
12455
|
+
},
|
|
12456
|
+
"modified": {
|
|
12457
|
+
"type": "string",
|
|
12458
|
+
"format": "date-time"
|
|
12459
|
+
}
|
|
12460
|
+
}
|
|
12461
|
+
}
|
|
12462
|
+
}
|
|
12463
|
+
}
|
|
12464
|
+
}
|
|
12465
|
+
}
|
|
12466
|
+
}
|
|
12467
|
+
},
|
|
12468
|
+
"_meta": {
|
|
12469
|
+
"method": "PATCH",
|
|
12470
|
+
"path": "/v1/states/{stateId}",
|
|
12471
|
+
"operationId": "updateState"
|
|
12472
|
+
}
|
|
12473
|
+
},
|
|
12474
|
+
{
|
|
12475
|
+
"name": "delete_state",
|
|
12476
|
+
"description": "Delete State",
|
|
12477
|
+
"inputSchema": {
|
|
12478
|
+
"type": "object",
|
|
12479
|
+
"properties": {}
|
|
12480
|
+
},
|
|
12481
|
+
"_meta": {
|
|
12482
|
+
"method": "DELETE",
|
|
12483
|
+
"path": "/v1/states/{stateId}",
|
|
12484
|
+
"operationId": "deleteState"
|
|
12485
|
+
}
|
|
12486
|
+
},
|
|
12487
|
+
{
|
|
12488
|
+
"name": "state_options",
|
|
12489
|
+
"description": "State Options",
|
|
12490
|
+
"inputSchema": {
|
|
12491
|
+
"type": "object",
|
|
12492
|
+
"properties": {}
|
|
12493
|
+
},
|
|
12494
|
+
"_meta": {
|
|
12495
|
+
"method": "OPTIONS",
|
|
12496
|
+
"path": "/v1/states/{stateId}",
|
|
12497
|
+
"operationId": "stateOptions"
|
|
12498
|
+
}
|
|
12499
|
+
},
|
|
12500
|
+
{
|
|
12501
|
+
"name": "list_labels",
|
|
12502
|
+
"description": "List Labels",
|
|
12503
|
+
"inputSchema": {
|
|
12504
|
+
"type": "object",
|
|
12505
|
+
"properties": {
|
|
12506
|
+
"filterStatus": {
|
|
12507
|
+
"type": "string",
|
|
12508
|
+
"description": "filterStatus parameter",
|
|
12509
|
+
"enum": [
|
|
12510
|
+
"active",
|
|
12511
|
+
"archived"
|
|
12512
|
+
]
|
|
12513
|
+
},
|
|
12514
|
+
"pageSize": {
|
|
12515
|
+
"type": "integer",
|
|
12516
|
+
"description": "Specifies the number of items to retrieve per page. The maximum value is 100."
|
|
12517
|
+
}
|
|
12518
|
+
}
|
|
12519
|
+
},
|
|
12520
|
+
"_meta": {
|
|
12521
|
+
"method": "GET",
|
|
12522
|
+
"path": "/v1/labels",
|
|
12523
|
+
"operationId": "listLabels"
|
|
12524
|
+
}
|
|
12525
|
+
},
|
|
12526
|
+
{
|
|
12527
|
+
"name": "create_label",
|
|
12528
|
+
"description": "Create Label",
|
|
12529
|
+
"inputSchema": {
|
|
12530
|
+
"title": "CreateLabelRequestBody",
|
|
12531
|
+
"type": "object",
|
|
12532
|
+
"required": [
|
|
12533
|
+
"data"
|
|
12534
|
+
],
|
|
12535
|
+
"properties": {
|
|
12536
|
+
"data": {
|
|
12537
|
+
"title": "CreateLabelRequestBodyData",
|
|
12538
|
+
"type": "object",
|
|
12539
|
+
"required": [
|
|
12540
|
+
"type",
|
|
12541
|
+
"attributes"
|
|
12542
|
+
],
|
|
12543
|
+
"properties": {
|
|
12544
|
+
"type": {
|
|
12545
|
+
"type": "string",
|
|
12546
|
+
"enum": [
|
|
12547
|
+
"labels"
|
|
12548
|
+
]
|
|
12549
|
+
},
|
|
12550
|
+
"attributes": {
|
|
12551
|
+
"title": "LabelAttributesSchema",
|
|
11646
12552
|
"type": "object",
|
|
11647
12553
|
"properties": {
|
|
11648
12554
|
"name": {
|
|
11649
|
-
"type": "string"
|
|
12555
|
+
"type": "string",
|
|
12556
|
+
"description": "Display name. Unique within a scope by convention but not enforced."
|
|
11650
12557
|
},
|
|
11651
|
-
"
|
|
11652
|
-
"type": "string"
|
|
12558
|
+
"color": {
|
|
12559
|
+
"type": "string",
|
|
12560
|
+
"description": "Hex or CSS-named color the UI uses to render the label pill."
|
|
11653
12561
|
},
|
|
11654
|
-
"
|
|
11655
|
-
"type": "
|
|
11656
|
-
"additionalProperties": {
|
|
11657
|
-
"type": "string"
|
|
11658
|
-
},
|
|
11659
|
-
"description": "Multilingual note details keyed by language code"
|
|
12562
|
+
"description": {
|
|
12563
|
+
"type": "string"
|
|
11660
12564
|
},
|
|
11661
|
-
"
|
|
12565
|
+
"scope": {
|
|
11662
12566
|
"type": "string",
|
|
11663
|
-
"
|
|
12567
|
+
"enum": [
|
|
12568
|
+
"tenant",
|
|
12569
|
+
"user"
|
|
12570
|
+
],
|
|
12571
|
+
"description": "tenant = visible to every user in the tenant; user = visible only to the owner."
|
|
11664
12572
|
},
|
|
11665
|
-
"
|
|
12573
|
+
"ownerId": {
|
|
11666
12574
|
"type": "string",
|
|
11667
|
-
"description": "
|
|
12575
|
+
"description": "Set server-side from the caller. Tenant-scope: tenantId. User-scope: the authenticated user's full userId."
|
|
11668
12576
|
},
|
|
11669
|
-
"
|
|
11670
|
-
"type": "
|
|
11671
|
-
"
|
|
12577
|
+
"resourceTypes": {
|
|
12578
|
+
"type": "array",
|
|
12579
|
+
"items": {
|
|
12580
|
+
"type": "string"
|
|
12581
|
+
},
|
|
12582
|
+
"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."
|
|
12583
|
+
},
|
|
12584
|
+
"status": {
|
|
12585
|
+
"type": "string",
|
|
12586
|
+
"enum": [
|
|
12587
|
+
"active",
|
|
12588
|
+
"archived"
|
|
12589
|
+
],
|
|
12590
|
+
"description": "Archived labels stay readable (for historical assignments) but disappear from the default list."
|
|
11672
12591
|
},
|
|
11673
12592
|
"timestamps": {
|
|
11674
12593
|
"title": "ResourceTimestampsSchema",
|
|
@@ -11685,87 +12604,6 @@
|
|
|
11685
12604
|
}
|
|
11686
12605
|
}
|
|
11687
12606
|
}
|
|
11688
|
-
},
|
|
11689
|
-
"relationships": {
|
|
11690
|
-
"title": "NoteRelationshipsSchema",
|
|
11691
|
-
"type": "object",
|
|
11692
|
-
"properties": {
|
|
11693
|
-
"candidate": {
|
|
11694
|
-
"title": "NoteRelationshipsCandidateSchema",
|
|
11695
|
-
"type": "object",
|
|
11696
|
-
"properties": {
|
|
11697
|
-
"data": {
|
|
11698
|
-
"title": "NoteRelationshipsCandidateDataSchema",
|
|
11699
|
-
"type": "object",
|
|
11700
|
-
"properties": {
|
|
11701
|
-
"type": {
|
|
11702
|
-
"type": "string"
|
|
11703
|
-
},
|
|
11704
|
-
"id": {
|
|
11705
|
-
"type": "string"
|
|
11706
|
-
}
|
|
11707
|
-
}
|
|
11708
|
-
}
|
|
11709
|
-
}
|
|
11710
|
-
},
|
|
11711
|
-
"translations": {
|
|
11712
|
-
"title": "NoteRelationshipsTranslationsSchema",
|
|
11713
|
-
"type": "object",
|
|
11714
|
-
"properties": {
|
|
11715
|
-
"data": {
|
|
11716
|
-
"type": "array",
|
|
11717
|
-
"items": {
|
|
11718
|
-
"title": "NoteRelationshipsTranslationsDataSchema",
|
|
11719
|
-
"type": "object",
|
|
11720
|
-
"properties": {
|
|
11721
|
-
"type": {
|
|
11722
|
-
"type": "string"
|
|
11723
|
-
},
|
|
11724
|
-
"id": {
|
|
11725
|
-
"type": "string"
|
|
11726
|
-
}
|
|
11727
|
-
}
|
|
11728
|
-
}
|
|
11729
|
-
}
|
|
11730
|
-
}
|
|
11731
|
-
},
|
|
11732
|
-
"report": {
|
|
11733
|
-
"title": "NoteRelationshipsReportSchema",
|
|
11734
|
-
"type": "object",
|
|
11735
|
-
"properties": {
|
|
11736
|
-
"data": {
|
|
11737
|
-
"title": "NoteRelationshipsReportDataSchema",
|
|
11738
|
-
"type": "object",
|
|
11739
|
-
"properties": {
|
|
11740
|
-
"type": {
|
|
11741
|
-
"type": "string"
|
|
11742
|
-
},
|
|
11743
|
-
"id": {
|
|
11744
|
-
"type": "string"
|
|
11745
|
-
}
|
|
11746
|
-
}
|
|
11747
|
-
}
|
|
11748
|
-
}
|
|
11749
|
-
},
|
|
11750
|
-
"operation": {
|
|
11751
|
-
"title": "NoteRelationshipsOperationSchema",
|
|
11752
|
-
"type": "object",
|
|
11753
|
-
"properties": {
|
|
11754
|
-
"data": {
|
|
11755
|
-
"title": "NoteRelationshipsOperationDataSchema",
|
|
11756
|
-
"type": "object",
|
|
11757
|
-
"properties": {
|
|
11758
|
-
"type": {
|
|
11759
|
-
"type": "string"
|
|
11760
|
-
},
|
|
11761
|
-
"id": {
|
|
11762
|
-
"type": "string"
|
|
11763
|
-
}
|
|
11764
|
-
}
|
|
11765
|
-
}
|
|
11766
|
-
}
|
|
11767
|
-
}
|
|
11768
|
-
}
|
|
11769
12607
|
}
|
|
11770
12608
|
}
|
|
11771
12609
|
}
|
|
@@ -11773,48 +12611,48 @@
|
|
|
11773
12611
|
},
|
|
11774
12612
|
"_meta": {
|
|
11775
12613
|
"method": "POST",
|
|
11776
|
-
"path": "/v1/
|
|
11777
|
-
"operationId": "
|
|
12614
|
+
"path": "/v1/labels",
|
|
12615
|
+
"operationId": "createLabel"
|
|
11778
12616
|
}
|
|
11779
12617
|
},
|
|
11780
12618
|
{
|
|
11781
|
-
"name": "
|
|
11782
|
-
"description": "
|
|
12619
|
+
"name": "labels_options",
|
|
12620
|
+
"description": "Labels Options",
|
|
11783
12621
|
"inputSchema": {
|
|
11784
12622
|
"type": "object",
|
|
11785
12623
|
"properties": {}
|
|
11786
12624
|
},
|
|
11787
12625
|
"_meta": {
|
|
11788
12626
|
"method": "OPTIONS",
|
|
11789
|
-
"path": "/v1/
|
|
11790
|
-
"operationId": "
|
|
12627
|
+
"path": "/v1/labels",
|
|
12628
|
+
"operationId": "labelsOptions"
|
|
11791
12629
|
}
|
|
11792
12630
|
},
|
|
11793
12631
|
{
|
|
11794
|
-
"name": "
|
|
11795
|
-
"description": "Show
|
|
12632
|
+
"name": "show_label",
|
|
12633
|
+
"description": "Show Label",
|
|
11796
12634
|
"inputSchema": {
|
|
11797
12635
|
"type": "object",
|
|
11798
12636
|
"properties": {}
|
|
11799
12637
|
},
|
|
11800
12638
|
"_meta": {
|
|
11801
12639
|
"method": "GET",
|
|
11802
|
-
"path": "/v1/
|
|
11803
|
-
"operationId": "
|
|
12640
|
+
"path": "/v1/labels/{labelId}",
|
|
12641
|
+
"operationId": "showLabel"
|
|
11804
12642
|
}
|
|
11805
12643
|
},
|
|
11806
12644
|
{
|
|
11807
|
-
"name": "
|
|
11808
|
-
"description": "Update
|
|
12645
|
+
"name": "update_label",
|
|
12646
|
+
"description": "Update Label",
|
|
11809
12647
|
"inputSchema": {
|
|
11810
|
-
"title": "
|
|
12648
|
+
"title": "UpdateLabelRequestBody",
|
|
11811
12649
|
"type": "object",
|
|
11812
12650
|
"required": [
|
|
11813
12651
|
"data"
|
|
11814
12652
|
],
|
|
11815
12653
|
"properties": {
|
|
11816
12654
|
"data": {
|
|
11817
|
-
"title": "
|
|
12655
|
+
"title": "UpdateLabelRequestBodyData",
|
|
11818
12656
|
"type": "object",
|
|
11819
12657
|
"required": [
|
|
11820
12658
|
"type",
|
|
@@ -11825,40 +12663,53 @@
|
|
|
11825
12663
|
"type": {
|
|
11826
12664
|
"type": "string",
|
|
11827
12665
|
"enum": [
|
|
11828
|
-
"
|
|
12666
|
+
"labels"
|
|
11829
12667
|
]
|
|
11830
12668
|
},
|
|
11831
12669
|
"id": {
|
|
11832
12670
|
"type": "string"
|
|
11833
12671
|
},
|
|
11834
12672
|
"attributes": {
|
|
11835
|
-
"title": "
|
|
12673
|
+
"title": "LabelAttributesSchema",
|
|
11836
12674
|
"type": "object",
|
|
11837
12675
|
"properties": {
|
|
11838
12676
|
"name": {
|
|
11839
|
-
"type": "string"
|
|
12677
|
+
"type": "string",
|
|
12678
|
+
"description": "Display name. Unique within a scope by convention but not enforced."
|
|
11840
12679
|
},
|
|
11841
|
-
"
|
|
11842
|
-
"type": "string"
|
|
12680
|
+
"color": {
|
|
12681
|
+
"type": "string",
|
|
12682
|
+
"description": "Hex or CSS-named color the UI uses to render the label pill."
|
|
11843
12683
|
},
|
|
11844
|
-
"
|
|
11845
|
-
"type": "
|
|
11846
|
-
"additionalProperties": {
|
|
11847
|
-
"type": "string"
|
|
11848
|
-
},
|
|
11849
|
-
"description": "Multilingual note details keyed by language code"
|
|
12684
|
+
"description": {
|
|
12685
|
+
"type": "string"
|
|
11850
12686
|
},
|
|
11851
|
-
"
|
|
12687
|
+
"scope": {
|
|
11852
12688
|
"type": "string",
|
|
11853
|
-
"
|
|
12689
|
+
"enum": [
|
|
12690
|
+
"tenant",
|
|
12691
|
+
"user"
|
|
12692
|
+
],
|
|
12693
|
+
"description": "tenant = visible to every user in the tenant; user = visible only to the owner."
|
|
11854
12694
|
},
|
|
11855
|
-
"
|
|
12695
|
+
"ownerId": {
|
|
11856
12696
|
"type": "string",
|
|
11857
|
-
"description": "
|
|
12697
|
+
"description": "Set server-side from the caller. Tenant-scope: tenantId. User-scope: the authenticated user's full userId."
|
|
11858
12698
|
},
|
|
11859
|
-
"
|
|
11860
|
-
"type": "
|
|
11861
|
-
"
|
|
12699
|
+
"resourceTypes": {
|
|
12700
|
+
"type": "array",
|
|
12701
|
+
"items": {
|
|
12702
|
+
"type": "string"
|
|
12703
|
+
},
|
|
12704
|
+
"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."
|
|
12705
|
+
},
|
|
12706
|
+
"status": {
|
|
12707
|
+
"type": "string",
|
|
12708
|
+
"enum": [
|
|
12709
|
+
"active",
|
|
12710
|
+
"archived"
|
|
12711
|
+
],
|
|
12712
|
+
"description": "Archived labels stay readable (for historical assignments) but disappear from the default list."
|
|
11862
12713
|
},
|
|
11863
12714
|
"timestamps": {
|
|
11864
12715
|
"title": "ResourceTimestampsSchema",
|
|
@@ -11882,34 +12733,34 @@
|
|
|
11882
12733
|
},
|
|
11883
12734
|
"_meta": {
|
|
11884
12735
|
"method": "PATCH",
|
|
11885
|
-
"path": "/v1/
|
|
11886
|
-
"operationId": "
|
|
12736
|
+
"path": "/v1/labels/{labelId}",
|
|
12737
|
+
"operationId": "updateLabel"
|
|
11887
12738
|
}
|
|
11888
12739
|
},
|
|
11889
12740
|
{
|
|
11890
|
-
"name": "
|
|
11891
|
-
"description": "Delete
|
|
12741
|
+
"name": "delete_label",
|
|
12742
|
+
"description": "Delete Label",
|
|
11892
12743
|
"inputSchema": {
|
|
11893
12744
|
"type": "object",
|
|
11894
12745
|
"properties": {}
|
|
11895
12746
|
},
|
|
11896
12747
|
"_meta": {
|
|
11897
12748
|
"method": "DELETE",
|
|
11898
|
-
"path": "/v1/
|
|
11899
|
-
"operationId": "
|
|
12749
|
+
"path": "/v1/labels/{labelId}",
|
|
12750
|
+
"operationId": "deleteLabel"
|
|
11900
12751
|
}
|
|
11901
12752
|
},
|
|
11902
12753
|
{
|
|
11903
|
-
"name": "
|
|
11904
|
-
"description": "
|
|
12754
|
+
"name": "label_options",
|
|
12755
|
+
"description": "Label Options",
|
|
11905
12756
|
"inputSchema": {
|
|
11906
12757
|
"type": "object",
|
|
11907
12758
|
"properties": {}
|
|
11908
12759
|
},
|
|
11909
12760
|
"_meta": {
|
|
11910
12761
|
"method": "OPTIONS",
|
|
11911
|
-
"path": "/v1/
|
|
11912
|
-
"operationId": "
|
|
12762
|
+
"path": "/v1/labels/{labelId}",
|
|
12763
|
+
"operationId": "labelOptions"
|
|
11913
12764
|
}
|
|
11914
12765
|
},
|
|
11915
12766
|
{
|
|
@@ -11954,7 +12805,7 @@
|
|
|
11954
12805
|
},
|
|
11955
12806
|
"pageAfter": {
|
|
11956
12807
|
"type": "string",
|
|
11957
|
-
"description": "
|
|
12808
|
+
"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."
|
|
11958
12809
|
},
|
|
11959
12810
|
"pageBefore": {
|
|
11960
12811
|
"type": "string",
|
|
@@ -12531,7 +13382,7 @@
|
|
|
12531
13382
|
},
|
|
12532
13383
|
"pageAfter": {
|
|
12533
13384
|
"type": "string",
|
|
12534
|
-
"description": "
|
|
13385
|
+
"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."
|
|
12535
13386
|
},
|
|
12536
13387
|
"pageBefore": {
|
|
12537
13388
|
"type": "string",
|
|
@@ -12879,7 +13730,7 @@
|
|
|
12879
13730
|
},
|
|
12880
13731
|
"pageAfter": {
|
|
12881
13732
|
"type": "string",
|
|
12882
|
-
"description": "
|
|
13733
|
+
"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."
|
|
12883
13734
|
},
|
|
12884
13735
|
"pageBefore": {
|
|
12885
13736
|
"type": "string",
|
|
@@ -13237,7 +14088,7 @@
|
|
|
13237
14088
|
},
|
|
13238
14089
|
"pageAfter": {
|
|
13239
14090
|
"type": "string",
|
|
13240
|
-
"description": "
|
|
14091
|
+
"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."
|
|
13241
14092
|
},
|
|
13242
14093
|
"pageBefore": {
|
|
13243
14094
|
"type": "string",
|
|
@@ -13541,7 +14392,7 @@
|
|
|
13541
14392
|
},
|
|
13542
14393
|
"pageAfter": {
|
|
13543
14394
|
"type": "string",
|
|
13544
|
-
"description": "
|
|
14395
|
+
"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."
|
|
13545
14396
|
},
|
|
13546
14397
|
"pageBefore": {
|
|
13547
14398
|
"type": "string",
|
|
@@ -13793,7 +14644,7 @@
|
|
|
13793
14644
|
},
|
|
13794
14645
|
"pageAfter": {
|
|
13795
14646
|
"type": "string",
|
|
13796
|
-
"description": "
|
|
14647
|
+
"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."
|
|
13797
14648
|
},
|
|
13798
14649
|
"pageBefore": {
|
|
13799
14650
|
"type": "string",
|
|
@@ -14113,7 +14964,7 @@
|
|
|
14113
14964
|
},
|
|
14114
14965
|
"pageAfter": {
|
|
14115
14966
|
"type": "string",
|
|
14116
|
-
"description": "
|
|
14967
|
+
"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."
|
|
14117
14968
|
},
|
|
14118
14969
|
"pageBefore": {
|
|
14119
14970
|
"type": "string",
|
|
@@ -14229,7 +15080,7 @@
|
|
|
14229
15080
|
},
|
|
14230
15081
|
"pageAfter": {
|
|
14231
15082
|
"type": "string",
|
|
14232
|
-
"description": "
|
|
15083
|
+
"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."
|
|
14233
15084
|
},
|
|
14234
15085
|
"pageBefore": {
|
|
14235
15086
|
"type": "string",
|
|
@@ -14327,7 +15178,7 @@
|
|
|
14327
15178
|
},
|
|
14328
15179
|
"pageAfter": {
|
|
14329
15180
|
"type": "string",
|
|
14330
|
-
"description": "
|
|
15181
|
+
"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."
|
|
14331
15182
|
},
|
|
14332
15183
|
"pageBefore": {
|
|
14333
15184
|
"type": "string",
|
|
@@ -14429,7 +15280,7 @@
|
|
|
14429
15280
|
},
|
|
14430
15281
|
"pageAfter": {
|
|
14431
15282
|
"type": "string",
|
|
14432
|
-
"description": "
|
|
15283
|
+
"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."
|
|
14433
15284
|
},
|
|
14434
15285
|
"pageBefore": {
|
|
14435
15286
|
"type": "string",
|
|
@@ -14634,7 +15485,7 @@
|
|
|
14634
15485
|
},
|
|
14635
15486
|
"pageAfter": {
|
|
14636
15487
|
"type": "string",
|
|
14637
|
-
"description": "
|
|
15488
|
+
"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."
|
|
14638
15489
|
},
|
|
14639
15490
|
"pageBefore": {
|
|
14640
15491
|
"type": "string",
|
|
@@ -14891,7 +15742,7 @@
|
|
|
14891
15742
|
},
|
|
14892
15743
|
"pageAfter": {
|
|
14893
15744
|
"type": "string",
|
|
14894
|
-
"description": "
|
|
15745
|
+
"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."
|
|
14895
15746
|
},
|
|
14896
15747
|
"pageBefore": {
|
|
14897
15748
|
"type": "string",
|
|
@@ -14954,12 +15805,62 @@
|
|
|
14954
15805
|
"description": "The type of search to perform"
|
|
14955
15806
|
},
|
|
14956
15807
|
"query": {
|
|
14957
|
-
"
|
|
14958
|
-
"
|
|
15808
|
+
"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.",
|
|
15809
|
+
"oneOf": [
|
|
15810
|
+
{
|
|
15811
|
+
"$ref": "#/components/schemas/FinderQueryTalentsSchema"
|
|
15812
|
+
},
|
|
15813
|
+
{
|
|
15814
|
+
"$ref": "#/components/schemas/FinderQueryCandidatesSchema"
|
|
15815
|
+
},
|
|
15816
|
+
{
|
|
15817
|
+
"$ref": "#/components/schemas/FinderQueryJobsSchema"
|
|
15818
|
+
},
|
|
15819
|
+
{
|
|
15820
|
+
"$ref": "#/components/schemas/FinderQueryEmailsSchema"
|
|
15821
|
+
}
|
|
15822
|
+
]
|
|
14959
15823
|
},
|
|
14960
15824
|
"results": {
|
|
15825
|
+
"title": "FinderResultsSchema",
|
|
14961
15826
|
"type": "object",
|
|
14962
|
-
"description": "
|
|
15827
|
+
"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.",
|
|
15828
|
+
"properties": {
|
|
15829
|
+
"total": {
|
|
15830
|
+
"type": "integer",
|
|
15831
|
+
"description": "Count of matching documents before pagination."
|
|
15832
|
+
},
|
|
15833
|
+
"hits": {
|
|
15834
|
+
"type": "array",
|
|
15835
|
+
"items": {
|
|
15836
|
+
"title": "FinderResultHitSchema",
|
|
15837
|
+
"type": "object",
|
|
15838
|
+
"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`.",
|
|
15839
|
+
"properties": {
|
|
15840
|
+
"id": {
|
|
15841
|
+
"type": "string",
|
|
15842
|
+
"description": "The underlying resource id (emailId / talentId / candidateId / jobId)."
|
|
15843
|
+
},
|
|
15844
|
+
"tenantId": {
|
|
15845
|
+
"type": "string"
|
|
15846
|
+
},
|
|
15847
|
+
"status": {
|
|
15848
|
+
"type": "string"
|
|
15849
|
+
},
|
|
15850
|
+
"source": {
|
|
15851
|
+
"type": "string"
|
|
15852
|
+
},
|
|
15853
|
+
"created": {
|
|
15854
|
+
"type": "string"
|
|
15855
|
+
},
|
|
15856
|
+
"shortCode": {
|
|
15857
|
+
"type": "string"
|
|
15858
|
+
}
|
|
15859
|
+
},
|
|
15860
|
+
"additionalProperties": true
|
|
15861
|
+
}
|
|
15862
|
+
}
|
|
15863
|
+
}
|
|
14963
15864
|
},
|
|
14964
15865
|
"status": {
|
|
14965
15866
|
"type": "string",
|
|
@@ -15187,12 +16088,62 @@
|
|
|
15187
16088
|
"description": "The type of search to perform"
|
|
15188
16089
|
},
|
|
15189
16090
|
"query": {
|
|
15190
|
-
"
|
|
15191
|
-
"
|
|
16091
|
+
"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.",
|
|
16092
|
+
"oneOf": [
|
|
16093
|
+
{
|
|
16094
|
+
"$ref": "#/components/schemas/FinderQueryTalentsSchema"
|
|
16095
|
+
},
|
|
16096
|
+
{
|
|
16097
|
+
"$ref": "#/components/schemas/FinderQueryCandidatesSchema"
|
|
16098
|
+
},
|
|
16099
|
+
{
|
|
16100
|
+
"$ref": "#/components/schemas/FinderQueryJobsSchema"
|
|
16101
|
+
},
|
|
16102
|
+
{
|
|
16103
|
+
"$ref": "#/components/schemas/FinderQueryEmailsSchema"
|
|
16104
|
+
}
|
|
16105
|
+
]
|
|
15192
16106
|
},
|
|
15193
16107
|
"results": {
|
|
16108
|
+
"title": "FinderResultsSchema",
|
|
15194
16109
|
"type": "object",
|
|
15195
|
-
"description": "
|
|
16110
|
+
"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.",
|
|
16111
|
+
"properties": {
|
|
16112
|
+
"total": {
|
|
16113
|
+
"type": "integer",
|
|
16114
|
+
"description": "Count of matching documents before pagination."
|
|
16115
|
+
},
|
|
16116
|
+
"hits": {
|
|
16117
|
+
"type": "array",
|
|
16118
|
+
"items": {
|
|
16119
|
+
"title": "FinderResultHitSchema",
|
|
16120
|
+
"type": "object",
|
|
16121
|
+
"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`.",
|
|
16122
|
+
"properties": {
|
|
16123
|
+
"id": {
|
|
16124
|
+
"type": "string",
|
|
16125
|
+
"description": "The underlying resource id (emailId / talentId / candidateId / jobId)."
|
|
16126
|
+
},
|
|
16127
|
+
"tenantId": {
|
|
16128
|
+
"type": "string"
|
|
16129
|
+
},
|
|
16130
|
+
"status": {
|
|
16131
|
+
"type": "string"
|
|
16132
|
+
},
|
|
16133
|
+
"source": {
|
|
16134
|
+
"type": "string"
|
|
16135
|
+
},
|
|
16136
|
+
"created": {
|
|
16137
|
+
"type": "string"
|
|
16138
|
+
},
|
|
16139
|
+
"shortCode": {
|
|
16140
|
+
"type": "string"
|
|
16141
|
+
}
|
|
16142
|
+
},
|
|
16143
|
+
"additionalProperties": true
|
|
16144
|
+
}
|
|
16145
|
+
}
|
|
16146
|
+
}
|
|
15196
16147
|
},
|
|
15197
16148
|
"status": {
|
|
15198
16149
|
"type": "string",
|
|
@@ -15317,7 +16268,7 @@
|
|
|
15317
16268
|
},
|
|
15318
16269
|
"pageAfter": {
|
|
15319
16270
|
"type": "string",
|
|
15320
|
-
"description": "
|
|
16271
|
+
"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."
|
|
15321
16272
|
},
|
|
15322
16273
|
"pageBefore": {
|
|
15323
16274
|
"type": "string",
|
|
@@ -15590,7 +16541,7 @@
|
|
|
15590
16541
|
},
|
|
15591
16542
|
"pageAfter": {
|
|
15592
16543
|
"type": "string",
|
|
15593
|
-
"description": "
|
|
16544
|
+
"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."
|
|
15594
16545
|
},
|
|
15595
16546
|
"pageBefore": {
|
|
15596
16547
|
"type": "string",
|