@productcraft/trawl 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/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
@@ -478,6 +487,64 @@ interface components {
478
487
  */
479
488
  reason: string;
480
489
  };
490
+ /**
491
+ * CreditsLowEvent
492
+ * @description Your Trawl balance dropped below 10% of your last top-up (at least 100 steps). Sent once; it comes again after your next top-up. New jobs are refused when the balance reaches zero. Job events also carry the keys of the previous webhook body (`event`, `occurred_at`, `job`) until its sunset; read `type`, `created_at` and `data` instead.
493
+ * @example {
494
+ * "created_at": "2026-11-05T09:00:00.000Z",
495
+ * "data": {
496
+ * "balance_steps": 840,
497
+ * "last_top_up_steps": 10000,
498
+ * "threshold_steps": 1000
499
+ * },
500
+ * "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
501
+ * "type": "credits.low",
502
+ * "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
503
+ * }
504
+ */
505
+ CreditsLowEvent: {
506
+ /**
507
+ * Format: date-time
508
+ * @description When the event happened (the same on every retry).
509
+ * @example 2026-11-05T09:00:00.000Z
510
+ */
511
+ created_at: string;
512
+ data: components["schemas"]["CreditsLowEventDataDto"];
513
+ /**
514
+ * @description The event id, also sent as `webhook-id`; the same on every retry and replay.
515
+ * @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
516
+ */
517
+ id: string;
518
+ /** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
519
+ test?: boolean;
520
+ /**
521
+ * @description The event type. Switch on it to narrow the event.
522
+ * @enum {string}
523
+ */
524
+ type: "credits.low";
525
+ /**
526
+ * Format: uuid
527
+ * @description The workspace the event belongs to, so you can route without opening `data`. Absent on "Send test" deliveries.
528
+ */
529
+ workspace_id?: string;
530
+ };
531
+ CreditsLowEventDataDto: {
532
+ /**
533
+ * @description The balance, in steps, when the event was sent.
534
+ * @example 840
535
+ */
536
+ balance_steps: number;
537
+ /**
538
+ * @description Steps added by the last top-up.
539
+ * @example 10000
540
+ */
541
+ last_top_up_steps: number;
542
+ /**
543
+ * @description The threshold it dropped below: 10% of the last top-up, at least 100 steps.
544
+ * @example 1000
545
+ */
546
+ threshold_steps: number;
547
+ };
481
548
  CreditsResponseDto: {
482
549
  /**
483
550
  * @description Remaining steps. One agent step uses one credit; new jobs are refused (402) at zero. Can dip slightly below zero, because a running job is always allowed to finish.
@@ -554,55 +621,226 @@ interface components {
554
621
  */
555
622
  status_code: number;
556
623
  };
624
+ JobEventDataDto: {
625
+ /** @description The job that finished. */
626
+ job: components["schemas"]["JobOutcomeDto"];
627
+ };
628
+ /**
629
+ * JobFailedEvent
630
+ * @description An extraction job stopped without a result: the page did not load, the agent ran out of steps or time, or the result did not match your schema. The reason is in data.job.error. Job events also carry the keys of the previous webhook body (`event`, `occurred_at`, `job`) until its sunset; read `type`, `created_at` and `data` instead.
631
+ * @example {
632
+ * "created_at": "2026-11-05T09:00:00.000Z",
633
+ * "data": {
634
+ * "job": {
635
+ * "error": "The job ran out of steps before it found the data.",
636
+ * "id": "7c1e2a4b-5d3f-4e8a-9b6c-0d1e2f3a4b5c",
637
+ * "result": null,
638
+ * "status": "failed"
639
+ * }
640
+ * },
641
+ * "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
642
+ * "type": "job.failed",
643
+ * "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
644
+ * }
645
+ */
646
+ JobFailedEvent: {
647
+ /**
648
+ * Format: date-time
649
+ * @description When the event happened (the same on every retry).
650
+ * @example 2026-11-05T09:00:00.000Z
651
+ */
652
+ created_at: string;
653
+ data: components["schemas"]["JobEventDataDto"];
654
+ /**
655
+ * @description The event id, also sent as `webhook-id`; the same on every retry and replay.
656
+ * @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
657
+ */
658
+ id: string;
659
+ /** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
660
+ test?: boolean;
661
+ /**
662
+ * @description The event type. Switch on it to narrow the event.
663
+ * @enum {string}
664
+ */
665
+ type: "job.failed";
666
+ /**
667
+ * Format: uuid
668
+ * @description The workspace the event belongs to, so you can route without opening `data`. Absent on "Send test" deliveries.
669
+ */
670
+ workspace_id?: string;
671
+ };
557
672
  JobListPaginationDto: {
673
+ /** @description Whether another page follows. */
558
674
  has_more: boolean;
675
+ /** @description Pass as `cursor` to get the next page; null on the last page. */
559
676
  next_cursor: string | null;
560
677
  };
561
678
  JobListResponseDto: {
679
+ /** @description The jobs, newest first. */
562
680
  data: components["schemas"]["JobResponseDto"][];
681
+ /** @description The cursor for the next page. */
563
682
  pagination: components["schemas"]["JobListPaginationDto"];
564
683
  };
684
+ JobOutcomeDto: {
685
+ /**
686
+ * @description Why the job stopped without a result; null when it succeeded.
687
+ * @example null
688
+ */
689
+ error: string | null;
690
+ /**
691
+ * Format: uuid
692
+ * @description The job id.
693
+ * @example 7c1e2a4b-5d3f-4e8a-9b6c-0d1e2f3a4b5c
694
+ */
695
+ id: string;
696
+ /**
697
+ * @description The extracted JSON, matching the JSON Schema the job was created with; null when the job failed.
698
+ * @example {
699
+ * "price": null,
700
+ * "title": "Example Domain"
701
+ * }
702
+ */
703
+ result: {
704
+ [key: string]: unknown;
705
+ } | null;
706
+ /**
707
+ * @description `succeeded` on `job.succeeded`, `failed` on `job.failed`.
708
+ * @example succeeded
709
+ */
710
+ status: components["schemas"]["JobOutcomeStatus"];
711
+ };
712
+ /** @enum {string} */
713
+ JobOutcomeStatus: "succeeded" | "failed";
565
714
  JobResponseDto: {
715
+ /** @description How many times a worker has picked the job up. */
566
716
  attempts: number;
717
+ /**
718
+ * Format: date-time
719
+ * @description When it ended; null until then.
720
+ */
567
721
  completed_at: string | null;
722
+ /**
723
+ * Format: date-time
724
+ * @description When the job was created.
725
+ */
568
726
  created_at: string;
727
+ /** @description Natural-language description of what to extract. */
569
728
  description: string;
729
+ /**
730
+ * Format: date-time
731
+ * @description When the job was queued.
732
+ */
570
733
  enqueued_at: string;
734
+ /** @description Why the job failed; null unless `status` is `failed`. */
571
735
  error: string | null;
736
+ /**
737
+ * Format: uuid
738
+ * @description The job's id.
739
+ */
572
740
  id: string;
573
741
  /** @description The JSON Schema the job was created with. */
574
742
  json_schema: {
575
743
  [key: string]: unknown;
576
744
  };
745
+ /** @description Maximum number of agent steps (one LLM call each) before the job stops. */
577
746
  max_steps: number;
747
+ /** @description Model tier the worker uses (e.g. `standard`, `pro`). */
578
748
  model_tier: string;
579
749
  /** @description The extracted data, shaped by `json_schema`. Null until the job succeeds. */
580
750
  result: {
581
751
  [key: string]: unknown;
582
752
  } | null;
753
+ /**
754
+ * Format: date-time
755
+ * @description When a worker started it; null while queued.
756
+ */
583
757
  started_at: string | null;
584
- /** @enum {string} */
585
- status: "queued" | "running" | "succeeded" | "failed" | "cancelled";
758
+ /** @description `queued` until a worker picks it up, then `running`; it ends `succeeded` (the result is in `result`), `failed` (see `error`) or `cancelled`. */
759
+ status: components["schemas"]["JobStatus"];
760
+ /** @description Seed URLs the worker starts from; null when none were given. */
586
761
  suggested_urls: string[] | null;
762
+ /** @description Wall-clock timeout for the job, in seconds. */
587
763
  timeout_s: number;
764
+ /**
765
+ * Format: uuid
766
+ * @description The webhook endpoint named at creation to notify when the job ends; null when none.
767
+ */
588
768
  webhook_id: string | null;
769
+ /**
770
+ * Format: uuid
771
+ * @description The workspace that owns the job.
772
+ */
589
773
  workspace_id: string;
590
774
  };
