@productcraft/waitlist 0.2.2 → 0.2.4
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/README.md +8 -8
- package/dist/index.d.cts +425 -64
- package/dist/index.d.ts +425 -64
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -850,7 +850,10 @@ interface components {
|
|
|
850
850
|
url: string;
|
|
851
851
|
};
|
|
852
852
|
CreateWebhookEndpointDto: {
|
|
853
|
-
/**
|
|
853
|
+
/**
|
|
854
|
+
* @description A label for people.
|
|
855
|
+
* @example Production receiver
|
|
856
|
+
*/
|
|
854
857
|
description?: string | null;
|
|
855
858
|
/**
|
|
856
859
|
* @description Create it switched off.
|
|
@@ -922,10 +925,136 @@ interface components {
|
|
|
922
925
|
*/
|
|
923
926
|
state: "ready" | "incomplete" | "off";
|
|
924
927
|
};
|
|
928
|
+
/**
|
|
929
|
+
* EntryApprovedEvent
|
|
930
|
+
* @description An entry was approved: by you, or automatically when the waitlist does not need approval. Every real delivery also carries the keys of the previous webhook body (`event`, `occurred_at`, `entry`) until its sunset; read `type`, `created_at` and `data` instead.
|
|
931
|
+
* @example {
|
|
932
|
+
* "created_at": "2026-11-05T09:00:00.000Z",
|
|
933
|
+
* "data": {
|
|
934
|
+
* "entry": {
|
|
935
|
+
* "created_at": "2026-10-17T10:00:00.000Z",
|
|
936
|
+
* "email": "ada@example.com",
|
|
937
|
+
* "id": "1d0b7828-0e1a-407b-8706-aeb7ff619088",
|
|
938
|
+
* "is_test": false,
|
|
939
|
+
* "name": "Ada Lovelace",
|
|
940
|
+
* "position": 4,
|
|
941
|
+
* "referral_code": "464QTHE0",
|
|
942
|
+
* "referral_count": 0,
|
|
943
|
+
* "referred_by_entry_id": null,
|
|
944
|
+
* "status": "approved",
|
|
945
|
+
* "updated_at": "2026-10-17T10:00:00.000Z"
|
|
946
|
+
* },
|
|
947
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392"
|
|
948
|
+
* },
|
|
949
|
+
* "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
|
|
950
|
+
* "type": "entry.approved",
|
|
951
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392",
|
|
952
|
+
* "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
|
|
953
|
+
* }
|
|
954
|
+
*/
|
|
955
|
+
EntryApprovedEvent: {
|
|
956
|
+
/**
|
|
957
|
+
* Format: date-time
|
|
958
|
+
* @description When the event happened (the same on every retry).
|
|
959
|
+
* @example 2026-11-05T09:00:00.000Z
|
|
960
|
+
*/
|
|
961
|
+
created_at: string;
|
|
962
|
+
data: components["schemas"]["EntryEventDataDto"];
|
|
963
|
+
/**
|
|
964
|
+
* @description The event id, also sent as `webhook-id`; the same on every retry and replay.
|
|
965
|
+
* @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
|
|
966
|
+
*/
|
|
967
|
+
id: string;
|
|
968
|
+
/** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
|
|
969
|
+
test?: boolean;
|
|
970
|
+
/**
|
|
971
|
+
* @description The event type. Switch on it to narrow the event.
|
|
972
|
+
* @enum {string}
|
|
973
|
+
*/
|
|
974
|
+
type: "entry.approved";
|
|
975
|
+
/**
|
|
976
|
+
* Format: uuid
|
|
977
|
+
* @description The waitlist, so you can route without opening `data` (also in `data.waitlist_id`). Absent on "Send test" deliveries.
|
|
978
|
+
*/
|
|
979
|
+
waitlist_id?: string;
|
|
980
|
+
/**
|
|
981
|
+
* Format: uuid
|
|
982
|
+
* @description The workspace the waitlist belongs to. Absent on "Send test" deliveries.
|
|
983
|
+
*/
|
|
984
|
+
workspace_id?: string;
|
|
985
|
+
};
|
|
925
986
|
EntryCountResponseDto: {
|
|
926
987
|
/** @description Number of entries on the waitlist. Test entries are left out unless `include_test=true`. */
|
|
927
988
|
count: number;
|
|
928
989
|
};
|
|
990
|
+
/**
|
|
991
|
+
* EntryCreatedEvent
|
|
992
|
+
* @description Someone joined a waitlist. On a waitlist that does not need approval, entry.approved follows straight away. Every real delivery also carries the keys of the previous webhook body (`event`, `occurred_at`, `entry`) until its sunset; read `type`, `created_at` and `data` instead.
|
|
993
|
+
* @example {
|
|
994
|
+
* "created_at": "2026-11-05T09:00:00.000Z",
|
|
995
|
+
* "data": {
|
|
996
|
+
* "entry": {
|
|
997
|
+
* "created_at": "2026-10-17T10:00:00.000Z",
|
|
998
|
+
* "email": "ada@example.com",
|
|
999
|
+
* "id": "1d0b7828-0e1a-407b-8706-aeb7ff619088",
|
|
1000
|
+
* "is_test": false,
|
|
1001
|
+
* "name": "Ada Lovelace",
|
|
1002
|
+
* "position": 4,
|
|
1003
|
+
* "referral_code": "464QTHE0",
|
|
1004
|
+
* "referral_count": 0,
|
|
1005
|
+
* "referred_by_entry_id": null,
|
|
1006
|
+
* "status": "pending",
|
|
1007
|
+
* "updated_at": "2026-10-17T10:00:00.000Z"
|
|
1008
|
+
* },
|
|
1009
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392"
|
|
1010
|
+
* },
|
|
1011
|
+
* "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
|
|
1012
|
+
* "type": "entry.created",
|
|
1013
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392",
|
|
1014
|
+
* "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
|
|
1015
|
+
* }
|
|
1016
|
+
*/
|
|
1017
|
+
EntryCreatedEvent: {
|
|
1018
|
+
/**
|
|
1019
|
+
* Format: date-time
|
|
1020
|
+
* @description When the event happened (the same on every retry).
|
|
1021
|
+
* @example 2026-11-05T09:00:00.000Z
|
|
1022
|
+
*/
|
|
1023
|
+
created_at: string;
|
|
1024
|
+
data: components["schemas"]["EntryEventDataDto"];
|
|
1025
|
+
/**
|
|
1026
|
+
* @description The event id, also sent as `webhook-id`; the same on every retry and replay.
|
|
1027
|
+
* @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
|
|
1028
|
+
*/
|
|
1029
|
+
id: string;
|
|
1030
|
+
/** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
|
|
1031
|
+
test?: boolean;
|
|
1032
|
+
/**
|
|
1033
|
+
* @description The event type. Switch on it to narrow the event.
|
|
1034
|
+
* @enum {string}
|
|
1035
|
+
*/
|
|
1036
|
+
type: "entry.created";
|
|
1037
|
+
/**
|
|
1038
|
+
* Format: uuid
|
|
1039
|
+
* @description The waitlist, so you can route without opening `data` (also in `data.waitlist_id`). Absent on "Send test" deliveries.
|
|
1040
|
+
*/
|
|
1041
|
+
waitlist_id?: string;
|
|
1042
|
+
/**
|
|
1043
|
+
* Format: uuid
|
|
1044
|
+
* @description The workspace the waitlist belongs to. Absent on "Send test" deliveries.
|
|
1045
|
+
*/
|
|
1046
|
+
workspace_id?: string;
|
|
1047
|
+
};
|
|
1048
|
+
EntryEventDataDto: {
|
|
1049
|
+
/** @description The entry, as it is after the event. */
|
|
1050
|
+
entry: components["schemas"]["WebhookEntryDto"];
|
|
1051
|
+
/**
|
|
1052
|
+
* Format: uuid
|
|
1053
|
+
* @description The waitlist the entry belongs to.
|
|
1054
|
+
* @example 33a8b309-8753-4f08-90d7-9dc484eff392
|
|
1055
|
+
*/
|
|
1056
|
+
waitlist_id: string;
|
|
1057
|
+
};
|
|
929
1058
|
EntryListPaginationDto: {
|
|
930
1059
|
has_more: boolean;
|
|
931
1060
|
next_cursor: string | null;
|
|
@@ -934,6 +1063,64 @@ interface components {
|
|
|
934
1063
|
data: components["schemas"]["EntryResponseDto"][];
|
|
935
1064
|
pagination: components["schemas"]["EntryListPaginationDto"];
|
|
936
1065
|
};
|
|
1066
|
+
/**
|
|
1067
|
+
* EntryRejectedEvent
|
|
1068
|
+
* @description An entry was rejected. Every real delivery also carries the keys of the previous webhook body (`event`, `occurred_at`, `entry`) until its sunset; read `type`, `created_at` and `data` instead.
|
|
1069
|
+
* @example {
|
|
1070
|
+
* "created_at": "2026-11-05T09:00:00.000Z",
|
|
1071
|
+
* "data": {
|
|
1072
|
+
* "entry": {
|
|
1073
|
+
* "created_at": "2026-10-17T10:00:00.000Z",
|
|
1074
|
+
* "email": "ada@example.com",
|
|
1075
|
+
* "id": "1d0b7828-0e1a-407b-8706-aeb7ff619088",
|
|
1076
|
+
* "is_test": false,
|
|
1077
|
+
* "name": "Ada Lovelace",
|
|
1078
|
+
* "position": 4,
|
|
1079
|
+
* "referral_code": "464QTHE0",
|
|
1080
|
+
* "referral_count": 0,
|
|
1081
|
+
* "referred_by_entry_id": null,
|
|
1082
|
+
* "status": "rejected",
|
|
1083
|
+
* "updated_at": "2026-10-17T10:00:00.000Z"
|
|
1084
|
+
* },
|
|
1085
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392"
|
|
1086
|
+
* },
|
|
1087
|
+
* "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
|
|
1088
|
+
* "type": "entry.rejected",
|
|
1089
|
+
* "waitlist_id": "33a8b309-8753-4f08-90d7-9dc484eff392",
|
|
1090
|
+
* "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
|
|
1091
|
+
* }
|
|
1092
|
+
*/
|
|
1093
|
+
EntryRejectedEvent: {
|
|
1094
|
+
/**
|
|
1095
|
+
* Format: date-time
|
|
1096
|
+
* @description When the event happened (the same on every retry).
|
|
1097
|
+
* @example 2026-11-05T09:00:00.000Z
|
|
1098
|
+
*/
|
|
1099
|
+
created_at: string;
|
|
1100
|
+
data: components["schemas"]["EntryEventDataDto"];
|
|
1101
|
+
/**
|
|
1102
|
+
* @description The event id, also sent as `webhook-id`; the same on every retry and replay.
|
|
1103
|
+
* @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
|
|
1104
|
+
*/
|
|
1105
|
+
id: string;
|
|
1106
|
+
/** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
|
|
1107
|
+
test?: boolean;
|
|
1108
|
+
/**
|
|
1109
|
+
* @description The event type. Switch on it to narrow the event.
|
|
1110
|
+
* @enum {string}
|
|
1111
|
+
*/
|
|
1112
|
+
type: "entry.rejected";
|
|
1113
|
+
/**
|
|
1114
|
+
* Format: uuid
|
|
1115
|
+
* @description The waitlist, so you can route without opening `data` (also in `data.waitlist_id`). Absent on "Send test" deliveries.
|
|
1116
|
+
*/
|
|
1117
|
+
waitlist_id?: string;
|
|
1118
|
+
/**
|
|
1119
|
+
* Format: uuid
|
|
1120
|
+
* @description The workspace the waitlist belongs to. Absent on "Send test" deliveries.
|
|
1121
|
+
*/
|
|
1122
|
+
workspace_id?: string;
|
|
1123
|
+
};
|
|
937
1124
|
EntryResponseDto: {
|
|
938
1125
|
created_at: string;
|
|
939
1126
|
email: string;
|
|
@@ -960,6 +1147,8 @@ interface components {
|
|
|
960
1147
|
waitlist_id: string;
|
|
961
1148
|
workspace_id: string;
|
|
962
1149
|
};
|
|
1150
|
+
/** @enum {string} */
|
|
1151
|
+
EntryStatus: "pending" | "approved" | "rejected";
|
|
963
1152
|
ErrorParamDto: {
|
|
964
1153
|
/**
|
|
965
1154
|
* @description The failed rule (class-validator constraint name, e.g. `isEmail`, `isUuid`, `whitelistValidation` for a field the operation does not declare), or `invalid`.
|
|
@@ -1054,15 +1243,19 @@ interface components {
|
|
|
1054
1243
|
webhook_id: string;
|
|
1055
1244
|
};
|
|
1056
1245
|
ListWebhookEndpointsResponseDto: {
|
|
1246
|
+
/** @description The endpoints, newest first. */
|
|
1057
1247
|
data: components["schemas"]["WebhookEndpointDto"][];
|
|
1058
1248
|
/** @description Always one page (an endpoint limit applies). */
|
|
1059
1249
|
pagination: components["schemas"]["WebhookPaginationDto"];
|
|
1060
1250
|
};
|
|
1061
1251
|
ListWebhookEventTypesResponseDto: {
|
|
1252
|
+
/** @description Every event type this product sends. */
|
|
1062
1253
|
data: components["schemas"]["WebhookEventTypeDto"][];
|
|
1063
1254
|
};
|
|
1064
1255
|
ListWebhookEventsResponseDto: {
|
|
1256
|
+
/** @description The events, newest first. */
|
|
1065
1257
|
data: components["schemas"]["WebhookEventDto"][];
|
|
1258
|
+
/** @description The cursor for the next page. */
|
|
1066
1259
|
pagination: components["schemas"]["WebhookPaginationDto"];
|
|
1067
1260
|
};
|
|
1068
1261
|
NotificationTestResponseDto: {
|
|
@@ -1222,6 +1415,7 @@ interface components {
|
|
|
1222
1415
|
ReplayWebhookEventResponseDto: {
|
|
1223
1416
|
/** @description One attempt per endpoint it was sent to. */
|
|
1224
1417
|
attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
|
|
1418
|
+
/** @description The replayed event (the same id as the original). */
|
|
1225
1419
|
event_id: string;
|
|
1226
1420
|
};
|
|
1227
1421
|
RotateWebhookSecretDto: {
|
|
@@ -1338,6 +1532,7 @@ interface components {
|
|
|
1338
1532
|
url?: string;
|
|
1339
1533
|
};
|
|
1340
1534
|
UpdateWebhookEndpointDto: {
|
|
1535
|
+
/** @description A new label; null clears it. */
|
|
1341
1536
|
description?: string | null;
|
|
1342
1537
|
/** @description Switch it on or off. Switching on also clears an automatic disable. */
|
|
1343
1538
|
enabled?: boolean;
|
|
@@ -1345,6 +1540,7 @@ interface components {
|
|
|
1345
1540
|
event_types?: ("entry.created" | "entry.approved" | "entry.rejected")[];
|
|
1346
1541
|
/**
|
|
1347
1542
|
* Format: uri
|
|
1543
|
+
* @description A new absolute https:// URL on a public host.
|
|
1348
1544
|
* @example https://api.acme.com/webhooks
|
|
1349
1545
|
*/
|
|
1350
1546
|
url?: string;
|
|
@@ -1394,7 +1590,7 @@ interface components {
|
|
|
1394
1590
|
waitlist_id: string;
|
|
1395
1591
|
};
|
|
1396
1592
|
/** @description Error codes this API returns (open set: a client must accept codes it does not know; new codes are not a breaking change). Each is documented at https://productcraft.co/docs/errors#<code>. */
|
|
1397
|
-
WaitlistErrorCode: ("BAD_REQUEST" | "VALIDATION_ERROR" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_ENTITY" | "PRECONDITION_REQUIRED" | "RATE_LIMITED" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "SERVICE_NOT_ENABLED" | "INVALID_CREDENTIALS" | "SESSION_REVOKED" | "MCP_NOT_PERMITTED" | "MCP_WORKSPACE_MISMATCH" | "PAK_NOT_PERMITTED" | "ACTIONS_NOT_GRANTABLE" | "IDEMPOTENCY_KEY_REUSE" | "IDEMPOTENCY_KEY_REQUIRED" | "WEBHOOK_ENDPOINT_LIMIT" | "WEBHOOK_ENDPOINT_NOT_FOUND" | "WEBHOOK_ENDPOINT_NOT_SUBSCRIBED" | "WEBHOOK_EVENT_NOT_FOUND" | "WEBHOOK_EVENT_TYPE_UNKNOWN" | "MAIL_UNREACHABLE" | "ORIGIN_NOT_ALLOWED" | "WAITLIST_NOT_FOUND" | "domain_not_verified_by_provider" | "from_domain_not_verified" | "no_default_sender") | string;
|
|
1593
|
+
WaitlistErrorCode: ("BAD_REQUEST" | "VALIDATION_ERROR" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_ALLOWED" | "NOT_ACCEPTABLE" | "REQUEST_TIMEOUT" | "CONFLICT" | "GONE" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_ENTITY" | "PRECONDITION_REQUIRED" | "RATE_LIMITED" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "SERVICE_NOT_ENABLED" | "INVALID_CREDENTIALS" | "SESSION_REVOKED" | "MCP_NOT_PERMITTED" | "MCP_WORKSPACE_MISMATCH" | "PAK_NOT_PERMITTED" | "ACTIONS_NOT_GRANTABLE" | "IDEMPOTENCY_KEY_REUSE" | "IDEMPOTENCY_KEY_REQUIRED" | "IDEMPOTENCY_IN_PROGRESS" | "WEBHOOK_ENDPOINT_LIMIT" | "WEBHOOK_ENDPOINT_NOT_FOUND" | "WEBHOOK_ENDPOINT_NOT_SUBSCRIBED" | "WEBHOOK_EVENT_NOT_FOUND" | "WEBHOOK_EVENT_TYPE_UNKNOWN" | "MAIL_UNREACHABLE" | "ORIGIN_NOT_ALLOWED" | "WAITLIST_NOT_FOUND" | "domain_not_verified_by_provider" | "from_domain_not_verified" | "no_default_sender") | string;
|
|
1398
1594
|
WaitlistListPaginationDto: {
|
|
1399
1595
|
has_more: boolean;
|
|
1400
1596
|
next_cursor: string | null;
|
|
@@ -1557,6 +1753,8 @@ interface components {
|
|
|
1557
1753
|
*/
|
|
1558
1754
|
window: "1d" | "7d" | "30d";
|
|
1559
1755
|
};
|
|
1756
|
+
/** @enum {string} */
|
|
1757
|
+
WebhookAttemptTrigger: "automatic" | "replay" | "test";
|
|
1560
1758
|
WebhookCreateResponseDto: {
|
|
1561
1759
|
/** @description Whether it receives events (`enabled` on the new routes). */
|
|
1562
1760
|
active: boolean;
|
|
@@ -1585,18 +1783,37 @@ interface components {
|
|
|
1585
1783
|
WebhookDeliveryAttemptDto: {
|
|
1586
1784
|
/** @description 1 for the first delivery; retries and replays count up. */
|
|
1587
1785
|
attempt_number: number;
|
|
1588
|
-
/**
|
|
1786
|
+
/**
|
|
1787
|
+
* Format: date-time
|
|
1788
|
+
* @description When the attempt was made.
|
|
1789
|
+
*/
|
|
1589
1790
|
attempted_at: string;
|
|
1590
|
-
/**
|
|
1791
|
+
/**
|
|
1792
|
+
* Format: uuid
|
|
1793
|
+
* @description The endpoint it was delivered to.
|
|
1794
|
+
*/
|
|
1591
1795
|
endpoint_id: string;
|
|
1592
|
-
/**
|
|
1796
|
+
/**
|
|
1797
|
+
* @description Why the attempt failed when no 2xx came back; null on success.
|
|
1798
|
+
* @example request timed out
|
|
1799
|
+
*/
|
|
1593
1800
|
error_message: string | null;
|
|
1594
|
-
/**
|
|
1801
|
+
/**
|
|
1802
|
+
* @description The event that was delivered.
|
|
1803
|
+
* @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
|
|
1804
|
+
*/
|
|
1595
1805
|
event_id: string;
|
|
1596
|
-
/**
|
|
1806
|
+
/**
|
|
1807
|
+
* @description The event's type.
|
|
1808
|
+
* @example user.created
|
|
1809
|
+
*/
|
|
1597
1810
|
event_type: string;
|
|
1598
|
-
/**
|
|
1811
|
+
/**
|
|
1812
|
+
* Format: uuid
|
|
1813
|
+
* @description The attempt's id.
|
|
1814
|
+
*/
|
|
1599
1815
|
id: string;
|
|
1816
|
+
/** @description Milliseconds until the response; null when none came back. */
|
|
1600
1817
|
latency_ms: number | null;
|
|
1601
1818
|
/** @description The first 1 KiB of the response body. */
|
|
1602
1819
|
response_body: string | null;
|
|
@@ -1604,11 +1821,8 @@ interface components {
|
|
|
1604
1821
|
status_code: number | null;
|
|
1605
1822
|
/** @description True for a 2xx response. */
|
|
1606
1823
|
succeeded: boolean;
|
|
1607
|
-
/**
|
|
1608
|
-
|
|
1609
|
-
* @enum {string}
|
|
1610
|
-
*/
|
|
1611
|
-
trigger: "automatic" | "replay" | "test";
|
|
1824
|
+
/** @description `automatic` (first delivery or a retry), `replay` or `test`. */
|
|
1825
|
+
trigger: components["schemas"]["WebhookAttemptTrigger"];
|
|
1612
1826
|
/**
|
|
1613
1827
|
* Format: uri
|
|
1614
1828
|
* @description Where it was sent.
|
|
@@ -1619,17 +1833,28 @@ interface components {
|
|
|
1619
1833
|
data: components["schemas"]["LegacyWebhookDeliveryAttemptDto"][];
|
|
1620
1834
|
pagination: components["schemas"]["PaginationDto"];
|
|
1621
1835
|
};
|
|
1836
|
+
/** @enum {string} */
|
|
1837
|
+
WebhookEndpointDisabledReason: "manual" | "failing";
|
|
1622
1838
|
WebhookEndpointDto: {
|
|
1623
1839
|
/** @description Failed automatic deliveries in a row; a success resets it. */
|
|
1624
1840
|
consecutive_failures: number;
|
|
1625
|
-
/**
|
|
1841
|
+
/**
|
|
1842
|
+
* Format: date-time
|
|
1843
|
+
* @description When the endpoint was created.
|
|
1844
|
+
*/
|
|
1626
1845
|
created_at: string;
|
|
1627
|
-
/**
|
|
1846
|
+
/**
|
|
1847
|
+
* @description A label for people; null when unset.
|
|
1848
|
+
* @example Production receiver
|
|
1849
|
+
*/
|
|
1628
1850
|
description: string | null;
|
|
1629
|
-
/**
|
|
1851
|
+
/**
|
|
1852
|
+
* Format: date-time
|
|
1853
|
+
* @description When it was switched off; null while enabled.
|
|
1854
|
+
*/
|
|
1630
1855
|
disabled_at: string | null;
|
|
1631
|
-
/** @
|
|
1632
|
-
disabled_reason: "
|
|
1856
|
+
/** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
|
|
1857
|
+
disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
|
|
1633
1858
|
/** @description The on/off switch (`PATCH … { enabled }`). */
|
|
1634
1859
|
enabled: boolean;
|
|
1635
1860
|
/**
|
|
@@ -1642,7 +1867,10 @@ interface components {
|
|
|
1642
1867
|
* @description Start of the current failure streak.
|
|
1643
1868
|
*/
|
|
1644
1869
|
first_failure_at: string | null;
|
|
1645
|
-
/**
|
|
1870
|
+
/**
|
|
1871
|
+
* Format: uuid
|
|
1872
|
+
* @description The endpoint's id.
|
|
1873
|
+
*/
|
|
1646
1874
|
id: string;
|
|
1647
1875
|
/** @description True for endpoints carried over from the product's previous webhook system: they also receive the old signature header until its sunset date. */
|
|
1648
1876
|
legacy_signature: boolean;
|
|
@@ -1665,30 +1893,42 @@ interface components {
|
|
|
1665
1893
|
* @example x9Q=
|
|
1666
1894
|
*/
|
|
1667
1895
|
signing_secret_hint: string;
|
|
1896
|
+
/** @description `enabled` receives events. `disabled` was switched off. `auto_disabled` was switched off after 20 failed deliveries in a row or 24 hours of failures; `PATCH { enabled: true }` turns it back on. */
|
|
1897
|
+
status: components["schemas"]["WebhookEndpointStatus"];
|
|
1668
1898
|
/**
|
|
1669
|
-
*
|
|
1670
|
-
* @
|
|
1899
|
+
* Format: date-time
|
|
1900
|
+
* @description When the endpoint last changed.
|
|
1671
1901
|
*/
|
|
1672
|
-
status: "enabled" | "disabled" | "auto_disabled";
|
|
1673
|
-
/** Format: date-time */
|
|
1674
1902
|
updated_at: string;
|
|
1675
1903
|
/**
|
|
1676
1904
|
* Format: uri
|
|
1905
|
+
* @description Where events are sent.
|
|
1677
1906
|
* @example https://api.acme.com/webhooks
|
|
1678
1907
|
*/
|
|
1679
1908
|
url: string;
|
|
1680
1909
|
};
|
|
1910
|
+
/** @enum {string} */
|
|
1911
|
+
WebhookEndpointStatus: "enabled" | "disabled" | "auto_disabled";
|
|
1681
1912
|
WebhookEndpointWithSecretDto: {
|
|
1682
1913
|
/** @description Failed automatic deliveries in a row; a success resets it. */
|
|
1683
1914
|
consecutive_failures: number;
|
|
1684
|
-
/**
|
|
1915
|
+
/**
|
|
1916
|
+
* Format: date-time
|
|
1917
|
+
* @description When the endpoint was created.
|
|
1918
|
+
*/
|
|
1685
1919
|
created_at: string;
|
|
1686
|
-
/**
|
|
1920
|
+
/**
|
|
1921
|
+
* @description A label for people; null when unset.
|
|
1922
|
+
* @example Production receiver
|
|
1923
|
+
*/
|
|
1687
1924
|
description: string | null;
|
|
1688
|
-
/**
|
|
1925
|
+
/**
|
|
1926
|
+
* Format: date-time
|
|
1927
|
+
* @description When it was switched off; null while enabled.
|
|
1928
|
+
*/
|
|
1689
1929
|
disabled_at: string | null;
|
|
1690
|
-
/** @
|
|
1691
|
-
disabled_reason: "
|
|
1930
|
+
/** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
|
|
1931
|
+
disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
|
|
1692
1932
|
/** @description The on/off switch (`PATCH … { enabled }`). */
|
|
1693
1933
|
enabled: boolean;
|
|
1694
1934
|
/**
|
|
@@ -1701,7 +1941,10 @@ interface components {
|
|
|
1701
1941
|
* @description Start of the current failure streak.
|
|
1702
1942
|
*/
|
|
1703
1943
|
first_failure_at: string | null;
|
|
1704
|
-
/**
|
|
1944
|
+
/**
|
|
1945
|
+
* Format: uuid
|
|
1946
|
+
* @description The endpoint's id.
|
|
1947
|
+
*/
|
|
1705
1948
|
id: string;
|
|
1706
1949
|
/** @description True for endpoints carried over from the product's previous webhook system: they also receive the old signature header until its sunset date. */
|
|
1707
1950
|
legacy_signature: boolean;
|
|
@@ -1729,31 +1972,101 @@ interface components {
|
|
|
1729
1972
|
* @example x9Q=
|
|
1730
1973
|
*/
|
|
1731
1974
|
signing_secret_hint: string;
|
|
1975
|
+
/** @description `enabled` receives events. `disabled` was switched off. `auto_disabled` was switched off after 20 failed deliveries in a row or 24 hours of failures; `PATCH { enabled: true }` turns it back on. */
|
|
1976
|
+
status: components["schemas"]["WebhookEndpointStatus"];
|
|
1732
1977
|
/**
|
|
1733
|
-
*
|
|
1734
|
-
* @
|
|
1978
|
+
* Format: date-time
|
|
1979
|
+
* @description When the endpoint last changed.
|
|
1735
1980
|
*/
|
|
1736
|
-
status: "enabled" | "disabled" | "auto_disabled";
|
|
1737
|
-
/** Format: date-time */
|
|
1738
1981
|
updated_at: string;
|
|
1739
1982
|
/**
|
|
1740
1983
|
* Format: uri
|
|
1984
|
+
* @description Where events are sent.
|
|
1741
1985
|
* @example https://api.acme.com/webhooks
|
|
1742
1986
|
*/
|
|
1743
1987
|
url: string;
|
|
1744
1988
|
};
|
|
1989
|
+
WebhookEntryDto: {
|
|
1990
|
+
/**
|
|
1991
|
+
* Format: date-time
|
|
1992
|
+
* @description When the entry was created.
|
|
1993
|
+
* @example 2026-10-17T10:00:00.000Z
|
|
1994
|
+
*/
|
|
1995
|
+
created_at: string;
|
|
1996
|
+
/**
|
|
1997
|
+
* Format: email
|
|
1998
|
+
* @description The email address that signed up.
|
|
1999
|
+
* @example ada@example.com
|
|
2000
|
+
*/
|
|
2001
|
+
email: string;
|
|
2002
|
+
/**
|
|
2003
|
+
* Format: uuid
|
|
2004
|
+
* @description The entry id.
|
|
2005
|
+
* @example 1d0b7828-0e1a-407b-8706-aeb7ff619088
|
|
2006
|
+
*/
|
|
2007
|
+
id: string;
|
|
2008
|
+
/**
|
|
2009
|
+
* @description True for an entry made with "Add test signup" (those send no webhooks unless asked).
|
|
2010
|
+
* @example false
|
|
2011
|
+
*/
|
|
2012
|
+
is_test: boolean;
|
|
2013
|
+
/**
|
|
2014
|
+
* @description The name given at signup.
|
|
2015
|
+
* @example Ada Lovelace
|
|
2016
|
+
*/
|
|
2017
|
+
name: string;
|
|
2018
|
+
/**
|
|
2019
|
+
* @description Place in the queue, 1 first.
|
|
2020
|
+
* @example 4
|
|
2021
|
+
*/
|
|
2022
|
+
position: number;
|
|
2023
|
+
/**
|
|
2024
|
+
* @description The code this entry shares to refer others.
|
|
2025
|
+
* @example 464QTHE0
|
|
2026
|
+
*/
|
|
2027
|
+
referral_code: string;
|
|
2028
|
+
/**
|
|
2029
|
+
* @description How many signups used this entry's referral code.
|
|
2030
|
+
* @example 0
|
|
2031
|
+
*/
|
|
2032
|
+
referral_count: number;
|
|
2033
|
+
/**
|
|
2034
|
+
* Format: uuid
|
|
2035
|
+
* @description The entry whose referral code this one signed up with; null when none.
|
|
2036
|
+
* @example null
|
|
2037
|
+
*/
|
|
2038
|
+
referred_by_entry_id: string | null;
|
|
2039
|
+
/**
|
|
2040
|
+
* @description Review status after this event: `pending`, `approved` or `rejected`.
|
|
2041
|
+
* @example pending
|
|
2042
|
+
*/
|
|
2043
|
+
status: components["schemas"]["EntryStatus"];
|
|
2044
|
+
/**
|
|
2045
|
+
* Format: date-time
|
|
2046
|
+
* @description When the entry last changed.
|
|
2047
|
+
* @example 2026-10-17T10:00:00.000Z
|
|
2048
|
+
*/
|
|
2049
|
+
updated_at: string;
|
|
2050
|
+
};
|
|
1745
2051
|
WebhookEventDeliveryDto: {
|
|
1746
2052
|
/** @description Number of the latest attempt; retries and replays count up. */
|
|
1747
2053
|
attempt_number: number;
|
|
1748
|
-
/**
|
|
2054
|
+
/**
|
|
2055
|
+
* Format: date-time
|
|
2056
|
+
* @description When the latest attempt was made.
|
|
2057
|
+
*/
|
|
1749
2058
|
attempted_at: string;
|
|
1750
|
-
/**
|
|
2059
|
+
/**
|
|
2060
|
+
* Format: uuid
|
|
2061
|
+
* @description The endpoint.
|
|
2062
|
+
*/
|
|
1751
2063
|
endpoint_id: string;
|
|
1752
2064
|
/**
|
|
1753
2065
|
* Format: date-time
|
|
1754
2066
|
* @description When the next automatic attempt is due; null when none is queued.
|
|
1755
2067
|
*/
|
|
1756
2068
|
next_attempt_at: string | null;
|
|
2069
|
+
/** @description HTTP status of the latest attempt; null when no response came back. */
|
|
1757
2070
|
status_code: number | null;
|
|
1758
2071
|
/** @description True when the latest attempt got a 2xx. */
|
|
1759
2072
|
succeeded: boolean;
|
|
@@ -1761,7 +2074,10 @@ interface components {
|
|
|
1761
2074
|
WebhookEventDetailDto: {
|
|
1762
2075
|
/** @description Every attempt, newest first. */
|
|
1763
2076
|
attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
|
|
1764
|
-
/**
|
|
2077
|
+
/**
|
|
2078
|
+
* Format: date-time
|
|
2079
|
+
* @description When the event happened.
|
|
2080
|
+
*/
|
|
1765
2081
|
created_at: string;
|
|
1766
2082
|
/** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
|
|
1767
2083
|
deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
|
|
@@ -1774,21 +2090,21 @@ interface components {
|
|
|
1774
2090
|
payload: {
|
|
1775
2091
|
[key: string]: unknown;
|
|
1776
2092
|
};
|
|
1777
|
-
/**
|
|
1778
|
-
|
|
1779
|
-
* @enum {string}
|
|
1780
|
-
*/
|
|
1781
|
-
status: "pending" | "delivered" | "failed" | "not_sent";
|
|
2093
|
+
/** @description `pending`: a delivery is queued. `failed`: the latest attempt to some endpoint failed and none is queued. `delivered`: every endpoint answered 2xx. `not_sent`: no endpoint subscribed. */
|
|
2094
|
+
status: components["schemas"]["WebhookEventStatus"];
|
|
1782
2095
|
/** @description Made by "Send test". */
|
|
1783
2096
|
test: boolean;
|
|
1784
2097
|
/**
|
|
2098
|
+
* @description The event type (one of this product's catalogue).
|
|
1785
2099
|
* @example entry.created
|
|
1786
|
-
* @enum {string}
|
|
1787
2100
|
*/
|
|
1788
|
-
type: "
|
|
2101
|
+
type: components["schemas"]["WebhookEventType"];
|
|
1789
2102
|
};
|
|
1790
2103
|
WebhookEventDto: {
|
|
1791
|
-
/**
|
|
2104
|
+
/**
|
|
2105
|
+
* Format: date-time
|
|
2106
|
+
* @description When the event happened.
|
|
2107
|
+
*/
|
|
1792
2108
|
created_at: string;
|
|
1793
2109
|
/** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
|
|
1794
2110
|
deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
|
|
@@ -1801,36 +2117,43 @@ interface components {
|
|
|
1801
2117
|
payload: {
|
|
1802
2118
|
[key: string]: unknown;
|
|
1803
2119
|
};
|
|
1804
|
-
/**
|
|
1805
|
-
|
|
1806
|
-
* @enum {string}
|
|
1807
|
-
*/
|
|
1808
|
-
status: "pending" | "delivered" | "failed" | "not_sent";
|
|
2120
|
+
/** @description `pending`: a delivery is queued. `failed`: the latest attempt to some endpoint failed and none is queued. `delivered`: every endpoint answered 2xx. `not_sent`: no endpoint subscribed. */
|
|
2121
|
+
status: components["schemas"]["WebhookEventStatus"];
|
|
1809
2122
|
/** @description Made by "Send test". */
|
|
1810
2123
|
test: boolean;
|
|
1811
2124
|
/**
|
|
2125
|
+
* @description The event type (one of this product's catalogue).
|
|
1812
2126
|
* @example entry.created
|
|
1813
|
-
* @enum {string}
|
|
1814
2127
|
*/
|
|
1815
|
-
type: "
|
|
2128
|
+
type: components["schemas"]["WebhookEventType"];
|
|
1816
2129
|
};
|
|
2130
|
+
/** @enum {string} */
|
|
2131
|
+
WebhookEventStatus: "pending" | "delivered" | "failed" | "not_sent";
|
|
2132
|
+
/**
|
|
2133
|
+
* @description Every event type this product sends; `x-webhooks` maps each to its payload schema. New types can be added, so treat it as open.
|
|
2134
|
+
* @enum {string}
|
|
2135
|
+
*/
|
|
2136
|
+
WebhookEventType: "entry.created" | "entry.approved" | "entry.rejected";
|
|
1817
2137
|
WebhookEventTypeDto: {
|
|
1818
2138
|
/**
|
|
1819
2139
|
* @description Group shown in the event picker.
|
|
1820
2140
|
* @example Users
|
|
1821
2141
|
*/
|
|
1822
2142
|
category: string;
|
|
1823
|
-
/**
|
|
2143
|
+
/**
|
|
2144
|
+
* @description When this event is sent.
|
|
2145
|
+
* @example A user signed up or was created by an admin.
|
|
2146
|
+
*/
|
|
1824
2147
|
description: string;
|
|
1825
2148
|
/** @description An example `data` object; "Send test" delivers exactly this. */
|
|
1826
2149
|
example: {
|
|
1827
2150
|
[key: string]: unknown;
|
|
1828
2151
|
};
|
|
1829
2152
|
/**
|
|
2153
|
+
* @description The event type (one of this product's catalogue).
|
|
1830
2154
|
* @example entry.created
|
|
1831
|
-
* @enum {string}
|
|
1832
2155
|
*/
|
|
1833
|
-
type: "
|
|
2156
|
+
type: components["schemas"]["WebhookEventType"];
|
|
1834
2157
|
};
|
|
1835
2158
|
WebhookListResponseDto: {
|
|
1836
2159
|
data: components["schemas"]["WebhookResponseDto"][];
|
|
@@ -2238,6 +2561,8 @@ interface operations {
|
|
|
2238
2561
|
/** @description Accepted by Mail and queued for delivery. */
|
|
2239
2562
|
202: {
|
|
2240
2563
|
headers: {
|
|
2564
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
2565
|
+
"Idempotent-Replay"?: "true";
|
|
2241
2566
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
2242
2567
|
[name: string]: unknown;
|
|
2243
2568
|
};
|
|
@@ -2285,9 +2610,11 @@ interface operations {
|
|
|
2285
2610
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
2286
2611
|
};
|
|
2287
2612
|
};
|
|
2288
|
-
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
2613
|
+
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
2289
2614
|
409: {
|
|
2290
2615
|
headers: {
|
|
2616
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
2617
|
+
"Retry-After"?: number;
|
|
2291
2618
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
2292
2619
|
[name: string]: unknown;
|
|
2293
2620
|
};
|
|
@@ -2387,6 +2714,8 @@ interface operations {
|
|
|
2387
2714
|
/** @description Waitlist created. */
|
|
2388
2715
|
201: {
|
|
2389
2716
|
headers: {
|
|
2717
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
2718
|
+
"Idempotent-Replay"?: "true";
|
|
2390
2719
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
2391
2720
|
[name: string]: unknown;
|
|
2392
2721
|
};
|
|
@@ -2414,9 +2743,11 @@ interface operations {
|
|
|
2414
2743
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
2415
2744
|
};
|
|
2416
2745
|
};
|
|
2417
|
-
/** @description Slug already taken in this workspace. */
|
|
2746
|
+
/** @description Slug already taken in this workspace. Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
2418
2747
|
409: {
|
|
2419
2748
|
headers: {
|
|
2749
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
2750
|
+
"Retry-After"?: number;
|
|
2420
2751
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
2421
2752
|
[name: string]: unknown;
|
|
2422
2753
|
};
|
|
@@ -3114,6 +3445,8 @@ interface operations {
|
|
|
3114
3445
|
/** @description Test entry created. */
|
|
3115
3446
|
201: {
|
|
3116
3447
|
headers: {
|
|
3448
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
3449
|
+
"Idempotent-Replay"?: "true";
|
|
3117
3450
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3118
3451
|
[name: string]: unknown;
|
|
3119
3452
|
};
|
|
@@ -3151,9 +3484,11 @@ interface operations {
|
|
|
3151
3484
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3152
3485
|
};
|
|
3153
3486
|
};
|
|
3154
|
-
/** @description Idempotency-Key reused with a different body. */
|
|
3487
|
+
/** @description Idempotency-Key reused with a different body. Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3155
3488
|
409: {
|
|
3156
3489
|
headers: {
|
|
3490
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
3491
|
+
"Retry-After"?: number;
|
|
3157
3492
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3158
3493
|
[name: string]: unknown;
|
|
3159
3494
|
};
|
|
@@ -3401,6 +3736,8 @@ interface operations {
|
|
|
3401
3736
|
/** @description Webhook created. Includes plaintext `signing_secret` exactly once. */
|
|
3402
3737
|
201: {
|
|
3403
3738
|
headers: {
|
|
3739
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
3740
|
+
"Idempotent-Replay"?: "true";
|
|
3404
3741
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3405
3742
|
[name: string]: unknown;
|
|
3406
3743
|
};
|
|
@@ -3408,9 +3745,11 @@ interface operations {
|
|
|
3408
3745
|
"application/json": components["schemas"]["WebhookCreateResponseDto"];
|
|
3409
3746
|
};
|
|
3410
3747
|
};
|
|
3411
|
-
/** @description The workspace already has 10 webhooks. */
|
|
3748
|
+
/** @description The workspace already has 10 webhooks. Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3412
3749
|
409: {
|
|
3413
3750
|
headers: {
|
|
3751
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
3752
|
+
"Retry-After"?: number;
|
|
3414
3753
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3415
3754
|
[name: string]: unknown;
|
|
3416
3755
|
};
|
|
@@ -3492,6 +3831,8 @@ interface operations {
|
|
|
3492
3831
|
responses: {
|
|
3493
3832
|
201: {
|
|
3494
3833
|
headers: {
|
|
3834
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
3835
|
+
"Idempotent-Replay"?: "true";
|
|
3495
3836
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3496
3837
|
[name: string]: unknown;
|
|
3497
3838
|
};
|
|
@@ -3529,9 +3870,11 @@ interface operations {
|
|
|
3529
3870
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3530
3871
|
};
|
|
3531
3872
|
};
|
|
3532
|
-
/** @description Already 10 endpoints (`WEBHOOK_ENDPOINT_LIMIT`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
3873
|
+
/** @description Already 10 endpoints (`WEBHOOK_ENDPOINT_LIMIT`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3533
3874
|
409: {
|
|
3534
3875
|
headers: {
|
|
3876
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
3877
|
+
"Retry-After"?: number;
|
|
3535
3878
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3536
3879
|
[name: string]: unknown;
|
|
3537
3880
|
};
|
|
@@ -3697,6 +4040,8 @@ interface operations {
|
|
|
3697
4040
|
responses: {
|
|
3698
4041
|
200: {
|
|
3699
4042
|
headers: {
|
|
4043
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
4044
|
+
"Idempotent-Replay"?: "true";
|
|
3700
4045
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3701
4046
|
[name: string]: unknown;
|
|
3702
4047
|
};
|
|
@@ -3744,9 +4089,11 @@ interface operations {
|
|
|
3744
4089
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3745
4090
|
};
|
|
3746
4091
|
};
|
|
3747
|
-
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
4092
|
+
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3748
4093
|
409: {
|
|
3749
4094
|
headers: {
|
|
4095
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
4096
|
+
"Retry-After"?: number;
|
|
3750
4097
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3751
4098
|
[name: string]: unknown;
|
|
3752
4099
|
};
|
|
@@ -3787,6 +4134,8 @@ interface operations {
|
|
|
3787
4134
|
responses: {
|
|
3788
4135
|
200: {
|
|
3789
4136
|
headers: {
|
|
4137
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
4138
|
+
"Idempotent-Replay"?: "true";
|
|
3790
4139
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3791
4140
|
[name: string]: unknown;
|
|
3792
4141
|
};
|
|
@@ -3834,9 +4183,11 @@ interface operations {
|
|
|
3834
4183
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3835
4184
|
};
|
|
3836
4185
|
};
|
|
3837
|
-
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
4186
|
+
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3838
4187
|
409: {
|
|
3839
4188
|
headers: {
|
|
4189
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
4190
|
+
"Retry-After"?: number;
|
|
3840
4191
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3841
4192
|
[name: string]: unknown;
|
|
3842
4193
|
};
|
|
@@ -3868,6 +4219,8 @@ interface operations {
|
|
|
3868
4219
|
/** @description The attempt, successful or not. */
|
|
3869
4220
|
200: {
|
|
3870
4221
|
headers: {
|
|
4222
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
4223
|
+
"Idempotent-Replay"?: "true";
|
|
3871
4224
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3872
4225
|
[name: string]: unknown;
|
|
3873
4226
|
};
|
|
@@ -3915,9 +4268,11 @@ interface operations {
|
|
|
3915
4268
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3916
4269
|
};
|
|
3917
4270
|
};
|
|
3918
|
-
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
4271
|
+
/** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
3919
4272
|
409: {
|
|
3920
4273
|
headers: {
|
|
4274
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
4275
|
+
"Retry-After"?: number;
|
|
3921
4276
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
3922
4277
|
[name: string]: unknown;
|
|
3923
4278
|
};
|
|
@@ -3976,11 +4331,13 @@ interface operations {
|
|
|
3976
4331
|
type?: ("entry.created" | "entry.approved" | "entry.rejected")[];
|
|
3977
4332
|
/** @description Only events sent (or queued) to this endpoint. */
|
|
3978
4333
|
endpoint_id?: string;
|
|
3979
|
-
|
|
4334
|
+
/** @description Only events in this delivery status. */
|
|
4335
|
+
status?: components["schemas"]["WebhookEventStatus"];
|
|
3980
4336
|
/** @description Only events created at or after this instant. */
|
|
3981
4337
|
created_after?: string;
|
|
3982
4338
|
/** @description Only events created before this instant. */
|
|
3983
4339
|
created_before?: string;
|
|
4340
|
+
/** @description Page size. */
|
|
3984
4341
|
limit?: number;
|
|
3985
4342
|
/** @description The previous page's `pagination.next_cursor`. */
|
|
3986
4343
|
cursor?: string;
|
|
@@ -4119,6 +4476,8 @@ interface operations {
|
|
|
4119
4476
|
responses: {
|
|
4120
4477
|
200: {
|
|
4121
4478
|
headers: {
|
|
4479
|
+
/** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
|
|
4480
|
+
"Idempotent-Replay"?: "true";
|
|
4122
4481
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
4123
4482
|
[name: string]: unknown;
|
|
4124
4483
|
};
|
|
@@ -4166,9 +4525,11 @@ interface operations {
|
|
|
4166
4525
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4167
4526
|
};
|
|
4168
4527
|
};
|
|
4169
|
-
/** @description `endpoint_id` is switched off or does not receive this event type (`WEBHOOK_ENDPOINT_NOT_SUBSCRIBED`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
|
|
4528
|
+
/** @description `endpoint_id` is switched off or does not receive this event type (`WEBHOOK_ENDPOINT_NOT_SUBSCRIBED`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). Idempotency: `IDEMPOTENCY_KEY_REUSE` when this `Idempotency-Key` was already used with a different body or route; `IDEMPOTENCY_IN_PROGRESS` while another request with the same key is still running (retry after `Retry-After` seconds, with the same key). */
|
|
4170
4529
|
409: {
|
|
4171
4530
|
headers: {
|
|
4531
|
+
/** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
|
|
4532
|
+
"Retry-After"?: number;
|
|
4172
4533
|
"X-Request-Id": components["headers"]["RequestId"];
|
|
4173
4534
|
[name: string]: unknown;
|
|
4174
4535
|
};
|