@productcraft/trawl 0.2.2 → 0.2.3

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/index.d.cts CHANGED
@@ -435,7 +435,10 @@ interface components {
435
435
  url: string;
436
436
  };
437
437
  CreateWebhookEndpointDto: {
438
- /** @example Production receiver */
438
+ /**
439
+ * @description A label for people.
440
+ * @example Production receiver
441
+ */
439
442
  description?: string | null;
440
443
  /**
441
444
  * @description Create it switched off.
@@ -458,14 +461,20 @@ interface components {
458
461
  url: string;
459
462
  };
460
463
  CreditLedgerEntryDto: {
461
- /** Format: date-time */
464
+ /**
465
+ * Format: date-time
466
+ * @description When the entry was recorded.
467
+ */
462
468
  created_at: string;
463
469
  /**
464
470
  * @description Steps added (positive: allowance, top-up, grant) or used (negative: a job).
465
471
  * @example -12
466
472
  */
467
473
  delta_steps: number;
468
- /** Format: uuid */
474
+ /**
475
+ * Format: uuid
476
+ * @description The entry's id.
477
+ */
469
478
  id: string;
470
479
  /**
471
480
  * Format: uuid
@@ -555,54 +564,100 @@ interface components {
555
564
  status_code: number;
556
565
  };
557
566
  JobListPaginationDto: {
567
+ /** @description Whether another page follows. */
558
568
  has_more: boolean;
569
+ /** @description Pass as `cursor` to get the next page; null on the last page. */
559
570
  next_cursor: string | null;
560
571
  };
561
572
  JobListResponseDto: {
573
+ /** @description The jobs, newest first. */
562
574
  data: components["schemas"]["JobResponseDto"][];
575
+ /** @description The cursor for the next page. */
563
576
  pagination: components["schemas"]["JobListPaginationDto"];
564
577
  };
565
578
  JobResponseDto: {
579
+ /** @description How many times a worker has picked the job up. */
566
580
  attempts: number;
581
+ /**
582
+ * Format: date-time
583
+ * @description When it ended; null until then.
584
+ */
567
585
  completed_at: string | null;
586
+ /**
587
+ * Format: date-time
588
+ * @description When the job was created.
589
+ */
568
590
  created_at: string;
591
+ /** @description Natural-language description of what to extract. */
569
592
  description: string;
593
+ /**
594
+ * Format: date-time
595
+ * @description When the job was queued.
596
+ */
570
597
  enqueued_at: string;
598
+ /** @description Why the job failed; null unless `status` is `failed`. */
571
599
  error: string | null;
600
+ /**
601
+ * Format: uuid
602
+ * @description The job's id.
603
+ */
572
604
  id: string;
573
605
  /** @description The JSON Schema the job was created with. */
574
606
  json_schema: {
575
607
  [key: string]: unknown;
576
608
  };
609
+ /** @description Maximum number of agent steps (one LLM call each) before the job stops. */
577
610
  max_steps: number;
611
+ /** @description Model tier the worker uses (e.g. `standard`, `pro`). */
578
612
  model_tier: string;
579
613
  /** @description The extracted data, shaped by `json_schema`. Null until the job succeeds. */
580
614
  result: {
581
615
  [key: string]: unknown;
582
616
  } | null;
617
+ /**
618
+ * Format: date-time
619
+ * @description When a worker started it; null while queued.
620
+ */
583
621
  started_at: string | null;
584
- /** @enum {string} */
585
- status: "queued" | "running" | "succeeded" | "failed" | "cancelled";
622
+ /** @description `queued` until a worker picks it up, then `running`; it ends `succeeded` (the result is in `result`), `failed` (see `error`) or `cancelled`. */
623
+ status: components["schemas"]["JobStatus"];
624
+ /** @description Seed URLs the worker starts from; null when none were given. */
586
625
  suggested_urls: string[] | null;
626
+ /** @description Wall-clock timeout for the job, in seconds. */
587
627
  timeout_s: number;
628
+ /**
629
+ * Format: uuid
630
+ * @description The webhook endpoint named at creation to notify when the job ends; null when none.
631
+ */
588
632
  webhook_id: string | null;
633
+ /**
634
+ * Format: uuid
635
+ * @description The workspace that owns the job.
636
+ */
589
637
  workspace_id: string;
590
638
  };
639
+ /** @enum {string} */
640
+ JobStatus: "queued" | "running" | "succeeded" | "failed" | "cancelled";
591
641
  ListWebhookEndpointsResponseDto: {
642
+ /** @description The endpoints, newest first. */
592
643
  data: components["schemas"]["WebhookEndpointDto"][];
593
644
  /** @description Always one page (an endpoint limit applies). */
594
645
  pagination: components["schemas"]["WebhookPaginationDto"];
595
646
  };
596
647
  ListWebhookEventTypesResponseDto: {
648
+ /** @description Every event type this product sends. */
597
649
  data: components["schemas"]["WebhookEventTypeDto"][];
598
650
  };
599
651
  ListWebhookEventsResponseDto: {
652
+ /** @description The events, newest first. */
600
653
  data: components["schemas"]["WebhookEventDto"][];
654
+ /** @description The cursor for the next page. */
601
655
  pagination: components["schemas"]["WebhookPaginationDto"];
602
656
  };
603
657
  ReplayWebhookEventResponseDto: {
604
658
  /** @description One attempt per endpoint it was sent to. */
605
659
  attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
660
+ /** @description The replayed event (the same id as the original). */
606
661
  event_id: string;
607
662
  };