775
+ /** @enum {string} */
776
+ JobStatus: "queued" | "running" | "succeeded" | "failed" | "cancelled";
777
+ /**
778
+ * JobSucceededEvent
779
+ * @description An extraction job finished and its result matches your JSON Schema. The result is in data.job.result. Job events also carry the keys of the previous webhook body (`event`, `occurred_at`, `job`) until its sunset; read `type`, `created_at` and `data` instead.
780
+ * @example {
781
+ * "created_at": "2026-11-05T09:00:00.000Z",
782
+ * "data": {
783
+ * "job": {
784
+ * "error": null,
785
+ * "id": "7c1e2a4b-5d3f-4e8a-9b6c-0d1e2f3a4b5c",
786
+ * "result": {
787
+ * "price": null,
788
+ * "title": "Example Domain"
789
+ * },
790
+ * "status": "succeeded"
791
+ * }
792
+ * },
793
+ * "id": "evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f",
794
+ * "type": "job.succeeded",
795
+ * "workspace_id": "9b2f6c1e-0d6a-4a63-9a43-2f1c3e4d5a6b"
796
+ * }
797
+ */
798
+ JobSucceededEvent: {
799
+ /**
800
+ * Format: date-time
801
+ * @description When the event happened (the same on every retry).
802
+ * @example 2026-11-05T09:00:00.000Z
803
+ */
804
+ created_at: string;
805
+ data: components["schemas"]["JobEventDataDto"];
806
+ /**
807
+ * @description The event id, also sent as `webhook-id`; the same on every retry and replay.
808
+ * @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
809
+ */
810
+ id: string;
811
+ /** @description Present and true only on a delivery made by "Send test"; its `data` is the catalogue example. */
812
+ test?: boolean;
813
+ /**
814
+ * @description The event type. Switch on it to narrow the event.
815
+ * @enum {string}
816
+ */
817
+ type: "job.succeeded";
818
+ /**
819
+ * Format: uuid
820
+ * @description The workspace the event belongs to, so you can route without opening `data`. Absent on "Send test" deliveries.
821
+ */
822
+ workspace_id?: string;
823
+ };
591
824
  ListWebhookEndpointsResponseDto: {
825
+ /** @description The endpoints, newest first. */
592
826
  data: components["schemas"]["WebhookEndpointDto"][];
593
827
  /** @description Always one page (an endpoint limit applies). */
594
828
  pagination: components["schemas"]["WebhookPaginationDto"];
595
829
  };
596
830
  ListWebhookEventTypesResponseDto: {
831
+ /** @description Every event type this product sends. */
597
832
  data: components["schemas"]["WebhookEventTypeDto"][];
598
833
  };
599
834
  ListWebhookEventsResponseDto: {
835
+ /** @description The events, newest first. */
600
836
  data: components["schemas"]["WebhookEventDto"][];
837
+ /** @description The cursor for the next page. */
601
838
  pagination: components["schemas"]["WebhookPaginationDto"];
602
839
  };
603
840
  ReplayWebhookEventResponseDto: {
604
841
  /** @description One attempt per endpoint it was sent to. */
605
842
  attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
843
+ /** @description The replayed event (the same id as the original). */
606
844
  event_id: string;
607
845
  };
608
846
  RotateWebhookSecretDto: {
@@ -620,8 +858,12 @@ interface components {
620
858
  */
621
859
  event_type: "job.succeeded" | "job.failed" | "credits.low";
622
860
  };
861
+ /** @enum {string} */
862
+ StatsGranularity: "day";
863
+ /** @enum {string} */
864
+ StatsWindow: "1d" | "7d" | "30d";
623
865
  /** @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;
866
+ 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
867
  TrawlStatsInWindowDto: {
626
868
  /**
627
869
  * @description Of those, jobs that failed.
@@ -644,19 +886,19 @@ interface components {
644
886
  */
645
887
  succeeded: number;
646
888
  };
889
+ /** @enum {string} */
890
+ TrawlStatsMetric: "jobs";
647
891
  TrawlStatsSeriesDto: {
648
892
  /**
649
893
  * @description Bucket width.
650
894
  * @example day
651
- * @enum {string}
652
895
  */
653
- granularity: "day";
896
+ granularity: components["schemas"]["StatsGranularity"];
654
897
  /**
655
898
  * @description Jobs created per UTC day in the workspace, in any status.
656
899
  * @example jobs
657
- * @enum {string}
658
900
  */
659
- metric: "jobs";
901
+ metric: components["schemas"]["TrawlStatsMetric"];
660
902
  /** @description Dense and zero-filled: one point per UTC day in the window, oldest first, ending today. */
661
903
  points: components["schemas"]["TrawlStatsSeriesPointDto"][];
662
904
  };
@@ -707,9 +949,8 @@ interface components {
707
949
  /**
708
950
  * @description Window the counts cover.
709
951
  * @example 30d
710
- * @enum {string}
711
952
  */
712
- window: "1d" | "7d" | "30d";
953
+ window: components["schemas"]["StatsWindow"];
713
954
  };
714
955
  UpdateWebhookDto: {
715
956
  /** @description Pause/resume the webhook. Setting active=true clears auto-disable. */
@@ -718,6 +959,7 @@ interface components {
718
959
  url?: string;
719
960
  };
720
961
  UpdateWebhookEndpointDto: {
962
+ /** @description A new label; null clears it. */
721
963
  description?: string | null;
722
964
  /** @description Switch it on or off. Switching on also clears an automatic disable. */
723
965
  enabled?: boolean;
@@ -725,10 +967,13 @@ interface components {
725
967
  event_types?: ("job.succeeded" | "job.failed" | "credits.low")[];
726
968
  /**
727
969
  * Format: uri
970
+ * @description A new absolute https:// URL on a public host.
728
971
  * @example https://api.acme.com/webhooks
729
972
  */
730
973
  url?: string;
731
974
  };
975
+ /** @enum {string} */
976
+ WebhookAttemptTrigger: "automatic" | "replay" | "test";
732
977
  WebhookCreateResponseDto: {
733
978
  /** @description Whether it receives events (`enabled` on the new routes). */
734
979
  active: boolean;
@@ -763,18 +1008,37 @@ interface components {
763
1008
  WebhookDeliveryAttemptDto: {
764
1009
  /** @description 1 for the first delivery; retries and replays count up. */
765
1010
  attempt_number: number;
766
- /** Format: date-time */
1011
+ /**
1012
+ * Format: date-time
1013
+ * @description When the attempt was made.
1014
+ */
767
1015
  attempted_at: string;
768
- /** Format: uuid */
1016
+ /**
1017
+ * Format: uuid
1018
+ * @description The endpoint it was delivered to.
1019
+ */
769
1020
  endpoint_id: string;
770
- /** @example request timed out */
1021
+ /**
1022
+ * @description Why the attempt failed when no 2xx came back; null on success.
1023
+ * @example request timed out
1024
+ */
771
1025
  error_message: string | null;
772
- /** @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f */
1026
+ /**
1027
+ * @description The event that was delivered.
1028
+ * @example evt_3f0c3c1e-8a2b-4c55-9d3f-0a1b2c3d4e5f
1029
+ */
773
1030
  event_id: string;
774
- /** @example user.created */
1031
+ /**
1032
+ * @description The event's type.
1033
+ * @example user.created
1034
+ */
775
1035
  event_type: string;
776
- /** Format: uuid */
1036
+ /**
1037
+ * Format: uuid
1038
+ * @description The attempt's id.
1039
+ */
777
1040
  id: string;
1041
+ /** @description Milliseconds until the response; null when none came back. */
778
1042
  latency_ms: number | null;
779
1043
  /** @description The first 1 KiB of the response body. */
780
1044
  response_body: string | null;
@@ -782,11 +1046,8 @@ interface components {
782
1046
  status_code: number | null;
783
1047
  /** @description True for a 2xx response. */
784
1048
  succeeded: boolean;
785
- /**
786
- * @description `automatic` (first delivery or a retry), `replay` or `test`.
787
- * @enum {string}
788
- */
789
- trigger: "automatic" | "replay" | "test";
1049
+ /** @description `automatic` (first delivery or a retry), `replay` or `test`. */
1050
+ trigger: components["schemas"]["WebhookAttemptTrigger"];
790
1051
  /**
791
1052
  * Format: uri
792
1053
  * @description Where it was sent.
@@ -818,17 +1079,28 @@ interface components {
818
1079
  /** Format: uuid */
819
1080
  webhook_id: string;
820
1081
  };
1082
+ /** @enum {string} */
1083
+ WebhookEndpointDisabledReason: "manual" | "failing";
821
1084
  WebhookEndpointDto: {
822
1085
  /** @description Failed automatic deliveries in a row; a success resets it. */
823
1086
  consecutive_failures: number;
824
- /** Format: date-time */
1087
+ /**
1088
+ * Format: date-time
1089
+ * @description When the endpoint was created.
1090
+ */
825
1091
  created_at: string;
826
- /** @example Production receiver */
1092
+ /**
1093
+ * @description A label for people; null when unset.
1094
+ * @example Production receiver
1095
+ */
827
1096
  description: string | null;
828
- /** Format: date-time */
1097
+ /**
1098
+ * Format: date-time
1099
+ * @description When it was switched off; null while enabled.
1100
+ */
829
1101
  disabled_at: string | null;
830
- /** @enum {string|null} */
831
- disabled_reason: "manual" | "failing" | null;
1102
+ /** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
1103
+ disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
832
1104
  /** @description The on/off switch (`PATCH … { enabled }`). */
833
1105
  enabled: boolean;
834
1106
  /**
@@ -841,7 +1113,10 @@ interface components {
841
1113
  * @description Start of the current failure streak.
842
1114
  */
843
1115
  first_failure_at: string | null;
844
- /** Format: uuid */
1116
+ /**
1117
+ * Format: uuid
1118
+ * @description The endpoint's id.
1119
+ */
845
1120
  id: string;
846
1121
  /** @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
1122
  legacy_signature: boolean;
@@ -864,30 +1139,42 @@ interface components {
864
1139
  * @example x9Q=
865
1140
  */
866
1141
  signing_secret_hint: string;
1142
+ /** @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. */
1143
+ status: components["schemas"]["WebhookEndpointStatus"];
867
1144
  /**
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}
1145
+ * Format: date-time
1146
+ * @description When the endpoint last changed.
870
1147
  */
871
- status: "enabled" | "disabled" | "auto_disabled";
872
- /** Format: date-time */
873
1148
  updated_at: string;
874
1149
  /**
875
1150
  * Format: uri
1151
+ * @description Where events are sent.
876
1152
  * @example https://api.acme.com/webhooks
877
1153
  */
878
1154
  url: string;
879
1155
  };
1156
+ /** @enum {string} */
1157
+ WebhookEndpointStatus: "enabled" | "disabled" | "auto_disabled";
880
1158
  WebhookEndpointWithSecretDto: {
881
1159
  /** @description Failed automatic deliveries in a row; a success resets it. */
882
1160
  consecutive_failures: number;
883
- /** Format: date-time */
1161
+ /**
1162
+ * Format: date-time
1163
+ * @description When the endpoint was created.
1164
+ */
884
1165
  created_at: string;
885
- /** @example Production receiver */
1166
+ /**
1167
+ * @description A label for people; null when unset.
1168
+ * @example Production receiver
1169
+ */
886
1170
  description: string | null;
887
- /** Format: date-time */
1171
+ /**
1172
+ * Format: date-time
1173
+ * @description When it was switched off; null while enabled.
1174
+ */
888
1175
  disabled_at: string | null;
889
- /** @enum {string|null} */
890
- disabled_reason: "manual" | "failing" | null;
1176
+ /** @description `manual`: switched off by a caller. `failing`: switched off automatically after failed deliveries. Null while enabled. */
1177
+ disabled_reason: components["schemas"]["WebhookEndpointDisabledReason"] | null;
891
1178
  /** @description The on/off switch (`PATCH … { enabled }`). */
892
1179
  enabled: boolean;
893
1180
  /**
@@ -900,7 +1187,10 @@ interface components {
900
1187
  * @description Start of the current failure streak.
901
1188
  */
902
1189
  first_failure_at: string | null;
903
- /** Format: uuid */
1190
+ /**
1191
+ * Format: uuid
1192
+ * @description The endpoint's id.
1193
+ */
904
1194
  id: string;
905
1195
  /** @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
1196
  legacy_signature: boolean;
@@ -928,15 +1218,16 @@ interface components {
928
1218
  * @example x9Q=
929
1219
  */
930
1220
  signing_secret_hint: string;
1221
+ /** @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. */
1222
+ status: components["schemas"]["WebhookEndpointStatus"];
931
1223
  /**
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}
1224
+ * Format: date-time
1225
+ * @description When the endpoint last changed.
934
1226
  */
935
- status: "enabled" | "disabled" | "auto_disabled";
936
- /** Format: date-time */
937
1227
  updated_at: string;
938
1228
  /**
939
1229
  * Format: uri
1230
+ * @description Where events are sent.
940
1231
  * @example https://api.acme.com/webhooks
941
1232
  */
942
1233
  url: string;
@@ -944,15 +1235,22 @@ interface components {
944
1235
  WebhookEventDeliveryDto: {
945
1236
  /** @description Number of the latest attempt; retries and replays count up. */
946
1237
  attempt_number: number;
947
- /** Format: date-time */
1238
+ /**
1239
+ * Format: date-time
1240
+ * @description When the latest attempt was made.
1241
+ */
948
1242
  attempted_at: string;
949
- /** Format: uuid */
1243
+ /**
1244
+ * Format: uuid
1245
+ * @description The endpoint.
1246
+ */
950
1247
  endpoint_id: string;
951
1248
  /**
952
1249
  * Format: date-time
953
1250
  * @description When the next automatic attempt is due; null when none is queued.
954
1251
  */
955
1252
  next_attempt_at: string | null;
1253
+ /** @description HTTP status of the latest attempt; null when no response came back. */
956
1254
  status_code: number | null;
957
1255
  /** @description True when the latest attempt got a 2xx. */
958
1256
  succeeded: boolean;
@@ -960,7 +1258,10 @@ interface components {
960
1258
  WebhookEventDetailDto: {
961
1259
  /** @description Every attempt, newest first. */
962
1260
  attempts: components["schemas"]["WebhookDeliveryAttemptDto"][];
963
- /** Format: date-time */
1261
+ /**
1262
+ * Format: date-time
1263
+ * @description When the event happened.
1264
+ */
964
1265
  created_at: string;
965
1266
  /** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
966
1267
  deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
@@ -973,21 +1274,21 @@ interface components {
973
1274
  payload: {
974
1275
  [key: string]: unknown;
975
1276
  };
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";
1277
+ /** @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. */
1278
+ status: components["schemas"]["WebhookEventStatus"];
981
1279
  /** @description Made by "Send test". */
982
1280
  test: boolean;
983
1281
  /**
1282
+ * @description The event type (one of this product's catalogue).
984
1283
  * @example job.succeeded
985
- * @enum {string}
986
1284
  */
987
- type: "job.succeeded" | "job.failed" | "credits.low";
1285
+ type: components["schemas"]["WebhookEventType"];
988
1286
  };
989
1287
  WebhookEventDto: {
990
- /** Format: date-time */
1288
+ /**
1289
+ * Format: date-time
1290
+ * @description When the event happened.
1291
+ */
991
1292
  created_at: string;
992
1293
  /** @description Latest attempt per endpoint (an endpoint whose first attempt is still queued is not listed yet). */
993
1294
  deliveries: components["schemas"]["WebhookEventDeliveryDto"][];
@@ -1000,36 +1301,43 @@ interface components {
1000
1301
  payload: {
1001
1302
  [key: string]: unknown;
1002
1303
  };
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";
1304
+ /** @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. */
1305
+ status: components["schemas"]["WebhookEventStatus"];
1008
1306
  /** @description Made by "Send test". */
1009
1307
  test: boolean;
1010
1308
  /**
1309
+ * @description The event type (one of this product's catalogue).
1011
1310
  * @example job.succeeded
1012
- * @enum {string}
1013
1311
  */
1014
- type: "job.succeeded" | "job.failed" | "credits.low";
1312
+ type: components["schemas"]["WebhookEventType"];
1015
1313
  };
1314
+ /** @enum {string} */
1315
+ WebhookEventStatus: "pending" | "delivered" | "failed" | "not_sent";
1316
+ /**
1317
+ * @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.
1318
+ * @enum {string}
1319
+ */
1320
+ WebhookEventType: "job.succeeded" | "job.failed" | "credits.low";
1016
1321
  WebhookEventTypeDto: {
1017
1322
  /**
1018
1323
  * @description Group shown in the event picker.
1019
1324
  * @example Users
1020
1325
  */
1021
1326
  category: string;
1022
- /** @example A user signed up or was created by an admin. */
1327
+ /**
1328
+ * @description When this event is sent.
1329
+ * @example A user signed up or was created by an admin.
1330
+ */
1023
1331
  description: string;
1024
1332
  /** @description An example `data` object; "Send test" delivers exactly this. */
1025
1333
  example: {
1026
1334
  [key: string]: unknown;
1027
1335
  };
1028
1336
  /**
1337
+ * @description The event type (one of this product's catalogue).
1029
1338
  * @example job.succeeded
1030
- * @enum {string}
1031
1339
  */
1032
- type: "job.succeeded" | "job.failed" | "credits.low";
1340
+ type: components["schemas"]["WebhookEventType"];
1033
1341
  };
1034
1342
  WebhookListPaginationDto: {
1035
1343
  has_more: boolean;
@@ -1091,6 +1399,24 @@ interface components {
1091
1399
  headers: {
1092
1400
  /** @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
1401
  RequestId: string;
1402
+ /** @description Seconds to wait before retrying. Sent on every 429. */
1403
+ "Retry-After": number;
1404
+ /** @description Seconds to wait, when the per-minute IP limit tripped. */
1405
+ "Retry-After-long": number;
1406
+ /** @description Seconds to wait, when the per-second IP limit tripped. */
1407
+ "Retry-After-short": number;
1408
+ /** @description Requests allowed per minute from this client IP (600). */
1409
+ "X-RateLimit-Limit-long": number;
1410
+ /** @description Requests allowed per second from this client IP (20). */
1411
+ "X-RateLimit-Limit-short": number;
1412
+ /** @description Requests left in the current one-minute window. */
1413
+ "X-RateLimit-Remaining-long": number;
1414
+ /** @description Requests left in the current one-second window. */
1415
+ "X-RateLimit-Remaining-short": number;
1416
+ /** @description Seconds until the one-minute window resets. */
1417
+ "X-RateLimit-Reset-long": number;
1418
+ /** @description Seconds until the one-second window resets. */
1419
+ "X-RateLimit-Reset-short": number;
1094
1420
  };
1095
1421
  pathItems: never;
1096
1422
  }
@@ -1103,6 +1429,7 @@ interface operations {
1103
1429
  };
1104
1430
  header?: never;
1105
1431
  path: {
1432
+ /** @description Id of the workspace. */
1106
1433
  workspace_id: string;
1107
1434
  };
1108
1435
  cookie?: never;
@@ -1112,6 +1439,12 @@ interface operations {
1112
1439
  /** @description Balance, low-balance state and recent entries. */
1113
1440
  200: {
1114
1441
  headers: {
1442
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1443
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1444
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1445
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1446
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1447
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1115
1448
  "X-Request-Id": components["headers"]["RequestId"];
1116
1449
  [name: string]: unknown;
1117
1450
  };
@@ -1139,19 +1472,34 @@ interface operations {
1139
1472
  "application/json": components["schemas"]["ErrorResponseDto"];
1140
1473
  };
1141
1474
  };
1475
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1476
+ 429: {
1477
+ headers: {
1478
+ "Retry-After": components["headers"]["Retry-After"];
1479
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1480
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1481
+ "X-Request-Id": components["headers"]["RequestId"];
1482
+ [name: string]: unknown;
1483
+ };
1484
+ content: {
1485
+ "application/json": components["schemas"]["ErrorResponseDto"];
1486
+ };
1487
+ };
1142
1488
  };
1143
1489
  };
1144
1490
  JobController_list: {
1145
1491
  parameters: {
1146
1492
  query?: {
1147
1493
  /** @description Filter by job status. */
1148
- status?: "queued" | "running" | "succeeded" | "failed" | "cancelled";
1494
+ status?: components["schemas"]["JobStatus"];
1149
1495
  /** @description Opaque cursor for pagination. */
1150
1496
  cursor?: string;
1497
+ /** @description Page size. */
1151
1498
  limit?: number;
1152
1499
  };
1153
1500
  header?: never;
1154
1501
  path: {
1502
+ /** @description Id of the workspace. */
1155
1503
  workspace_id: string;
1156
1504
  };
1157
1505
  cookie?: never;
@@ -1161,6 +1509,12 @@ interface operations {
1161
1509
  /** @description Page of jobs with pagination cursor. */
1162
1510
  200: {
1163
1511
  headers: {
1512
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1513
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1514
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1515
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1516
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1517
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1164
1518
  "X-Request-Id": components["headers"]["RequestId"];
1165
1519
  [name: string]: unknown;
1166
1520
  };
@@ -1178,6 +1532,19 @@ interface operations {
1178
1532
  "application/json": components["schemas"]["ErrorResponseDto"];
1179
1533
  };
1180
1534
  };
1535
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1536
+ 429: {
1537
+ headers: {
1538
+ "Retry-After": components["headers"]["Retry-After"];
1539
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1540
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1541
+ "X-Request-Id": components["headers"]["RequestId"];
1542
+ [name: string]: unknown;
1543
+ };
1544
+ content: {
1545
+ "application/json": components["schemas"]["ErrorResponseDto"];
1546
+ };
1547
+ };
1181
1548
  };
1182
1549
  };
1183
1550
  JobController_create: {
@@ -1188,6 +1555,7 @@ interface operations {
1188
1555
  "Idempotency-Key"?: string;
1189
1556
  };
1190
1557
  path: {
1558
+ /** @description Id of the workspace. */
1191
1559
  workspace_id: string;
1192
1560
  };
1193
1561
  cookie?: never;
@@ -1201,6 +1569,14 @@ interface operations {
1201
1569
  /** @description Job created and queued. */
1202
1570
  201: {
1203
1571
  headers: {
1572
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
1573
+ "Idempotent-Replay"?: "true";
1574
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1575
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1576
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1577
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1578
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1579
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1204
1580
  "X-Request-Id": components["headers"]["RequestId"];
1205
1581
  [name: string]: unknown;
1206
1582
  };
@@ -1228,9 +1604,24 @@ interface operations {
1228
1604
  "application/json": components["schemas"]["ErrorResponseDto"];
1229
1605
  };
1230
1606
  };
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. */
1607
+ /** @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). */
1608
+ 409: {
1609
+ headers: {
1610
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
1611
+ "Retry-After"?: number;
1612
+ "X-Request-Id": components["headers"]["RequestId"];
1613
+ [name: string]: unknown;
1614
+ };
1615
+ content: {
1616
+ "application/json": components["schemas"]["ErrorResponseDto"];
1617
+ };
1618
+ };
1619
+ /** @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
1620
  429: {
1233
1621
  headers: {
1622
+ "Retry-After": components["headers"]["Retry-After"];
1623
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1624
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1234
1625
  "X-Request-Id": components["headers"]["RequestId"];
1235
1626
  [name: string]: unknown;
1236
1627
  };
@@ -1245,7 +1636,9 @@ interface operations {
1245
1636
  query?: never;
1246
1637
  header?: never;
1247
1638
  path: {
1639
+ /** @description Id of the workspace. */
1248
1640
  workspace_id: string;
1641
+ /** @description Id of the job. */
1249
1642
  id: string;
1250
1643
  };
1251
1644
  cookie?: never;
@@ -1255,6 +1648,12 @@ interface operations {
1255
1648
  /** @description Job row. */
1256
1649
  200: {
1257
1650
  headers: {
1651
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1652
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1653
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1654
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1655
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1656
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1258
1657
  "X-Request-Id": components["headers"]["RequestId"];
1259
1658
  [name: string]: unknown;
1260
1659
  };
@@ -1272,6 +1671,19 @@ interface operations {
1272
1671
  "application/json": components["schemas"]["ErrorResponseDto"];
1273
1672
  };
1274
1673
  };
1674
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1675
+ 429: {
1676
+ headers: {
1677
+ "Retry-After": components["headers"]["Retry-After"];
1678
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1679
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1680
+ "X-Request-Id": components["headers"]["RequestId"];
1681
+ [name: string]: unknown;
1682
+ };
1683
+ content: {
1684
+ "application/json": components["schemas"]["ErrorResponseDto"];
1685
+ };
1686
+ };
1275
1687
  };
1276
1688
  };
1277
1689
  JobController_cancel: {
@@ -1279,7 +1691,9 @@ interface operations {
1279
1691
  query?: never;
1280
1692
  header?: never;
1281
1693
  path: {
1694
+ /** @description Id of the workspace. */
1282
1695
  workspace_id: string;
1696
+ /** @description Id of the job. */
1283
1697
  id: string;
1284
1698
  };
1285
1699
  cookie?: never;
@@ -1289,6 +1703,12 @@ interface operations {
1289
1703
  /** @description Job cancelled. */
1290
1704
  200: {
1291
1705
  headers: {
1706
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1707
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1708
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1709
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1710
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1711
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1292
1712
  "X-Request-Id": components["headers"]["RequestId"];
1293
1713
  [name: string]: unknown;
1294
1714
  };
@@ -1316,13 +1736,26 @@ interface operations {
1316
1736
  "application/json": components["schemas"]["ErrorResponseDto"];
1317
1737
  };
1318
1738
  };
1739
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1740
+ 429: {
1741
+ headers: {
1742
+ "Retry-After": components["headers"]["Retry-After"];
1743
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1744
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1745
+ "X-Request-Id": components["headers"]["RequestId"];
1746
+ [name: string]: unknown;
1747
+ };
1748
+ content: {
1749
+ "application/json": components["schemas"]["ErrorResponseDto"];
1750
+ };
1751
+ };
1319
1752
  };
1320
1753
  };
1321
1754
  WorkspaceStatsController_get: {
1322
1755
  parameters: {
1323
1756
  query?: {
1324
1757
  /** @description Window for `in_window` and the length of `series`, in UTC days ending today. */
1325
- window?: "1d" | "7d" | "30d";
1758
+ window?: components["schemas"]["StatsWindow"];
1326
1759
  };
1327
1760
  header?: never;
1328
1761
  path: {
@@ -1336,6 +1769,12 @@ interface operations {
1336
1769
  /** @description Trawl stats. */
1337
1770
  200: {
1338
1771
  headers: {
1772
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1773
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1774
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1775
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1776
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1777
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1339
1778
  "X-Request-Id": components["headers"]["RequestId"];
1340
1779
  [name: string]: unknown;
1341
1780
  };
@@ -1373,6 +1812,19 @@ interface operations {
1373
1812
  "application/json": components["schemas"]["ErrorResponseDto"];
1374
1813
  };
1375
1814
  };
1815
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1816
+ 429: {
1817
+ headers: {
1818
+ "Retry-After": components["headers"]["Retry-After"];
1819
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1820
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1821
+ "X-Request-Id": components["headers"]["RequestId"];
1822
+ [name: string]: unknown;
1823
+ };
1824
+ content: {
1825
+ "application/json": components["schemas"]["ErrorResponseDto"];
1826
+ };
1827
+ };
1376
1828
  };
1377
1829
  };
1378
1830
  WebhookController_list: {
@@ -1385,6 +1837,7 @@ interface operations {
1385
1837
  };
1386
1838
  header?: never;
1387
1839
  path: {
1840
+ /** @description Id of the workspace. */
1388
1841
  workspace_id: string;
1389
1842
  };
1390
1843
  cookie?: never;
@@ -1394,6 +1847,12 @@ interface operations {
1394
1847
  /** @description Page of webhooks with a pagination cursor. */
1395
1848
  200: {
1396
1849
  headers: {
1850
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1851
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1852
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1853
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1854
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1855
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1397
1856
  "X-Request-Id": components["headers"]["RequestId"];
1398
1857
  [name: string]: unknown;
1399
1858
  };
@@ -1411,6 +1870,19 @@ interface operations {
1411
1870
  "application/json": components["schemas"]["ErrorResponseDto"];
1412
1871
  };
1413
1872
  };
1873
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1874
+ 429: {
1875
+ headers: {
1876
+ "Retry-After": components["headers"]["Retry-After"];
1877
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1878
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1879
+ "X-Request-Id": components["headers"]["RequestId"];
1880
+ [name: string]: unknown;
1881
+ };
1882
+ content: {
1883
+ "application/json": components["schemas"]["ErrorResponseDto"];
1884
+ };
1885
+ };
1414
1886
  };
1415
1887
  };
1416
1888
  WebhookController_create: {
@@ -1421,6 +1893,7 @@ interface operations {
1421
1893
  "Idempotency-Key"?: string;
1422
1894
  };
1423
1895
  path: {
1896
+ /** @description Id of the workspace. */
1424
1897
  workspace_id: string;
1425
1898
  };
1426
1899
  cookie?: never;
@@ -1434,6 +1907,14 @@ interface operations {
1434
1907
  /** @description Webhook created. Includes plaintext `signing_secret` exactly once. */
1435
1908
  201: {
1436
1909
  headers: {
1910
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
1911
+ "Idempotent-Replay"?: "true";
1912
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1913
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1914
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1915
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1916
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1917
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1437
1918
  "X-Request-Id": components["headers"]["RequestId"];
1438
1919
  [name: string]: unknown;
1439
1920
  };
@@ -1451,9 +1932,24 @@ interface operations {
1451
1932
  "application/json": components["schemas"]["ErrorResponseDto"];
1452
1933
  };
1453
1934
  };
1454
- /** @description The workspace already has 10 webhooks. */
1935
+ /** @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
1936
  409: {
1456
1937
  headers: {
1938
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
1939
+ "Retry-After"?: number;
1940
+ "X-Request-Id": components["headers"]["RequestId"];
1941
+ [name: string]: unknown;
1942
+ };
1943
+ content: {
1944
+ "application/json": components["schemas"]["ErrorResponseDto"];
1945
+ };
1946
+ };
1947
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
1948
+ 429: {
1949
+ headers: {
1950
+ "Retry-After": components["headers"]["Retry-After"];
1951
+ "Retry-After-long": components["headers"]["Retry-After-long"];
1952
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1457
1953
  "X-Request-Id": components["headers"]["RequestId"];
1458
1954
  [name: string]: unknown;
1459
1955
  };
@@ -1468,6 +1964,7 @@ interface operations {
1468
1964
  query?: never;
1469
1965
  header?: never;
1470
1966
  path: {
1967
+ /** @description Id of the workspace. */
1471
1968
  workspace_id: string;
1472
1969
  };
1473
1970
  cookie?: never;
@@ -1476,6 +1973,12 @@ interface operations {
1476
1973
  responses: {
1477
1974
  200: {
1478
1975
  headers: {
1976
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
1977
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
1978
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
1979
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
1980
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
1981
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1479
1982
  "X-Request-Id": components["headers"]["RequestId"];
1480
1983
  [name: string]: unknown;
1481
1984
  };
@@ -1513,6 +2016,19 @@ interface operations {
1513
2016
  "application/json": components["schemas"]["ErrorResponseDto"];
1514
2017
  };
1515
2018
  };
2019
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2020
+ 429: {
2021
+ headers: {
2022
+ "Retry-After": components["headers"]["Retry-After"];
2023
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2024
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2025
+ "X-Request-Id": components["headers"]["RequestId"];
2026
+ [name: string]: unknown;
2027
+ };
2028
+ content: {
2029
+ "application/json": components["schemas"]["ErrorResponseDto"];
2030
+ };
2031
+ };
1516
2032
  };
1517
2033
  };
1518
2034
  WebhooksController_trawl_workspace_createEndpoint: {
@@ -1523,6 +2039,7 @@ interface operations {
1523
2039
  "Idempotency-Key"?: string;
1524
2040
  };
1525
2041
  path: {
2042
+ /** @description Id of the workspace. */
1526
2043
  workspace_id: string;
1527
2044
  };
1528
2045
  cookie?: never;
@@ -1535,6 +2052,14 @@ interface operations {
1535
2052
  responses: {
1536
2053
  201: {
1537
2054
  headers: {
2055
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2056
+ "Idempotent-Replay"?: "true";
2057
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2058
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2059
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2060
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2061
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2062
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1538
2063
  "X-Request-Id": components["headers"]["RequestId"];
1539
2064
  [name: string]: unknown;
1540
2065
  };
@@ -1572,9 +2097,11 @@ interface operations {
1572
2097
  "application/json": components["schemas"]["ErrorResponseDto"];
1573
2098
  };
1574
2099
  };
1575
- /** @description Already 10 endpoints (`WEBHOOK_ENDPOINT_LIMIT`), or Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2100
+ /** @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
2101
  409: {
1577
2102
  headers: {
2103
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2104
+ "Retry-After"?: number;
1578
2105
  "X-Request-Id": components["headers"]["RequestId"];
1579
2106
  [name: string]: unknown;
1580
2107
  };
@@ -1592,6 +2119,19 @@ interface operations {
1592
2119
  "application/json": components["schemas"]["ErrorResponseDto"];
1593
2120
  };
1594
2121
  };
2122
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2123
+ 429: {
2124
+ headers: {
2125
+ "Retry-After": components["headers"]["Retry-After"];
2126
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2127
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2128
+ "X-Request-Id": components["headers"]["RequestId"];
2129
+ [name: string]: unknown;
2130
+ };
2131
+ content: {
2132
+ "application/json": components["schemas"]["ErrorResponseDto"];
2133
+ };
2134
+ };
1595
2135
  };
1596
2136
  };
1597
2137
  WebhooksController_trawl_workspace_getEndpoint: {
@@ -1599,7 +2139,9 @@ interface operations {
1599
2139
  query?: never;
1600
2140
  header?: never;
1601
2141
  path: {
2142
+ /** @description Id of the workspace. */
1602
2143
  workspace_id: string;
2144
+ /** @description Id of the endpoint. */
1603
2145
  endpoint_id: string;
1604
2146
  };
1605
2147
  cookie?: never;
@@ -1608,6 +2150,12 @@ interface operations {
1608
2150
  responses: {
1609
2151
  200: {
1610
2152
  headers: {
2153
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2154
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2155
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2156
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2157
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2158
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1611
2159
  "X-Request-Id": components["headers"]["RequestId"];
1612
2160
  [name: string]: unknown;
1613
2161
  };
@@ -1655,6 +2203,19 @@ interface operations {
1655
2203
  "application/json": components["schemas"]["ErrorResponseDto"];
1656
2204
  };
1657
2205
  };
2206
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2207
+ 429: {
2208
+ headers: {
2209
+ "Retry-After": components["headers"]["Retry-After"];
2210
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2211
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2212
+ "X-Request-Id": components["headers"]["RequestId"];
2213
+ [name: string]: unknown;
2214
+ };
2215
+ content: {
2216
+ "application/json": components["schemas"]["ErrorResponseDto"];
2217
+ };
2218
+ };
1658
2219
  };
1659
2220
  };
1660
2221
  WebhooksController_trawl_workspace_deleteEndpoint: {
@@ -1662,7 +2223,9 @@ interface operations {
1662
2223
  query?: never;
1663
2224
  header?: never;
1664
2225
  path: {
2226
+ /** @description Id of the workspace. */
1665
2227
  workspace_id: string;
2228
+ /** @description Id of the endpoint. */
1666
2229
  endpoint_id: string;
1667
2230
  };
1668
2231
  cookie?: never;
@@ -1672,6 +2235,12 @@ interface operations {
1672
2235
  /** @description Deleted. */
1673
2236
  204: {
1674
2237
  headers: {
2238
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2239
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2240
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2241
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2242
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2243
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1675
2244
  "X-Request-Id": components["headers"]["RequestId"];
1676
2245
  [name: string]: unknown;
1677
2246
  };
@@ -1717,6 +2286,19 @@ interface operations {
1717
2286
  "application/json": components["schemas"]["ErrorResponseDto"];
1718
2287
  };
1719
2288
  };
2289
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2290
+ 429: {
2291
+ headers: {
2292
+ "Retry-After": components["headers"]["Retry-After"];
2293
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2294
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2295
+ "X-Request-Id": components["headers"]["RequestId"];
2296
+ [name: string]: unknown;
2297
+ };
2298
+ content: {
2299
+ "application/json": components["schemas"]["ErrorResponseDto"];
2300
+ };
2301
+ };
1720
2302
  };
1721
2303
  };
1722
2304
  WebhooksController_trawl_workspace_updateEndpoint: {
@@ -1727,7 +2309,9 @@ interface operations {
1727
2309
  "Idempotency-Key"?: string;
1728
2310
  };
1729
2311
  path: {
2312
+ /** @description Id of the workspace. */
1730
2313
  workspace_id: string;
2314
+ /** @description Id of the endpoint. */
1731
2315
  endpoint_id: string;
1732
2316
  };
1733
2317
  cookie?: never;
@@ -1740,6 +2324,14 @@ interface operations {
1740
2324
  responses: {
1741
2325
  200: {
1742
2326
  headers: {
2327
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2328
+ "Idempotent-Replay"?: "true";
2329
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2330
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2331
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2332
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2333
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2334
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1743
2335
  "X-Request-Id": components["headers"]["RequestId"];
1744
2336
  [name: string]: unknown;
1745
2337
  };
@@ -1787,9 +2379,11 @@ interface operations {
1787
2379
  "application/json": components["schemas"]["ErrorResponseDto"];
1788
2380
  };
1789
2381
  };
1790
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2382
+ /** @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
2383
  409: {
1792
2384
  headers: {
2385
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2386
+ "Retry-After"?: number;
1793
2387
  "X-Request-Id": components["headers"]["RequestId"];
1794
2388
  [name: string]: unknown;
1795
2389
  };
@@ -1807,6 +2401,19 @@ interface operations {
1807
2401
  "application/json": components["schemas"]["ErrorResponseDto"];
1808
2402
  };
1809
2403
  };
2404
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2405
+ 429: {
2406
+ headers: {
2407
+ "Retry-After": components["headers"]["Retry-After"];
2408
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2409
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2410
+ "X-Request-Id": components["headers"]["RequestId"];
2411
+ [name: string]: unknown;
2412
+ };
2413
+ content: {
2414
+ "application/json": components["schemas"]["ErrorResponseDto"];
2415
+ };
2416
+ };
1810
2417
  };
1811
2418
  };
1812
2419
  WebhooksController_trawl_workspace_rotateSecret: {
@@ -1817,7 +2424,9 @@ interface operations {
1817
2424
  "Idempotency-Key"?: string;
1818
2425
  };
1819
2426
  path: {
2427
+ /** @description Id of the workspace. */
1820
2428
  workspace_id: string;
2429
+ /** @description Id of the endpoint. */
1821
2430
  endpoint_id: string;
1822
2431
  };
1823
2432
  cookie?: never;
@@ -1830,6 +2439,14 @@ interface operations {
1830
2439
  responses: {
1831
2440
  200: {
1832
2441
  headers: {
2442
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2443
+ "Idempotent-Replay"?: "true";
2444
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2445
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2446
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2447
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2448
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2449
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1833
2450
  "X-Request-Id": components["headers"]["RequestId"];
1834
2451
  [name: string]: unknown;
1835
2452
  };
@@ -1877,9 +2494,24 @@ interface operations {
1877
2494
  "application/json": components["schemas"]["ErrorResponseDto"];
1878
2495
  };
1879
2496
  };
1880
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2497
+ /** @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
2498
  409: {
1882
2499
  headers: {
2500
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2501
+ "Retry-After"?: number;
2502
+ "X-Request-Id": components["headers"]["RequestId"];
2503
+ [name: string]: unknown;
2504
+ };
2505
+ content: {
2506
+ "application/json": components["schemas"]["ErrorResponseDto"];
2507
+ };
2508
+ };
2509
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2510
+ 429: {
2511
+ headers: {
2512
+ "Retry-After": components["headers"]["Retry-After"];
2513
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2514
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1883
2515
  "X-Request-Id": components["headers"]["RequestId"];
1884
2516
  [name: string]: unknown;
1885
2517
  };
@@ -1897,7 +2529,9 @@ interface operations {
1897
2529
  "Idempotency-Key"?: string;
1898
2530
  };
1899
2531
  path: {
2532
+ /** @description Id of the workspace. */
1900
2533
  workspace_id: string;
2534
+ /** @description Id of the endpoint. */
1901
2535
  endpoint_id: string;
1902
2536
  };
1903
2537
  cookie?: never;
@@ -1911,6 +2545,14 @@ interface operations {
1911
2545
  /** @description The attempt, successful or not. */
1912
2546
  200: {
1913
2547
  headers: {
2548
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2549
+ "Idempotent-Replay"?: "true";
2550
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2551
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2552
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2553
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2554
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2555
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1914
2556
  "X-Request-Id": components["headers"]["RequestId"];
1915
2557
  [name: string]: unknown;
1916
2558
  };
@@ -1958,9 +2600,24 @@ interface operations {
1958
2600
  "application/json": components["schemas"]["ErrorResponseDto"];
1959
2601
  };
1960
2602
  };
1961
- /** @description Idempotency-Key reused with a different body (`IDEMPOTENCY_KEY_REUSE`). */
2603
+ /** @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
2604
  409: {
1963
2605
  headers: {
2606
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2607
+ "Retry-After"?: number;
2608
+ "X-Request-Id": components["headers"]["RequestId"];
2609
+ [name: string]: unknown;
2610
+ };
2611
+ content: {
2612
+ "application/json": components["schemas"]["ErrorResponseDto"];
2613
+ };
2614
+ };
2615
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2616
+ 429: {
2617
+ headers: {
2618
+ "Retry-After": components["headers"]["Retry-After"];
2619
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2620
+ "Retry-After-short": components["headers"]["Retry-After-short"];
1964
2621
  "X-Request-Id": components["headers"]["RequestId"];
1965
2622
  [name: string]: unknown;
1966
2623
  };
@@ -1975,6 +2632,7 @@ interface operations {
1975
2632
  query?: never;
1976
2633
  header?: never;
1977
2634
  path: {
2635
+ /** @description Id of the workspace. */
1978
2636
  workspace_id: string;
1979
2637
  };
1980
2638
  cookie?: never;
@@ -1983,6 +2641,12 @@ interface operations {
1983
2641
  responses: {
1984
2642
  200: {
1985
2643
  headers: {
2644
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2645
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2646
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2647
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2648
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2649
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
1986
2650
  "X-Request-Id": components["headers"]["RequestId"];
1987
2651
  [name: string]: unknown;
1988
2652
  };
@@ -2010,6 +2674,19 @@ interface operations {
2010
2674
  "application/json": components["schemas"]["ErrorResponseDto"];
2011
2675
  };
2012
2676
  };
2677
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2678
+ 429: {
2679
+ headers: {
2680
+ "Retry-After": components["headers"]["Retry-After"];
2681
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2682
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2683
+ "X-Request-Id": components["headers"]["RequestId"];
2684
+ [name: string]: unknown;
2685
+ };
2686
+ content: {
2687
+ "application/json": components["schemas"]["ErrorResponseDto"];
2688
+ };
2689
+ };
2013
2690
  };
2014
2691
  };
2015
2692
  WebhooksController_trawl_workspace_listEvents: {
@@ -2019,17 +2696,20 @@ interface operations {
2019
2696
  type?: ("job.succeeded" | "job.failed" | "credits.low")[];
2020
2697
  /** @description Only events sent (or queued) to this endpoint. */
2021
2698
  endpoint_id?: string;
2022
- status?: "pending" | "delivered" | "failed" | "not_sent";
2699
+ /** @description Only events in this delivery status. */
2700
+ status?: components["schemas"]["WebhookEventStatus"];
2023
2701
  /** @description Only events created at or after this instant. */
2024
2702
  created_after?: string;
2025
2703
  /** @description Only events created before this instant. */
2026
2704
  created_before?: string;
2705
+ /** @description Page size. */
2027
2706
  limit?: number;
2028
2707
  /** @description The previous page's `pagination.next_cursor`. */
2029
2708
  cursor?: string;
2030
2709
  };
2031
2710
  header?: never;
2032
2711
  path: {
2712
+ /** @description Id of the workspace. */
2033
2713
  workspace_id: string;
2034
2714
  };
2035
2715
  cookie?: never;
@@ -2038,6 +2718,12 @@ interface operations {
2038
2718
  responses: {
2039
2719
  200: {
2040
2720
  headers: {
2721
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2722
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2723
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2724
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2725
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2726
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2041
2727
  "X-Request-Id": components["headers"]["RequestId"];
2042
2728
  [name: string]: unknown;
2043
2729
  };
@@ -2075,6 +2761,19 @@ interface operations {
2075
2761
  "application/json": components["schemas"]["ErrorResponseDto"];
2076
2762
  };
2077
2763
  };
2764
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2765
+ 429: {
2766
+ headers: {
2767
+ "Retry-After": components["headers"]["Retry-After"];
2768
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2769
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2770
+ "X-Request-Id": components["headers"]["RequestId"];
2771
+ [name: string]: unknown;
2772
+ };
2773
+ content: {
2774
+ "application/json": components["schemas"]["ErrorResponseDto"];
2775
+ };
2776
+ };
2078
2777
  };
2079
2778
  };
2080
2779
  WebhooksController_trawl_workspace_getEvent: {
@@ -2082,6 +2781,7 @@ interface operations {
2082
2781
  query?: never;
2083
2782
  header?: never;
2084
2783
  path: {
2784
+ /** @description Id of the workspace. */
2085
2785
  workspace_id: string;
2086
2786
  /** @description The event id, `evt_<uuid>`. */
2087
2787
  event_id: string;
@@ -2092,6 +2792,12 @@ interface operations {
2092
2792
  responses: {
2093
2793
  200: {
2094
2794
  headers: {
2795
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2796
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2797
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2798
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2799
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2800
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2095
2801
  "X-Request-Id": components["headers"]["RequestId"];
2096
2802
  [name: string]: unknown;
2097
2803
  };
@@ -2139,6 +2845,19 @@ interface operations {
2139
2845
  "application/json": components["schemas"]["ErrorResponseDto"];
2140
2846
  };
2141
2847
  };
2848
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2849
+ 429: {
2850
+ headers: {
2851
+ "Retry-After": components["headers"]["Retry-After"];
2852
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2853
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2854
+ "X-Request-Id": components["headers"]["RequestId"];
2855
+ [name: string]: unknown;
2856
+ };
2857
+ content: {
2858
+ "application/json": components["schemas"]["ErrorResponseDto"];
2859
+ };
2860
+ };
2142
2861
  };
2143
2862
  };
2144
2863
  WebhooksController_trawl_workspace_replay: {
@@ -2152,6 +2871,7 @@ interface operations {
2152
2871
  "Idempotency-Key"?: string;
2153
2872
  };
2154
2873
  path: {
2874
+ /** @description Id of the workspace. */
2155
2875
  workspace_id: string;
2156
2876
  /** @description The event id, `evt_<uuid>`. */
2157
2877
  event_id: string;
@@ -2162,6 +2882,14 @@ interface operations {
2162
2882
  responses: {
2163
2883
  200: {
2164
2884
  headers: {
2885
+ /** @description `true` when this response is a replay of an earlier request with the same `Idempotency-Key`. */
2886
+ "Idempotent-Replay"?: "true";
2887
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2888
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2889
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2890
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2891
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2892
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2165
2893
  "X-Request-Id": components["headers"]["RequestId"];
2166
2894
  [name: string]: unknown;
2167
2895
  };
@@ -2209,9 +2937,24 @@ interface operations {
2209
2937
  "application/json": components["schemas"]["ErrorResponseDto"];
2210
2938
  };
2211
2939
  };
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`). */
2940
+ /** @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
2941
  409: {
2214
2942
  headers: {
2943
+ /** @description Seconds to wait before retrying with the same key (sent with `IDEMPOTENCY_IN_PROGRESS`). */
2944
+ "Retry-After"?: number;
2945
+ "X-Request-Id": components["headers"]["RequestId"];
2946
+ [name: string]: unknown;
2947
+ };
2948
+ content: {
2949
+ "application/json": components["schemas"]["ErrorResponseDto"];
2950
+ };
2951
+ };
2952
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
2953
+ 429: {
2954
+ headers: {
2955
+ "Retry-After": components["headers"]["Retry-After"];
2956
+ "Retry-After-long": components["headers"]["Retry-After-long"];
2957
+ "Retry-After-short": components["headers"]["Retry-After-short"];
2215
2958
  "X-Request-Id": components["headers"]["RequestId"];
2216
2959
  [name: string]: unknown;
2217
2960
  };
@@ -2226,7 +2969,9 @@ interface operations {
2226
2969
  query?: never;
2227
2970
  header?: never;
2228
2971
  path: {
2972
+ /** @description Id of the workspace. */
2229
2973
  workspace_id: string;
2974
+ /** @description Id of the webhook. */
2230
2975
  id: string;
2231
2976
  };
2232
2977
  cookie?: never;
@@ -2236,6 +2981,12 @@ interface operations {
2236
2981
  /** @description Webhook. */
2237
2982
  200: {
2238
2983
  headers: {
2984
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
2985
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
2986
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
2987
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
2988
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
2989
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2239
2990
  "X-Request-Id": components["headers"]["RequestId"];
2240
2991
  [name: string]: unknown;
2241
2992
  };
@@ -2263,6 +3014,19 @@ interface operations {
2263
3014
  "application/json": components["schemas"]["ErrorResponseDto"];
2264
3015
  };
2265
3016
  };
3017
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3018
+ 429: {
3019
+ headers: {
3020
+ "Retry-After": components["headers"]["Retry-After"];
3021
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3022
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3023
+ "X-Request-Id": components["headers"]["RequestId"];
3024
+ [name: string]: unknown;
3025
+ };
3026
+ content: {
3027
+ "application/json": components["schemas"]["ErrorResponseDto"];
3028
+ };
3029
+ };
2266
3030
  };
2267
3031
  };
2268
3032
  WebhookController_remove: {
@@ -2270,7 +3034,9 @@ interface operations {
2270
3034
  query?: never;
2271
3035
  header?: never;
2272
3036
  path: {
3037
+ /** @description Id of the workspace. */
2273
3038
  workspace_id: string;
3039
+ /** @description Id of the webhook. */
2274
3040
  id: string;
2275
3041
  };
2276
3042
  cookie?: never;
@@ -2280,6 +3046,12 @@ interface operations {
2280
3046
  /** @description Deleted. */
2281
3047
  204: {
2282
3048
  headers: {
3049
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3050
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3051
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3052
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3053
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3054
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2283
3055
  "X-Request-Id": components["headers"]["RequestId"];
2284
3056
  [name: string]: unknown;
2285
3057
  };
@@ -2295,6 +3067,19 @@ interface operations {
2295
3067
  "application/json": components["schemas"]["ErrorResponseDto"];
2296
3068
  };
2297
3069
  };
3070
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3071
+ 429: {
3072
+ headers: {
3073
+ "Retry-After": components["headers"]["Retry-After"];
3074
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3075
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3076
+ "X-Request-Id": components["headers"]["RequestId"];
3077
+ [name: string]: unknown;
3078
+ };
3079
+ content: {
3080
+ "application/json": components["schemas"]["ErrorResponseDto"];
3081
+ };
3082
+ };
2298
3083
  };
2299
3084
  };
2300
3085
  WebhookController_update: {
@@ -2302,7 +3087,9 @@ interface operations {
2302
3087
  query?: never;
2303
3088
  header?: never;
2304
3089
  path: {
3090
+ /** @description Id of the workspace. */
2305
3091
  workspace_id: string;
3092
+ /** @description Id of the webhook. */
2306
3093
  id: string;
2307
3094
  };
2308
3095
  cookie?: never;
@@ -2316,6 +3103,12 @@ interface operations {
2316
3103
  /** @description Updated webhook (secret masked). */
2317
3104
  200: {
2318
3105
  headers: {
3106
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3107
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3108
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3109
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3110
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3111
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2319
3112
  "X-Request-Id": components["headers"]["RequestId"];
2320
3113
  [name: string]: unknown;
2321
3114
  };
@@ -2343,6 +3136,19 @@ interface operations {
2343
3136
  "application/json": components["schemas"]["ErrorResponseDto"];
2344
3137
  };
2345
3138
  };
3139
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3140
+ 429: {
3141
+ headers: {
3142
+ "Retry-After": components["headers"]["Retry-After"];
3143
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3144
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3145
+ "X-Request-Id": components["headers"]["RequestId"];
3146
+ [name: string]: unknown;
3147
+ };
3148
+ content: {
3149
+ "application/json": components["schemas"]["ErrorResponseDto"];
3150
+ };
3151
+ };
2346
3152
  };
2347
3153
  };
2348
3154
  WebhookController_recentDeliveries: {
@@ -2357,7 +3163,9 @@ interface operations {
2357
3163
  };
2358
3164
  header?: never;
2359
3165
  path: {
3166
+ /** @description Id of the workspace. */
2360
3167
  workspace_id: string;
3168
+ /** @description Id of the webhook. */
2361
3169
  id: string;
2362
3170
  };
2363
3171
  cookie?: never;
@@ -2367,6 +3175,12 @@ interface operations {
2367
3175
  /** @description Page of delivery attempts with a pagination cursor. */
2368
3176
  200: {
2369
3177
  headers: {
3178
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3179
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3180
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3181
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3182
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3183
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2370
3184
  "X-Request-Id": components["headers"]["RequestId"];
2371
3185
  [name: string]: unknown;
2372
3186
  };
@@ -2394,6 +3208,19 @@ interface operations {
2394
3208
  "application/json": components["schemas"]["ErrorResponseDto"];
2395
3209
  };
2396
3210
  };
3211
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3212
+ 429: {
3213
+ headers: {
3214
+ "Retry-After": components["headers"]["Retry-After"];
3215
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3216
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3217
+ "X-Request-Id": components["headers"]["RequestId"];
3218
+ [name: string]: unknown;
3219
+ };
3220
+ content: {
3221
+ "application/json": components["schemas"]["ErrorResponseDto"];
3222
+ };
3223
+ };
2397
3224
  };
2398
3225
  };
2399
3226
  WebhookController_rotateSecret: {
@@ -2401,7 +3228,9 @@ interface operations {
2401
3228
  query?: never;
2402
3229
  header?: never;
2403
3230
  path: {
3231
+ /** @description Id of the workspace. */
2404
3232
  workspace_id: string;
3233
+ /** @description Id of the webhook. */
2405
3234
  id: string;
2406
3235
  };
2407
3236
  cookie?: never;
@@ -2411,6 +3240,12 @@ interface operations {
2411
3240
  /** @description Secret rotated. Includes the new plaintext secret exactly once. */
2412
3241
  201: {
2413
3242
  headers: {
3243
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3244
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3245
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3246
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3247
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3248
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2414
3249
  "X-Request-Id": components["headers"]["RequestId"];
2415
3250
  [name: string]: unknown;
2416
3251
  };
@@ -2428,6 +3263,19 @@ interface operations {
2428
3263
  "application/json": components["schemas"]["ErrorResponseDto"];
2429
3264
  };
2430
3265
  };
3266
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3267
+ 429: {
3268
+ headers: {
3269
+ "Retry-After": components["headers"]["Retry-After"];
3270
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3271
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3272
+ "X-Request-Id": components["headers"]["RequestId"];
3273
+ [name: string]: unknown;
3274
+ };
3275
+ content: {
3276
+ "application/json": components["schemas"]["ErrorResponseDto"];
3277
+ };
3278
+ };
2431
3279
  };
2432
3280
  };
2433
3281
  WebhookController_fireTest: {
@@ -2435,7 +3283,9 @@ interface operations {
2435
3283
  query?: never;
2436
3284
  header?: never;
2437
3285
  path: {
3286
+ /** @description Id of the workspace. */
2438
3287
  workspace_id: string;
3288
+ /** @description Id of the webhook. */
2439
3289
  id: string;
2440
3290
  };
2441
3291
  cookie?: never;
@@ -2445,6 +3295,12 @@ interface operations {
2445
3295
  /** @description Sent. Read the outcome from `/deliveries`. */
2446
3296
  202: {
2447
3297
  headers: {
3298
+ "X-RateLimit-Limit-long": components["headers"]["X-RateLimit-Limit-long"];
3299
+ "X-RateLimit-Limit-short": components["headers"]["X-RateLimit-Limit-short"];
3300
+ "X-RateLimit-Remaining-long": components["headers"]["X-RateLimit-Remaining-long"];
3301
+ "X-RateLimit-Remaining-short": components["headers"]["X-RateLimit-Remaining-short"];
3302
+ "X-RateLimit-Reset-long": components["headers"]["X-RateLimit-Reset-long"];
3303
+ "X-RateLimit-Reset-short": components["headers"]["X-RateLimit-Reset-short"];
2448
3304
  "X-Request-Id": components["headers"]["RequestId"];
2449
3305
  [name: string]: unknown;
2450
3306
  };
@@ -2472,6 +3328,19 @@ interface operations {
2472
3328
  "application/json": components["schemas"]["ErrorResponseDto"];
2473
3329
  };
2474
3330
  };
3331
+ /** @description More than 20 requests per second or 600 per minute from this client IP (`RATE_LIMITED`); wait `Retry-After` seconds. */
3332
+ 429: {
3333
+ headers: {
3334
+ "Retry-After": components["headers"]["Retry-After"];
3335
+ "Retry-After-long": components["headers"]["Retry-After-long"];
3336
+ "Retry-After-short": components["headers"]["Retry-After-short"];
3337
+ "X-Request-Id": components["headers"]["RequestId"];
3338
+ [name: string]: unknown;
3339
+ };
3340
+ content: {
3341
+ "application/json": components["schemas"]["ErrorResponseDto"];
3342
+ };
3343
+ };
2475
3344
  };
2476
3345
  };
2477
3346
  }