608
663
  RotateWebhookSecretDto: {
@@ -620,8 +675,12 @@ interface components {
620
675
  */
621
676
  event_type: "job.succeeded" | "job.failed" | "credits.low";
622
677
  };
678
+ /** @enum {string} */
679
+ StatsGranularity: "day";
680
+ /** @enum {string} */
681
+ StatsWindow: "1d" | "7d" | "30d";
623
682
  /** @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>. */
624
- TrawlErrorCode: ("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" | "TOO_MANY_ACTIVE_JOBS" | "TRAWL_CREDITS_EXHAUSTED") | string;
683
+ TrawlErrorCode: ("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" | "TOO_MANY_ACTIVE_JOBS" | "TRAWL_CREDITS_EXHAUSTED") | string;
625
684
  TrawlStatsInWindowDto: {
626
685
  /**
627
686
  * @description Of those, jobs that failed.
@@ -644,19 +703,19 @@ interface components {
644
703
  */
645
704
  succeeded: number;
646
705
  };
706
+ /** @enum {string} */
707
+ TrawlStatsMetric: "jobs";
647
708
  TrawlStatsSeriesDto: {
648
709
  /**
649
710
  * @description Bucket width.
650
711
  * @example day
651
- * @enum {string}
652
712
  */
653
- granularity: "day";
713
+ granularity: components["schemas"]["StatsGranularity"];
654
714
  /**
655
715
  * @description Jobs created per UTC day in the workspace, in any status.
656
716
  * @example jobs
657
- * @enum {string}
658
717
  */
659
- metric: "jobs";
718
+ metric: components["schemas"]["TrawlStatsMetric"];
660
719
  /** @description Dense and zero-filled: one point per UTC day in the window, oldest first, ending today. */
661
720
  points: components["schemas"]["TrawlStatsSeriesPointDto"][];
662
721
  };
@@ -707,9 +766,8 @@ interface components {
707
766
  /**
708
767
  * @description Window the counts cover.
709
768
  * @example 30d
710
- * @enum {string}
711
769
  */
712
- window: "1d" | "7d" | "30d";
770
+ window: components["schemas"]["StatsWindow"];
713
771
  };
714
772
  UpdateWebhookDto: {
715
773
  /** @description Pause/resume the webhook. Setting active=true clears auto-disable. */
@@ -718,6 +776,7 @@ interface components {
718
776
  url?: string;
719
777
  };
720
778
  UpdateWebhookEndpointDto: {
779
+ /** @description A new label; null clears it. */
721
780
  description?: string | null;
722
781
  /** @description Switch it on or off. Switching on also clears an automatic disable. */
723
782
  enabled?: boolean;
@@ -725,10 +784,13 @@ interface components {
725
784
  event_types?: ("job.succeeded" | "job.failed" | "credits.low")[];
726
785
  /**
727
786
  * Format: uri
787
+ * @description A new absolute https:// URL on a public host.
728
788
  * @example https://api.acme.com/webhooks
729
789
  */
730
790
  url?: string;
731
791
  };
792
+ /** @enum {string} */
793
+ WebhookAttemptTrigger: "automatic" | "replay" | "test";
732
794
  WebhookCreateResponseDto: {
733
795
  /** @description Whether it receives events (`enabled` on the new routes). */
734
796
  active: boolean;
@@ -763,18 +825,37 @@ interface components {
763
825
  WebhookDeliveryAttemptDto: {
764
826
  /** @description 1 for the first delivery; retries and replays count up. */
765
827
  attempt_number: number;
766
- /** Format: date-time */
828
+ /**
829
+ * Format: date-time
830
+ * @description When the attempt was made.
831
+ */
767
832
  attempted_at: string;
768
- /** Format: uuid */
833
+ /**
834
+ * Format: uuid
835
+ * @description The endpoint it was delivered to.
836
+ */
769
837
  endpoint_id: string;
770
- /** @example request timed out */
838
+ /**
839
+ * @description Why the attempt failed when no 2xx came back; null on success.
840
+ * @example request timed out
841
+ */
771
842
  error_message: string | null;
772
- /** @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f */
843
+ /**
844
+ * @description The event that was delivered.
845
+ * @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
846
+ */
773
847
  event_id: string;
774
- /** @example user.created */
848
+ /**
849
+ * @description The event's type.
850
+ * @example user.created
851
+ */
775
852
  event_type: string;
776
- /** Format: uuid */
853
+ /**
854
+ * Format: uuid
855
+ * @description The attempt's id.
856
+ */
777
857
  id: string;
858
+ /** @description Milliseconds until the response; null when none came back. */
778
859
  latency_ms: number | null;
779
860
  /** @description The first 1 KiB of the response body. */
780
861
  response_body: string | null;
@@ -782,11 +863,8 @@ interface components {
782
863
  status_code: number | null;
783
864
  /** @description True for a 2xx response. */
784
865
  succeeded: boolean;
785
- /**
786
- * @description `automatic` (first delivery or a retry), `replay` or `test`.
787
- * @enum {string}
788
- */
789
- trigger: "automatic" | "replay" | "test";
866
+ /** @description `automatic` (first delivery or a retry), `replay` or `test`. */
867
+ trigger: components["schemas"]["WebhookAttemptTrigger"];
790
868
  /**
791
869
  * Format: uri
792
870
  * @description Where it was sent.
@@ -818,17 +896,28 @@ interface components {
818
896
  /** Format: uuid */
819
897
  webhook_id: string;
820
898
  };
899
+ /** @enum {string} */
900
+ WebhookEndpointDisabledReason: "manual" | "failing";
821
901
  WebhookEndpointDto: {
822
902
  /** @description Failed automatic deliveries in a row; a success resets it. */
823
903
  consecutive_failures: number;
824
- /** Format: date-time */
904
+ /**
905
+ * Format: date-time
906
+ * @description When the endpoint was created.
907
+ */
825
908
  created_at: string;
826
- /** @example Production receiver */
909
+ /**
910
+ * @description A label for people; null when unset.
911
+ * @example Production receiver
912
+ */
827
913
  description: string | null;
828
- /** Format: date-time */
914
+ /**
915
+ * Format: date-time
916
+ * @description When it was switched off; null while enabled.
917
+ */
829
918
  disabled_at: string | null;
830
- /** @enum {string|null} */
831
- disabled_reason: "manual" | "failing" | null;
919
+ /** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
920
+ disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
832
921
  /** @description The on/off switch (`PATCH … { enabled }`). */
833
922
  enabled: boolean;
834
923
  /**
@@ -841,7 +930,10 @@ interface components {
841
930
  * @description Start of the current failure streak.
842
931
  */
843
932
  first_failure_at: string | null;
844
- /** Format: uuid */
933
+ /**
934
+ * Format: uuid
935
+ * @description The endpoint's id.
936
+ */
845
937
  id: string;
846
938
  /** @description True for endpoints carried over from the product's previous webhook system: they also receive the old signature header until its sunset date. */
847
939
  legacy_signature: boolean;
@@ -864,30 +956,42 @@ interface components {
864
956
  * @example x9Q=
865
957
  */
866
958
  signing_secret_hint: string;
959
+ /** @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. */
960
+ status: components["schemas"]["WebhookEndpointStatus"];
867
961
  /**
868
- * @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.
869
- * @enum {string}
962
+ * Format: date-time
963
+ * @description When the endpoint last changed.
870
964
  */
871
- status: "enabled" | "disabled" | "auto_disabled";
872
- /** Format: date-time */
873
965
  updated_at: string;
874
966
  /**
875
967
  * Format: uri
968
+ * @description Where events are sent.
876
969
  * @example https://api.acme.com/webhooks
877
970
  */
878
971
  url: string;
879
972
  };
973
+ /** @enum {string} */
974
+ WebhookEndpointStatus: "enabled" | "disabled" | "auto_disabled";
880
975
  WebhookEndpointWithSecretDto: {
881
976
  /** @description Failed automatic deliveries in a row; a success resets it. */
882
977
  consecutive_failures: number;
883
- /** Format: date-time */
978
+ /**
979
+ * Format: date-time
980
+ * @description When the endpoint was created.
981
+ */
884
982
  created_at: string;
885
- /** @example Production receiver */
983
+ /**
984
+ * @description A label for people; null when unset.
985
+ * @example Production receiver
986
+ */
886
987
  description: string | null;
887
- /** Format: date-time */
988
+ /**
989
+ * Format: date-time
990
+ * @description When it was switched off; null while enabled.
991
+ */
888
992
  disabled_at: string | null;
889
- /** @enum {string|null} */
890
- disabled_reason: "manual" | "failing" | null;
993
+ /** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
994
+ disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
891
995
  /** @description The on/off switch (`PATCH … { enabled }`). */
892
996
  enabled: boolean;
893
997
  /**
@@ -900,7 +1004,10 @@ interface components {
900
1004
  * @description Start of the current failure streak.
901
1005
  */
902
1006
  first_failure_at: string | null;
903
- /** Format: uuid */
1007
+ /**
1008
+ * Format: uuid
1009
+ * @description The endpoint's id.
1010
+ */
904
1011
  id: string;
905
1012
  /** @description True for endpoints carried over from the product's previous webhook system: they also receive the old signature header until its sunset date. */
906
1013
  legacy_signature: boolean;
@@ -928,15 +1035,16 @@ interface components {
928
1035
  * @example x9Q=
929
1036
  */
930
1037
  signing_secret_hint: string;
1038
+ /** @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. */
1039
+ status: components["schemas"]["WebhookEndpointStatus"];
931
1040
  /**
932
- * @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.
933
- * @enum {string}
1041
+ * Format: date-time
1042
+ * @description When the endpoint last changed.
934
1043
  */
935
- status: "enabled" | "disabled" | "auto_disabled";
936
- /** Format: date-time */
937
1044
  updated_at: string;
938
1045
  /**
939
1046
  * Format: uri
1047
+ * @description Where events are sent.
940
1048
  * @example https://api.acme.com/webhooks
941
1049
  */
942
1050
  url: string;
@@ -944,15 +1052,22 @@ interface components {
944
1052
  WebhookEventDeliveryDto: {
945
1053
  /** @description Number of the latest attempt; retries and replays count up. */
946
1054
  attempt_number: number;
947
- /** Format: date-time */
1055
+ /**
1056
+ * Format: date-time
1057
+ * @description When the latest attempt was made.
1058
+ */
948
1059
  attempted_at: string;
949
- /** Format: uuid */
1060
+ /**
1061
+ * Format: uuid
1062
+ * @description The endpoint.
1063
+ */
950
1064
  endpoint_id: string;
951
1065
  /**
952
1066
  * Format: date-time
953
1067
  * @description When the next automatic attempt is due; null when none is queued.
954
1068
  */
955
1069
  next_attempt_at: string | null;
1070
+ /** @description HTTP status of the latest attempt; null when no response came back. */
956
1071
  status_code: number | null;
957
1072
  /** @description True when the latest attempt got a 2xx. */
958
1073
  succeeded: boolean;
@@ -960,7 +1075,10 @@ interface components {
960
1075
  WebhookEventDetailDto: {
961
1076
  /** @description Every attempt, newest first. */
962
1077
  attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
963
- /** Format: date-time */
1078
+ /**
1079
+ * Format: date-time
1080
+ * @description When the event happened.
1081
+ */
964
1082
  created_at: string;
965
1083
  /** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
966
1084
  deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
@@ -973,21 +1091,21 @@ interface components {
973
1091
  payload: {
974
1092
  [key: string]: unknown;
975
1093
  };
976
- /**
977
- * @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.
978
- * @enum {string}
979
- */
980
- status: "pending" | "delivered" | "failed" | "not_sent";
1094
+ /** @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. */
1095
+ status: components["schemas"]["WebhookEventStatus"];
981
1096
  /** @description Made by "Send test". */
982
1097
  test: boolean;
983
1098
  /**
1099
+ * @description The event type (one of this product's catalogue).
984
1100
  * @example job.succeeded
985
- * @enum {string}
986
1101
  */
987
- type: "job.succeeded" | "job.failed" | "credits.low";
1102
+ type: components["schemas"]["WebhookEventType"];
988
1103
  };
989
1104
  WebhookEventDto: {
990
- /** Format: date-time */
1105
+ /**
1106
+ * Format: date-time
1107
+ * @description When the event happened.
1108
+ */
991
1109
  created_at: string;
992
1110
  /** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
993
1111
  deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
@@ -1000,36 +1118,40 @@ interface components {
1000
1118
  payload: {
1001
1119
  [key: string]: unknown;
1002
1120
  };
1003
- /**
1004
- * @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.
1005
- * @enum {string}
1006
- */
1007
- status: "pending" | "delivered" | "failed" | "not_sent";
1121
+ /** @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. */
1122
+ status: components["schemas"]["WebhookEventStatus"];
1008
1123
  /** @description Made by "Send test". */
1009
1124
  test: boolean;
1010
1125
  /**
1126
+ * @description The event type (one of this product's catalogue).
1011
1127
  * @example job.succeeded
1012
- * @enum {string}
1013
1128
  */
1014
- type: "job.succeeded" | "job.failed" | "credits.low";
1129
+ type: components["schemas"]["WebhookEventType"];
1015
1130
  };
1131
+ /** @enum {string} */
1132
+ WebhookEventStatus: "pending" | "delivered" | "failed" | "not_sent";
1133
+ /** @enum {string} */
1134
+ WebhookEventType: "job.succeeded" | "job.failed" | "credits.low";
1016
1135
  WebhookEventTypeDto: {
1017
1136
  /**
1018
1137
  * @description Group shown in the event picker.
1019
1138
  * @example Users
1020
1139
  */
1021
1140
  category: string;
1022
- /** @example A user signed up or was created by an admin. */
1141
+ /**
1142
+ * @description When this event is sent.
1143
+ * @example A user signed up or was created by an admin.
1144
+ */
1023
1145
  description: string;
1024
1146
  /** @description An example `data` object; "Send test" delivers exactly this. */
1025
1147
  example: {
1026
1148
  [key: string]: unknown;
1027
1149
  };
1028
1150
  /**
1151
+ * @description The event type (one of this product's catalogue).
1029
1152
  * @example job.succeeded
1030
- * @enum {string}
1031
1153
  */
1032
- type: "job.succeeded" | "job.failed" | "credits.low";
1154
+ type: components["schemas"]["WebhookEventType"];
1033
1155
  };
1034
1156
  WebhookListPaginationDto: {
1035
1157
  has_more: boolean;
@@ -1091,6 +1213,24 @@ interface components {
1091
1213
  headers: {
1092
1214
  /** @description The request's id: the inbound `X-Request-Id` when it is 1 to 128 characters of `A-Z a-z 0-9 . _ : -`, otherwise a fresh `req_...` id. Error bodies repeat it as `request_id`. Quote it when contacting support. */
1093
1215
  RequestId: string;
1216
+ /** @description Seconds to wait before retrying. Sent on every 429. */
1217
+ "Retry-After": number;
1218
+ /** @description Seconds to wait, when the per-minute IP limit tripped. */
1219
+ "Retry-After-long": number;
1220
+ /** @description Seconds to wait, when the per-second IP limit tripped. */
1221
+ "Retry-After-short": number;
1222
+ /** @description Requests allowed per minute from this client IP (600). */
1223
+ "X-RateLimit-Limit-long": number;
1224
+ /** @description Requests allowed per second from this client IP (20). */
1225
+ "X-RateLimit-Limit-short": number;
1226
+ /** @description Requests left in the current one-minute window. */
1227
+ "X-RateLimit-Remaining-long": number;
1228
+ /** @description Requests left in the current one-second window. */
1229
+ "X-RateLimit-Remaining-short": number;
1230
+ /** @description Seconds until the one-minute window resets. */
1231
+ "X-RateLimit-Reset-long": number;
1232
+ /** @description Seconds until the one-second window resets. */
1233
+ "X-RateLimit-Reset-short": number;
1094
1234
  };
1095
1235
  pathItems: never;
1096
1236
  }
@@ -1103,6 +1243,7 @@ interface operations {
1103
1243
  };
1104
1244
  header?: never;
1105
1245
  path: {
1246
+ /** @description Id of the workspace. */
1106
1247
  workspace_id: string;
1107
1248
  };
1108
1249
  cookie?: never;
@@ -1112,6 +1253,12 @@ interface operations {
1112
1253
  /** @description Balance, low-balance state and recent entries. */
1113
1254
  200: {
1114
1255
  headers: {
1256
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1257
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1258
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1259
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1260
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1261
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1115
1262
  "X-Request-Id": components["headers"]["RequestId"];
1116
1263
  [name: string]: unknown;
1117
1264
  };
@@ -1139,19 +1286,34 @@ interface operations {
1139
1286
  "application/json": components["schemas"]["ErrorResponseDto"];
1140
1287
  };
1141
1288
  };
1289
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1290
+ 429: {
1291
+ headers: {
1292
+ "Retry-After": components["headers"]["Retry-After"];
1293
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1294
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1295
+ "X-Request-Id": components["headers"]["RequestId"];
1296
+ [name: string]: unknown;
1297
+ };
1298
+ content: {
1299
+ "application/json": components["schemas"]["ErrorResponseDto"];
1300
+ };
1301
+ };
1142
1302
  };
1143
1303
  };
1144
1304
  JobController_list: {
1145
1305
  parameters: {
1146
1306
  query?: {
1147
1307
  /** @description Filter by job status. */
1148
- status?: "queued" | "running" | "succeeded" | "failed" | "cancelled";
1308
+ status?: components["schemas"]["JobStatus"];
1149
1309
  /** @description Opaque cursor for pagination. */
1150
1310
  cursor?: string;
1311
+ /** @description Page size. */
1151
1312
  limit?: number;
1152
1313
  };
1153
1314
  header?: never;
1154
1315
  path: {
1316
+ /** @description Id of the workspace. */
1155
1317
  workspace_id: string;
1156
1318
  };
1157
1319
  cookie?: never;
@@ -1161,6 +1323,12 @@ interface operations {
1161
1323
  /** @description Page of jobs with pagination cursor. */
1162
1324
  200: {
1163
1325
  headers: {
1326
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1327
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1328
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1329
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1330
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1331
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1164
1332
  "X-Request-Id": components["headers"]["RequestId"];
1165
1333
  [name: string]: unknown;
1166
1334
  };
@@ -1178,6 +1346,19 @@ interface operations {
1178
1346
  "application/json": components["schemas"]["ErrorResponseDto"];
1179
1347
  };
1180
1348
  };
1349
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1350
+ 429: {
1351
+ headers: {
1352
+ "Retry-After": components["headers"]["Retry-After"];
1353
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1354
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1355
+ "X-Request-Id": components["headers"]["RequestId"];
1356
+ [name: string]: unknown;
1357
+ };
1358
+ content: {
1359
+ "application/json": components["schemas"]["ErrorResponseDto"];
1360
+ };
1361
+ };
1181
1362
  };
1182
1363
  };
1183
1364
  JobController_create: {
@@ -1188,6 +1369,7 @@ interface operations {
1188
1369
  "Idempotency-Key"?: string;
1189
1370
  };
1190
1371
  path: {
1372
+ /** @description Id of the workspace. */
1191
1373
  workspace_id: string;
1192
1374
  };
1193
1375
  cookie?: never;
@@ -1201,6 +1383,14 @@ interface operations {
1201
1383
  /** @description Job created and queued. */
1202
1384
  201: {
1203
1385
  headers: {
1386
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
1387
+ "Idempotent-Replay"?: "true";
1388
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1389
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1390
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1391
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1392
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1393
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1204
1394
  "X-Request-Id": components["headers"]["RequestId"];
1205
1395
  [name: string]: unknown;
1206
1396
  };
@@ -1228,9 +1418,24 @@ interface operations {
1228
1418
  "application/json": components["schemas"]["ErrorResponseDto"];
1229
1419
  };
1230
1420
  };
1231
- /** @description Rate limited. `RATE_LIMITED` — submission window exceeded (default 10/min per workspace); the `Retry-After` header gives the seconds until the window resets. `TOO_MANY_ACTIVE_JOBS` — too many queued/running jobs (default 25); retry once some finish. */
1421
+ /** @description 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). */
1422
+ 409: {
1423
+ headers: {
1424
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
1425
+ "Retry-After"?: number;
1426
+ "X-Request-Id": components["headers"]["RequestId"];
1427
+ [name: string]: unknown;
1428
+ };
1429
+ content: {
1430
+ "application/json": components["schemas"]["ErrorResponseDto"];
1431
+ };
1432
+ };
1433
+ /** @description Rate limited. `RATE_LIMITED` — submission window exceeded (default 10/min per workspace); the `Retry-After` header gives the seconds until the window resets. `TOO_MANY_ACTIVE_JOBS` — too many queued/running jobs (default 25); retry once some finish. Per-IP limit: more than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1232
1434
  429: {
1233
1435
  headers: {
1436
+ "Retry-After": components["headers"]["Retry-After"];
1437
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1438
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1234
1439
  "X-Request-Id": components["headers"]["RequestId"];
1235
1440
  [name: string]: unknown;
1236
1441
  };
@@ -1245,7 +1450,9 @@ interface operations {
1245
1450
  query?: never;
1246
1451
  header?: never;
1247
1452
  path: {
1453
+ /** @description Id of the workspace. */
1248
1454
  workspace_id: string;
1455
+ /** @description Id of the job. */
1249
1456
  id: string;
1250
1457
  };
1251
1458
  cookie?: never;
@@ -1255,6 +1462,12 @@ interface operations {
1255
1462
  /** @description Job row. */
1256
1463
  200: {
1257
1464
  headers: {
1465
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1466
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1467
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1468
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1469
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1470
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1258
1471
  "X-Request-Id": components["headers"]["RequestId"];
1259
1472
  [name: string]: unknown;
1260
1473
  };
@@ -1272,6 +1485,19 @@ interface operations {
1272
1485
  "application/json": components["schemas"]["ErrorResponseDto"];
1273
1486
  };
1274
1487
  };
1488
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1489
+ 429: {
1490
+ headers: {
1491
+ "Retry-After": components["headers"]["Retry-After"];
1492
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1493
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1494
+ "X-Request-Id": components["headers"]["RequestId"];
1495
+ [name: string]: unknown;
1496
+ };
1497
+ content: {
1498
+ "application/json": components["schemas"]["ErrorResponseDto"];
1499
+ };
1500
+ };
1275
1501
  };
1276
1502
  };
1277
1503
  JobController_cancel: {
@@ -1279,7 +1505,9 @@ interface operations {
1279
1505
  query?: never;
1280
1506
  header?: never;
1281
1507
  path: {
1508
+ /** @description Id of the workspace. */
1282
1509
  workspace_id: string;
1510
+ /** @description Id of the job. */
1283
1511
  id: string;
1284
1512
  };
1285
1513
  cookie?: never;
@@ -1289,6 +1517,12 @@ interface operations {
1289
1517
  /** @description Job cancelled. */
1290
1518
  200: {
1291
1519
  headers: {
1520
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1521
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1522
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1523
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1524
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1525
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1292
1526
  "X-Request-Id": components["headers"]["RequestId"];
1293
1527
  [name: string]: unknown;
1294
1528
  };
@@ -1316,13 +1550,26 @@ interface operations {
1316
1550
  "application/json": components["schemas"]["ErrorResponseDto"];
1317
1551
  };
1318
1552
  };
1553
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1554
+ 429: {
1555
+ headers: {
1556
+ "Retry-After": components["headers"]["Retry-After"];
1557
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1558
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1559
+ "X-Request-Id": components["headers"]["RequestId"];
1560
+ [name: string]: unknown;
1561
+ };
1562
+ content: {
1563
+ "application/json": components["schemas"]["ErrorResponseDto"];
1564
+ };
1565
+ };
1319
1566
  };
1320
1567
  };
1321
1568
  WorkspaceStatsController_get: {
1322
1569
  parameters: {
1323
1570
  query?: {
1324
1571
  /** @description Window for `in_window` and the length of `series`, in UTC days ending today. */
1325
- window?: "1d" | "7d" | "30d";
1572
+ window?: components["schemas"]["StatsWindow"];
1326
1573
  };
1327
1574
  header?: never;
1328
1575
  path: {
@@ -1336,6 +1583,12 @@ interface operations {
1336
1583
  /** @description Trawl stats. */
1337
1584
  200: {
1338
1585
  headers: {
1586
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1587
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1588
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1589
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1590
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1591
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1339
1592
  "X-Request-Id": components["headers"]["RequestId"];
1340
1593
  [name: string]: unknown;
1341
1594
  };
@@ -1373,6 +1626,19 @@ interface operations {
1373
1626
  "application/json": components["schemas"]["ErrorResponseDto"];
1374
1627
  };
1375
1628
  };
1629
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1630
+ 429: {
1631
+ headers: {
1632
+ "Retry-After": components["headers"]["Retry-After"];
1633
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1634
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1635
+ "X-Request-Id": components["headers"]["RequestId"];
1636
+ [name: string]: unknown;
1637
+ };
1638
+ content: {
1639
+ "application/json": components["schemas"]["ErrorResponseDto"];
1640
+ };
1641
+ };
1376
1642
  };
1377
1643
  };
1378
1644
  WebhookController_list: {
@@ -1385,6 +1651,7 @@ interface operations {
1385
1651
  };
1386
1652
  header?: never;
1387
1653
  path: {
1654
+ /** @description Id of the workspace. */
1388
1655
  workspace_id: string;
1389
1656
  };
1390
1657
  cookie?: never;
@@ -1394,6 +1661,12 @@ interface operations {
1394
1661
  /** @description Page of webhooks with a pagination cursor. */
1395
1662
  200: {
1396
1663
  headers: {
1664
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1665
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1666
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1667
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1668
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1669
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1397
1670
  "X-Request-Id": components["headers"]["RequestId"];
1398
1671
  [name: string]: unknown;
1399
1672
  };
@@ -1411,6 +1684,19 @@ interface operations {
1411
1684
  "application/json": components["schemas"]["ErrorResponseDto"];
1412
1685
  };
1413
1686
  };
1687
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1688
+ 429: {
1689
+ headers: {
1690
+ "Retry-After": components["headers"]["Retry-After"];
1691
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1692
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1693
+ "X-Request-Id": components["headers"]["RequestId"];
1694
+ [name: string]: unknown;
1695
+ };
1696
+ content: {
1697
+ "application/json": components["schemas"]["ErrorResponseDto"];
1698
+ };
1699
+ };
1414
1700
  };
1415
1701
  };
1416
1702
  WebhookController_create: {
@@ -1421,6 +1707,7 @@ interface operations {
1421
1707
  "Idempotency-Key"?: string;
1422
1708
  };
1423
1709
  path: {
1710
+ /** @description Id of the workspace. */
1424
1711
  workspace_id: string;
1425
1712
  };
1426
1713
  cookie?: never;
@@ -1434,6 +1721,14 @@ interface operations {
1434
1721
  /** @description Webhook created. Includes plaintext `signing_secret` exactly once. */
1435
1722
  201: {
1436
1723
  headers: {
1724
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
1725
+ "Idempotent-Replay"?: "true";
1726
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1727
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1728
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1729
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1730
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1731
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1437
1732
  "X-Request-Id": components["headers"]["RequestId"];
1438
1733
  [name: string]: unknown;
1439
1734
  };
@@ -1451,9 +1746,24 @@ interface operations {
1451
1746
  "application/json": components["schemas"]["ErrorResponseDto"];
1452
1747
  };
1453
1748
  };
1454
- /** @description The workspace already has 10 webhooks. */
1749
+ /** @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). */
1455
1750
  409: {
1456
1751
  headers: {
1752
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
1753
+ "Retry-After"?: number;
1754
+ "X-Request-Id": components["headers"]["RequestId"];
1755
+ [name: string]: unknown;
1756
+ };
1757
+ content: {
1758
+ "application/json": components["schemas"]["ErrorResponseDto"];
1759
+ };
1760
+ };
1761
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1762
+ 429: {
1763
+ headers: {
1764
+ "Retry-After": components["headers"]["Retry-After"];
1765
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1766
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1457
1767
  "X-Request-Id": components["headers"]["RequestId"];
1458
1768
  [name: string]: unknown;
1459
1769
  };
@@ -1468,6 +1778,7 @@ interface operations {
1468
1778
  query?: never;
1469
1779
  header?: never;
1470
1780
  path: {
1781
+ /** @description Id of the workspace. */
1471
1782
  workspace_id: string;
1472
1783
  };
1473
1784
  cookie?: never;
@@ -1476,6 +1787,12 @@ interface operations {
1476
1787
  responses: {
1477
1788
  200: {
1478
1789
  headers: {
1790
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1791
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1792
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1793
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1794
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1795
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1479
1796
  "X-Request-Id": components["headers"]["RequestId"];
1480
1797
  [name: string]: unknown;
1481
1798
  };
@@ -1513,6 +1830,19 @@ interface operations {
1513
1830
  "application/json": components["schemas"]["ErrorResponseDto"];
1514
1831
  };
1515
1832
  };
1833
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1834
+ 429: {
1835
+ headers: {
1836
+ "Retry-After": components["headers"]["Retry-After"];
1837
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1838
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1839
+ "X-Request-Id": components["headers"]["RequestId"];
1840
+ [name: string]: unknown;
1841
+ };
1842
+ content: {
1843
+ "application/json": components["schemas"]["ErrorResponseDto"];
1844
+ };
1845
+ };
1516
1846
  };
1517
1847
  };
1518
1848
  WebhooksController_trawl_workspace_createEndpoint: {
@@ -1523,6 +1853,7 @@ interface operations {
1523
1853
  "Idempotency-Key"?: string;
1524
1854
  };
1525
1855
  path: {
1856
+ /** @description Id of the workspace. */
1526
1857
  workspace_id: string;
1527
1858
  };
1528
1859
  cookie?: never;
@@ -1535,6 +1866,14 @@ interface operations {
1535
1866
  responses: {
1536
1867
  201: {
1537
1868
  headers: {
1869
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
1870
+ "Idempotent-Replay"?: "true";
1871
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1872
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1873
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1874
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1875
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1876
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1538
1877
  "X-Request-Id": components["headers"]["RequestId"];
1539
1878
  [name: string]: unknown;
1540
1879
  };
@@ -1572,9 +1911,11 @@ interface operations {
1572
1911
  "application/json": components["schemas"]["ErrorResponseDto"];
1573
1912
  };
1574
1913
  };
1575
- /** @description Already 10 endpoints (`WEBHOOK_ENDPOINT_LIMIT`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
1914
+ /** @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). */
1576
1915
  409: {
1577
1916
  headers: {
1917
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
1918
+ "Retry-After"?: number;
1578
1919
  "X-Request-Id": components["headers"]["RequestId"];
1579
1920
  [name: string]: unknown;
1580
1921
  };
@@ -1592,6 +1933,19 @@ interface operations {
1592
1933
  "application/json": components["schemas"]["ErrorResponseDto"];
1593
1934
  };
1594
1935
  };
1936
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1937
+ 429: {
1938
+ headers: {
1939
+ "Retry-After": components["headers"]["Retry-After"];
1940
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1941
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1942
+ "X-Request-Id": components["headers"]["RequestId"];
1943
+ [name: string]: unknown;
1944
+ };
1945
+ content: {
1946
+ "application/json": components["schemas"]["ErrorResponseDto"];
1947
+ };
1948
+ };
1595
1949
  };
1596
1950
  };
1597
1951
  WebhooksController_trawl_workspace_getEndpoint: {
@@ -1599,7 +1953,9 @@ interface operations {
1599
1953
  query?: never;
1600
1954
  header?: never;
1601
1955
  path: {
1956
+ /** @description Id of the workspace. */
1602
1957
  workspace_id: string;
1958
+ /** @description Id of the endpoint. */
1603
1959
  endpoint_id: string;
1604
1960
  };
1605
1961
  cookie?: never;
@@ -1608,6 +1964,12 @@ interface operations {
1608
1964
  responses: {
1609
1965
  200: {
1610
1966
  headers: {
1967
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1968
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1969
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1970
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1971
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1972
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1611
1973
  "X-Request-Id": components["headers"]["RequestId"];
1612
1974
  [name: string]: unknown;
1613
1975
  };
@@ -1655,6 +2017,19 @@ interface operations {
1655
2017
  "application/json": components["schemas"]["ErrorResponseDto"];
1656
2018
  };
1657
2019
  };
2020
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2021
+ 429: {
2022
+ headers: {
2023
+ "Retry-After": components["headers"]["Retry-After"];
2024
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2025
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2026
+ "X-Request-Id": components["headers"]["RequestId"];
2027
+ [name: string]: unknown;
2028
+ };
2029
+ content: {
2030
+ "application/json": components["schemas"]["ErrorResponseDto"];
2031
+ };
2032
+ };
1658
2033
  };
1659
2034
  };
1660
2035
  WebhooksController_trawl_workspace_deleteEndpoint: {
@@ -1662,7 +2037,9 @@ interface operations {
1662
2037
  query?: never;
1663
2038
  header?: never;
1664
2039
  path: {
2040
+ /** @description Id of the workspace. */
1665
2041
  workspace_id: string;
2042
+ /** @description Id of the endpoint. */
1666
2043
  endpoint_id: string;
1667
2044
  };
1668
2045
  cookie?: never;
@@ -1672,6 +2049,12 @@ interface operations {
1672
2049
  /** @description Deleted. */
1673
2050
  204: {
1674
2051
  headers: {
2052
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2053
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2054
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2055
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2056
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2057
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1675
2058
  "X-Request-Id": components["headers"]["RequestId"];
1676
2059
  [name: string]: unknown;
1677
2060
  };
@@ -1717,6 +2100,19 @@ interface operations {
1717
2100
  "application/json": components["schemas"]["ErrorResponseDto"];
1718
2101
  };
1719
2102
  };
2103
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2104
+ 429: {
2105
+ headers: {
2106
+ "Retry-After": components["headers"]["Retry-After"];
2107
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2108
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2109
+ "X-Request-Id": components["headers"]["RequestId"];
2110
+ [name: string]: unknown;
2111
+ };
2112
+ content: {
2113
+ "application/json": components["schemas"]["ErrorResponseDto"];
2114
+ };
2115
+ };
1720
2116
  };
1721
2117
  };
1722
2118
  WebhooksController_trawl_workspace_updateEndpoint: {
@@ -1727,7 +2123,9 @@ interface operations {
1727
2123
  "Idempotency-Key"?: string;
1728
2124
  };
1729
2125
  path: {
2126
+ /** @description Id of the workspace. */
1730
2127
  workspace_id: string;
2128
+ /** @description Id of the endpoint. */
1731
2129
  endpoint_id: string;
1732
2130
  };
1733
2131
  cookie?: never;
@@ -1740,6 +2138,14 @@ interface operations {
1740
2138
  responses: {
1741
2139
  200: {
1742
2140
  headers: {
2141
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2142
+ "Idempotent-Replay"?: "true";
2143
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2144
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2145
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2146
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2147
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2148
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1743
2149
  "X-Request-Id": components["headers"]["RequestId"];
1744
2150
  [name: string]: unknown;
1745
2151
  };
@@ -1787,9 +2193,11 @@ interface operations {
1787
2193
  "application/json": components["schemas"]["ErrorResponseDto"];
1788
2194
  };
1789
2195
  };
1790
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2196
+ /** @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). */
1791
2197
  409: {
1792
2198
  headers: {
2199
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2200
+ "Retry-After"?: number;
1793
2201
  "X-Request-Id": components["headers"]["RequestId"];
1794
2202
  [name: string]: unknown;
1795
2203
  };
@@ -1807,6 +2215,19 @@ interface operations {
1807
2215
  "application/json": components["schemas"]["ErrorResponseDto"];
1808
2216
  };
1809
2217
  };
2218
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2219
+ 429: {
2220
+ headers: {
2221
+ "Retry-After": components["headers"]["Retry-After"];
2222
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2223
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2224
+ "X-Request-Id": components["headers"]["RequestId"];
2225
+ [name: string]: unknown;
2226
+ };
2227
+ content: {
2228
+ "application/json": components["schemas"]["ErrorResponseDto"];
2229
+ };
2230
+ };
1810
2231
  };
1811
2232
  };
1812
2233
  WebhooksController_trawl_workspace_rotateSecret: {
@@ -1817,7 +2238,9 @@ interface operations {
1817
2238
  "Idempotency-Key"?: string;
1818
2239
  };
1819
2240
  path: {
2241
+ /** @description Id of the workspace. */
1820
2242
  workspace_id: string;
2243
+ /** @description Id of the endpoint. */
1821
2244
  endpoint_id: string;
1822
2245
  };
1823
2246
  cookie?: never;
@@ -1830,6 +2253,14 @@ interface operations {
1830
2253
  responses: {
1831
2254
  200: {
1832
2255
  headers: {
2256
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2257
+ "Idempotent-Replay"?: "true";
2258
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2259
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2260
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2261
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2262
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2263
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1833
2264
  "X-Request-Id": components["headers"]["RequestId"];
1834
2265
  [name: string]: unknown;
1835
2266
  };
@@ -1877,9 +2308,24 @@ interface operations {
1877
2308
  "application/json": components["schemas"]["ErrorResponseDto"];
1878
2309
  };
1879
2310
  };
1880
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2311
+ /** @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). */
1881
2312
  409: {
1882
2313
  headers: {
2314
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2315
+ "Retry-After"?: number;
2316
+ "X-Request-Id": components["headers"]["RequestId"];
2317
+ [name: string]: unknown;
2318
+ };
2319
+ content: {
2320
+ "application/json": components["schemas"]["ErrorResponseDto"];
2321
+ };
2322
+ };
2323
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2324
+ 429: {
2325
+ headers: {
2326
+ "Retry-After": components["headers"]["Retry-After"];
2327
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2328
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1883
2329
  "X-Request-Id": components["headers"]["RequestId"];
1884
2330
  [name: string]: unknown;
1885
2331
  };
@@ -1897,7 +2343,9 @@ interface operations {
1897
2343
  "Idempotency-Key"?: string;
1898
2344
  };
1899
2345
  path: {
2346
+ /** @description Id of the workspace. */
1900
2347
  workspace_id: string;
2348
+ /** @description Id of the endpoint. */
1901
2349
  endpoint_id: string;
1902
2350
  };
1903
2351
  cookie?: never;
@@ -1911,6 +2359,14 @@ interface operations {
1911
2359
  /** @description The attempt, successful or not. */
1912
2360
  200: {
1913
2361
  headers: {
2362
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2363
+ "Idempotent-Replay"?: "true";
2364
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2365
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2366
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2367
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2368
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2369
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1914
2370
  "X-Request-Id": components["headers"]["RequestId"];
1915
2371
  [name: string]: unknown;
1916
2372
  };
@@ -1958,9 +2414,24 @@ interface operations {
1958
2414
  "application/json": components["schemas"]["ErrorResponseDto"];
1959
2415
  };
1960
2416
  };
1961
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2417
+ /** @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). */
1962
2418
  409: {
1963
2419
  headers: {
2420
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2421
+ "Retry-After"?: number;
2422
+ "X-Request-Id": components["headers"]["RequestId"];
2423
+ [name: string]: unknown;
2424
+ };
2425
+ content: {
2426
+ "application/json": components["schemas"]["ErrorResponseDto"];
2427
+ };
2428
+ };
2429
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2430
+ 429: {
2431
+ headers: {
2432
+ "Retry-After": components["headers"]["Retry-After"];
2433
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2434
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1964
2435
  "X-Request-Id": components["headers"]["RequestId"];
1965
2436
  [name: string]: unknown;
1966
2437
  };
@@ -1975,6 +2446,7 @@ interface operations {
1975
2446
  query?: never;
1976
2447
  header?: never;
1977
2448
  path: {
2449
+ /** @description Id of the workspace. */
1978
2450
  workspace_id: string;
1979
2451
  };
1980
2452
  cookie?: never;
@@ -1983,6 +2455,12 @@ interface operations {
1983
2455
  responses: {
1984
2456
  200: {
1985
2457
  headers: {
2458
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2459
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2460
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2461
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2462
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2463
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1986
2464
  "X-Request-Id": components["headers"]["RequestId"];
1987
2465
  [name: string]: unknown;
1988
2466
  };
@@ -2010,6 +2488,19 @@ interface operations {
2010
2488
  "application/json": components["schemas"]["ErrorResponseDto"];
2011
2489
  };
2012
2490
  };
2491
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2492
+ 429: {
2493
+ headers: {
2494
+ "Retry-After": components["headers"]["Retry-After"];
2495
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2496
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2497
+ "X-Request-Id": components["headers"]["RequestId"];
2498
+ [name: string]: unknown;
2499
+ };
2500
+ content: {
2501
+ "application/json": components["schemas"]["ErrorResponseDto"];
2502
+ };
2503
+ };
2013
2504
  };
2014
2505
  };
2015
2506
  WebhooksController_trawl_workspace_listEvents: {
@@ -2019,17 +2510,20 @@ interface operations {
2019
2510
  type?: ("job.succeeded" | "job.failed" | "credits.low")[];
2020
2511
  /** @description Only events sent (or queued) to this endpoint. */
2021
2512
  endpoint_id?: string;
2022
- status?: "pending" | "delivered" | "failed" | "not_sent";
2513
+ /** @description Only events in this delivery status. */
2514
+ status?: components["schemas"]["WebhookEventStatus"];
2023
2515
  /** @description Only events created at or after this instant. */
2024
2516
  created_after?: string;
2025
2517
  /** @description Only events created before this instant. */
2026
2518
  created_before?: string;
2519
+ /** @description Page size. */
2027
2520
  limit?: number;
2028
2521
  /** @description The previous page's `pagination.next_cursor`. */
2029
2522
  cursor?: string;
2030
2523
  };
2031
2524
  header?: never;
2032
2525
  path: {
2526
+ /** @description Id of the workspace. */
2033
2527
  workspace_id: string;
2034
2528
  };
2035
2529
  cookie?: never;
@@ -2038,6 +2532,12 @@ interface operations {
2038
2532
  responses: {
2039
2533
  200: {
2040
2534
  headers: {
2535
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2536
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2537
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2538
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2539
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2540
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2041
2541
  "X-Request-Id": components["headers"]["RequestId"];
2042
2542
  [name: string]: unknown;
2043
2543
  };
@@ -2075,6 +2575,19 @@ interface operations {
2075
2575
  "application/json": components["schemas"]["ErrorResponseDto"];
2076
2576
  };
2077
2577
  };
2578
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2579
+ 429: {
2580
+ headers: {
2581
+ "Retry-After": components["headers"]["Retry-After"];
2582
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2583
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2584
+ "X-Request-Id": components["headers"]["RequestId"];
2585
+ [name: string]: unknown;
2586
+ };
2587
+ content: {
2588
+ "application/json": components["schemas"]["ErrorResponseDto"];
2589
+ };
2590
+ };
2078
2591
  };
2079
2592
  };
2080
2593
  WebhooksController_trawl_workspace_getEvent: {
@@ -2082,6 +2595,7 @@ interface operations {
2082
2595
  query?: never;
2083
2596
  header?: never;
2084
2597
  path: {
2598
+ /** @description Id of the workspace. */
2085
2599
  workspace_id: string;
2086
2600
  /** @description The event id, `evt_<uuid>`. */
2087
2601
  event_id: string;
@@ -2092,6 +2606,12 @@ interface operations {
2092
2606
  responses: {
2093
2607
  200: {
2094
2608
  headers: {
2609
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2610
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2611
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2612
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2613
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2614
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2095
2615
  "X-Request-Id": components["headers"]["RequestId"];
2096
2616
  [name: string]: unknown;
2097
2617
  };
@@ -2139,6 +2659,19 @@ interface operations {
2139
2659
  "application/json": components["schemas"]["ErrorResponseDto"];
2140
2660
  };
2141
2661
  };
2662
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2663
+ 429: {
2664
+ headers: {
2665
+ "Retry-After": components["headers"]["Retry-After"];
2666
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2667
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2668
+ "X-Request-Id": components["headers"]["RequestId"];
2669
+ [name: string]: unknown;
2670
+ };
2671
+ content: {
2672
+ "application/json": components["schemas"]["ErrorResponseDto"];
2673
+ };
2674
+ };
2142
2675
  };
2143
2676
  };
2144
2677
  WebhooksController_trawl_workspace_replay: {
@@ -2152,6 +2685,7 @@ interface operations {
2152
2685
  "Idempotency-Key"?: string;
2153
2686
  };
2154
2687
  path: {
2688
+ /** @description Id of the workspace. */
2155
2689
  workspace_id: string;
2156
2690
  /** @description The event id, `evt_<uuid>`. */
2157
2691
  event_id: string;
@@ -2162,6 +2696,14 @@ interface operations {
2162
2696
  responses: {
2163
2697
  200: {
2164
2698
  headers: {
2699
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2700
+ "Idempotent-Replay"?: "true";
2701
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2702
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2703
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2704
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2705
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2706
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2165
2707
  "X-Request-Id": components["headers"]["RequestId"];
2166
2708
  [name: string]: unknown;
2167
2709
  };
@@ -2209,9 +2751,24 @@ interface operations {
2209
2751
  "application/json": components["schemas"]["ErrorResponseDto"];
2210
2752
  };
2211
2753
  };
2212
- /** @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`). */
2754
+ /** @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). */
2213
2755
  409: {
2214
2756
  headers: {
2757
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2758
+ "Retry-After"?: number;
2759
+ "X-Request-Id": components["headers"]["RequestId"];
2760
+ [name: string]: unknown;
2761
+ };
2762
+ content: {
2763
+ "application/json": components["schemas"]["ErrorResponseDto"];
2764
+ };
2765
+ };
2766
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2767
+ 429: {
2768
+ headers: {
2769
+ "Retry-After": components["headers"]["Retry-After"];
2770
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2771
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2215
2772
  "X-Request-Id": components["headers"]["RequestId"];
2216
2773
  [name: string]: unknown;
2217
2774
  };
@@ -2226,7 +2783,9 @@ interface operations {
2226
2783
  query?: never;
2227
2784
  header?: never;
2228
2785
  path: {
2786
+ /** @description Id of the workspace. */
2229
2787
  workspace_id: string;
2788
+ /** @description Id of the webhook. */
2230
2789
  id: string;
2231
2790
  };
2232
2791
  cookie?: never;
@@ -2236,6 +2795,12 @@ interface operations {
2236
2795
  /** @description Webhook. */
2237
2796
  200: {
2238
2797
  headers: {
2798
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2799
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2800
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2801
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2802
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2803
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2239
2804
  "X-Request-Id": components["headers"]["RequestId"];
2240
2805
  [name: string]: unknown;
2241
2806
  };
@@ -2263,6 +2828,19 @@ interface operations {
2263
2828
  "application/json": components["schemas"]["ErrorResponseDto"];
2264
2829
  };
2265
2830
  };
2831
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2832
+ 429: {
2833
+ headers: {
2834
+ "Retry-After": components["headers"]["Retry-After"];
2835
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2836
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2837
+ "X-Request-Id": components["headers"]["RequestId"];
2838
+ [name: string]: unknown;
2839
+ };
2840
+ content: {
2841
+ "application/json": components["schemas"]["ErrorResponseDto"];
2842
+ };
2843
+ };
2266
2844
  };
2267
2845
  };
2268
2846
  WebhookController_remove: {
@@ -2270,7 +2848,9 @@ interface operations {
2270
2848
  query?: never;
2271
2849
  header?: never;
2272
2850
  path: {
2851
+ /** @description Id of the workspace. */
2273
2852
  workspace_id: string;
2853
+ /** @description Id of the webhook. */
2274
2854
  id: string;
2275
2855
  };
2276
2856
  cookie?: never;
@@ -2280,6 +2860,12 @@ interface operations {
2280
2860
  /** @description Deleted. */
2281
2861
  204: {
2282
2862
  headers: {
2863
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2864
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2865
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2866
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2867
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2868
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2283
2869
  "X-Request-Id": components["headers"]["RequestId"];
2284
2870
  [name: string]: unknown;
2285
2871
  };
@@ -2295,6 +2881,19 @@ interface operations {
2295
2881
  "application/json": components["schemas"]["ErrorResponseDto"];
2296
2882
  };
2297
2883
  };
2884
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2885
+ 429: {
2886
+ headers: {
2887
+ "Retry-After": components["headers"]["Retry-After"];
2888
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2889
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2890
+ "X-Request-Id": components["headers"]["RequestId"];
2891
+ [name: string]: unknown;
2892
+ };
2893
+ content: {
2894
+ "application/json": components["schemas"]["ErrorResponseDto"];
2895
+ };
2896
+ };
2298
2897
  };
2299
2898
  };
2300
2899
  WebhookController_update: {
@@ -2302,7 +2901,9 @@ interface operations {
2302
2901
  query?: never;
2303
2902
  header?: never;
2304
2903
  path: {
2904
+ /** @description Id of the workspace. */
2305
2905
  workspace_id: string;
2906
+ /** @description Id of the webhook. */
2306
2907
  id: string;
2307
2908
  };
2308
2909
  cookie?: never;
@@ -2316,6 +2917,12 @@ interface operations {
2316
2917
  /** @description Updated webhook (secret masked). */
2317
2918
  200: {
2318
2919
  headers: {
2920
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2921
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2922
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2923
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2924
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2925
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2319
2926
  "X-Request-Id": components["headers"]["RequestId"];
2320
2927
  [name: string]: unknown;
2321
2928
  };
@@ -2343,6 +2950,19 @@ interface operations {
2343
2950
  "application/json": components["schemas"]["ErrorResponseDto"];
2344
2951
  };
2345
2952
  };
2953
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2954
+ 429: {
2955
+ headers: {
2956
+ "Retry-After": components["headers"]["Retry-After"];
2957
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2958
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2959
+ "X-Request-Id": components["headers"]["RequestId"];
2960
+ [name: string]: unknown;
2961
+ };
2962
+ content: {
2963
+ "application/json": components["schemas"]["ErrorResponseDto"];
2964
+ };
2965
+ };
2346
2966
  };
2347
2967
  };
2348
2968
  WebhookController_recentDeliveries: {
@@ -2357,7 +2977,9 @@ interface operations {
2357
2977
  };
2358
2978
  header?: never;
2359
2979
  path: {
2980
+ /** @description Id of the workspace. */
2360
2981
  workspace_id: string;
2982
+ /** @description Id of the webhook. */
2361
2983
  id: string;
2362
2984
  };
2363
2985
  cookie?: never;
@@ -2367,6 +2989,12 @@ interface operations {
2367
2989
  /** @description Page of delivery attempts with a pagination cursor. */
2368
2990
  200: {
2369
2991
  headers: {
2992
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2993
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2994
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2995
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2996
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2997
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2370
2998
  "X-Request-Id": components["headers"]["RequestId"];
2371
2999
  [name: string]: unknown;
2372
3000
  };
@@ -2394,6 +3022,19 @@ interface operations {
2394
3022
  "application/json": components["schemas"]["ErrorResponseDto"];
2395
3023
  };
2396
3024
  };
3025
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3026
+ 429: {
3027
+ headers: {
3028
+ "Retry-After": components["headers"]["Retry-After"];
3029
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3030
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3031
+ "X-Request-Id": components["headers"]["RequestId"];
3032
+ [name: string]: unknown;
3033
+ };
3034
+ content: {
3035
+ "application/json": components["schemas"]["ErrorResponseDto"];
3036
+ };
3037
+ };
2397
3038
  };
2398
3039
  };
2399
3040
  WebhookController_rotateSecret: {
@@ -2401,7 +3042,9 @@ interface operations {
2401
3042
  query?: never;
2402
3043
  header?: never;
2403
3044
  path: {
3045
+ /** @description Id of the workspace. */
2404
3046
  workspace_id: string;
3047
+ /** @description Id of the webhook. */
2405
3048
  id: string;
2406
3049
  };
2407
3050
  cookie?: never;
@@ -2411,6 +3054,12 @@ interface operations {
2411
3054
  /** @description Secret rotated. Includes the new plaintext secret exactly once. */
2412
3055
  201: {
2413
3056
  headers: {
3057
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3058
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3059
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3060
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3061
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3062
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2414
3063
  "X-Request-Id": components["headers"]["RequestId"];
2415
3064
  [name: string]: unknown;
2416
3065
  };
@@ -2428,6 +3077,19 @@ interface operations {
2428
3077
  "application/json": components["schemas"]["ErrorResponseDto"];
2429
3078
  };
2430
3079
  };
3080
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3081
+ 429: {
3082
+ headers: {
3083
+ "Retry-After": components["headers"]["Retry-After"];
3084
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3085
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3086
+ "X-Request-Id": components["headers"]["RequestId"];
3087
+ [name: string]: unknown;
3088
+ };
3089
+ content: {
3090
+ "application/json": components["schemas"]["ErrorResponseDto"];
3091
+ };
3092
+ };
2431
3093
  };
2432
3094
  };
2433
3095
  WebhookController_fireTest: {
@@ -2435,7 +3097,9 @@ interface operations {
2435
3097
  query?: never;
2436
3098
  header?: never;
2437
3099
  path: {
3100
+ /** @description Id of the workspace. */
2438
3101
  workspace_id: string;
3102
+ /** @description Id of the webhook. */
2439
3103
  id: string;
2440
3104
  };
2441
3105
  cookie?: never;
@@ -2445,6 +3109,12 @@ interface operations {
2445
3109
  /** @description Sent. Read the outcome from `/deliveries`. */
2446
3110
  202: {
2447
3111
  headers: {
3112
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3113
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3114
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3115
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3116
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3117
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2448
3118
  "X-Request-Id": components["headers"]["RequestId"];
2449
3119
  [name: string]: unknown;
2450
3120
  };
@@ -2472,6 +3142,19 @@ interface operations {
2472
3142
  "application/json": components["schemas"]["ErrorResponseDto"];
2473
3143
  };
2474
3144
  };
3145
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3146
+ 429: {
3147
+ headers: {
3148
+ "Retry-After": components["headers"]["Retry-After"];
3149
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3150
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3151
+ "X-Request-Id": components["headers"]["RequestId"];
3152
+ [name: string]: unknown;
3153
+ };
3154
+ content: {
3155
+ "application/json": components["schemas"]["ErrorResponseDto"];
3156
+ };
3157
+ };
2475
3158
  };
2476
3159
  };
2477
3160
  }