{
  "info": {
    "name": "ArcNautical API v1",
    "description": "Vessel sanctions screening, monitors, fleets, cargo screening, voyage risk, webhooks and exports. Two folders need no key at all. For the rest, set `apiKey` in the ArcNautical environment to a key minted at https://arcnautical.com/arcnautical.html#/developer-api (self-serve, no approval step). Guide: https://arcnautical.com/developers/ · Reference: https://arcnautical.com/developers/reference/ · Contract: https://arcnautical.com/api/v1/openapi.json",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://arcnautical.com",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "",
      "type": "string",
      "description": "arc_live_… or arc_test_… — mint one self-serve at #/developer-api. Prefer the environment variable of the same name."
    }
  ],
  "item": [
    {
      "name": "Public vessel check",
      "description": {
        "content": "Unauthenticated hull screening. IP rate-limited, cached, and not retained against a customer. Requires no key and no account — this is the endpoint the documentation leads with.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Screen a hull by IMO (no key)",
          "request": {
            "name": "Screen a hull by IMO (no key)",
            "description": {
              "content": "Screens one hull against sanctions, ownership opacity, and vetting. Requires NO API key and no account. Rate-limited to 100 requests/hour per IP and cached for one hour. The response reports X-RateLimit-Limit, -Remaining and -Reset so a client can pace itself without being refused first. Results are not retained against a customer and carry no quota. This screens a VESSEL, not a voyage — voyage scoring is POST /api/v1/voyage-assessments and needs a key.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessels",
                ":imo",
                "check"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "9274446",
                  "key": "imo",
                  "description": "(Required) Seven-digit IMO number."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "Screening verdict.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessels",
                    ":imo",
                    "check"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "imo",
                      "description": "(Required) Seven-digit IMO number."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Requests allowed per hour, per IP.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Verdicts are cached for one hour. INCOMPLETE is never cached.",
                  "key": "Cache-Control",
                  "value": "<string>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"imo\": \"9274446\",\n  \"sanctions\": {\n    \"status\": \"RED\",\n    \"detail\": \"4 confirmed matches on vessel identifier.\",\n    \"detailKey\": \"verdict.sanctions.confirmed_match_other\",\n    \"detailParams\": {\n      \"count\": 4\n    },\n    \"coverageComplete\": true,\n    \"coverageGaps\": [],\n    \"identityScope\": \"current-name-and-identifiers\"\n  },\n  \"ownership\": {\n    \"opacity\": \"MEDIUM\",\n    \"score\": 40\n  },\n  \"vetting\": {\n    \"grade\": \"E\",\n    \"score\": 90,\n    \"status\": \"unacceptable\"\n  },\n  \"assessed\": true,\n  \"checkedAt\": \"2026-09-12T08:10:40.616Z\",\n  \"provider\": \"ArcNautical\",\n  \"fullReport\": \"https://arcnautical.com/check?imo=9274446\",\n  \"docs\": \"https://github.com/SaltyTaro/vessel-check-api\",\n  \"tier\": \"keyless\",\n  \"tierDetail\": \"Verdict summary only. The authenticated record names every sanctions match with its source list, programme and confidence class, reports each source separately, and is retained as a citable screening record. If you already hold an API key, use it here — this endpoint ignores credentials.\",\n  \"fullRecord\": \"https://arcnautical.com/developers\"\n}",
              "cookie": []
            },
            {
              "name": "Per-IP hourly rate limit exceeded.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessels",
                    ":imo",
                    "check"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "imo",
                      "description": "(Required) Seven-digit IMO number."
                    }
                  ]
                },
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "text/plain"
                }
              ],
              "body": "",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Port lookup",
      "description": {
        "content": "Unauthenticated UN/LOCODE resolution. Routes are addressed by LOCODE, so this is how a caller turns a port name into one. Every LOCODE validation error points here.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Find a port by name, country, or UN/LOCODE (no key)",
          "request": {
            "name": "Find a port by name, country, or UN/LOCODE (no key)",
            "description": {
              "content": "Resolves a port name to the UN/LOCODE that route.origin and route.destination require. Requires NO API key. Covers the ports the routing graph can compute against, so a code returned here is guaranteed to be routable. An exact LOCODE match is returned first, which makes this also the way to confirm a code you already hold. Every result carries match_score and match_type so a caller can tell a confident resolution from a weak one programmatically rather than trusting position in the list.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "ports"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "query",
                  "value": "rotterdam",
                  "description": "(Required) Port name, country, or UN/LOCODE. Minimum two characters, case-insensitive."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "20",
                  "description": "Maximum ports to return."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "Matching ports, best match first. An empty array means no port matched.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "ports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "query",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "20"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Static reference data, cached for ten minutes.",
                  "key": "Cache-Control",
                  "value": "<string>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"ports\": [\n    {\n      \"locode\": \"<string>\",\n      \"name\": \"<string>\",\n      \"country\": \"<string>\",\n      \"country_code\": \"<string>\",\n      \"lat\": \"<number>\",\n      \"lon\": \"<number>\",\n      \"match_score\": \"<integer>\",\n      \"match_type\": \"<string>\"\n    },\n    {\n      \"locode\": \"<string>\",\n      \"name\": \"<string>\",\n      \"country\": \"<string>\",\n      \"country_code\": \"<string>\",\n      \"lat\": \"<number>\",\n      \"lon\": \"<number>\",\n      \"match_score\": \"<integer>\",\n      \"match_type\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or too-short query, or a limit outside 1-100. Uses the standard ApiErrorEnvelope.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "ports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "query",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "20"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Vessel screening",
      "description": {
        "content": "The authenticated screening record for one hull, or a batch of up to 50: every sanctions match with its source list and confidence class, ownership opacity, the graded vetting factors, and per-source freshness. Retained ten years. Metered on its own allowance (5,000 live a month).",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "List screenings",
          "request": {
            "name": "List screenings",
            "description": {
              "content": "Returns your screening history newest-first, as summary rows — id, IMO, your customer_reference, the sanctions status, ownership band and vetting grade. This is the audit view: filter by created_after/created_before to produce \"everything we screened in Q3\", or by customer_reference to find the screening behind one of your orders. Fetch the full record with GET /api/v1/screenings/{id}. Pagination is KEYSET, not offset: pass the returned next_cursor as cursor. An offset walk over an append-only log silently skips rows when new screenings land mid-page, which in an audit export is a missing record, not a cosmetic glitch. ownership_opacity and vetting_grade are null when the hull was not assessed — a summary never looks more certain than the record it summarises.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screenings"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-200. Default 50."
                },
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "The next_cursor from the previous page, passed back unmodified. Opaque: it encodes both sort keys so a page boundary inside a group of same-timestamp screenings resumes exactly where it stopped instead of skipping the rest of that group."
                },
                {
                  "disabled": false,
                  "key": "imo",
                  "value": "<string>",
                  "description": "Only screenings of this hull."
                },
                {
                  "disabled": false,
                  "key": "customer_reference",
                  "value": "<string>",
                  "description": "Exact match on the reference you supplied."
                },
                {
                  "disabled": false,
                  "key": "created_after",
                  "value": "<dateTime>",
                  "description": "ISO 8601 lower bound, inclusive."
                },
                {
                  "disabled": false,
                  "key": "created_before",
                  "value": "<dateTime>",
                  "description": "ISO 8601 upper bound, inclusive."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"screenings\": [\n    {\n      \"id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"ownership_opacity\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"assessed\": \"<boolean,null>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"ownership_opacity\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"assessed\": \"<boolean,null>\"\n    }\n  ],\n  \"has_more\": \"<boolean>\",\n  \"next_cursor\": \"<string,null>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Screen one hull",
          "request": {
            "name": "Screen one hull",
            "description": {
              "content": "Synchronously screens one vessel against OFAC SDN, OpenSanctions, EU FSD, UN Consolidated and UK OFSI. The HULL IDENTIFIER (IMO/MMSI) is matched against the lists that publish vessel records — OFAC SDN, OpenSanctions, EU FSD and UK OFSI. The UN Consolidated List publishes individuals and entities only and carries no vessel records, so it contributes at the name and ownership-chain layer rather than by hull identifier. Returns the sanctions verdict with its match evidence, the ownership-opacity band, the A-E vetting grade with its five weighted factors, and per-source freshness. Typically 5-15 seconds — a screen reads several upstream lists, so budget a longer client timeout than a voyage assessment needs. Use POST /api/v1/screening-batches for a fleet. An INCOMPLETE result (the hull could not be named, so no list was read against a name) is stored and replays under the same Idempotency-Key like any other, but it is NOT charged: `unit_charged` is false and the quota headers already reflect the refund.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screenings"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"imo\": \"9274446\",\n  \"customer_reference\": \"order-48213\"\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Screening completed.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Monthly unit limit of the allowance this operation draws on (voyage assessments or screenings), for the authenticated key environment.",
                  "key": "X-ArcNautical-Quota-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Units of that allowance remaining in the current UTC monthly period, AFTER this call settled — on a screening that came back INCOMPLETE the unit was refunded and this already reflects it.",
                  "key": "X-ArcNautical-Quota-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when that monthly allowance resets.",
                  "key": "X-ArcNautical-Quota-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"imo_check_digit_valid\": \"<boolean>\",\n  \"vessel_name\": \"<string,null>\",\n  \"sanctions\": {\n    \"status\": \"<string>\",\n    \"detail\": \"<string>\",\n    \"coverage_complete\": \"<boolean>\",\n    \"coverage_gaps\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"matches\": [\n      {\n        \"source\": \"<string>\",\n        \"name\": \"<string>\",\n        \"match_type\": \"<string>\",\n        \"confidence\": \"<number>\",\n        \"programs\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"confidence_class\": \"<string>\",\n        \"record_type\": \"<string>\",\n        \"drove_verdict\": \"<boolean>\",\n        \"screened_name\": \"<string>\"\n      },\n      {\n        \"source\": \"<string>\",\n        \"name\": \"<string>\",\n        \"match_type\": \"<string>\",\n        \"confidence\": \"<number>\",\n        \"programs\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"confidence_class\": \"<string>\",\n        \"record_type\": \"<string>\",\n        \"drove_verdict\": \"<boolean>\",\n        \"screened_name\": \"<string>\"\n      }\n    ],\n    \"retry_after\": \"<string,null-date-time>\"\n  },\n  \"ownership\": {\n    \"opacity\": \"<string,null>\",\n    \"score\": \"<integer,null>\"\n  },\n  \"vetting\": {\n    \"grade\": \"<string,null>\",\n    \"score\": \"<integer,null>\",\n    \"status\": \"<string>\",\n    \"assessed\": \"<boolean>\",\n    \"factors\": [\n      {\n        \"factor\": \"<string>\",\n        \"score\": \"<number,null>\",\n        \"weight_pct\": \"<integer>\",\n        \"observed\": \"<boolean>\"\n      },\n      {\n        \"factor\": \"<string>\",\n        \"score\": \"<number,null>\",\n        \"weight_pct\": \"<integer>\",\n        \"observed\": \"<boolean>\"\n      }\n    ],\n    \"detention_count\": \"<integer,null>\",\n    \"vessel_age\": \"<integer,null>\",\n    \"score_floor\": {\n      \"basis\": \"<string>\",\n      \"value\": \"<number>\",\n      \"explanation\": \"<string>\",\n      \"weighted_score\": \"<number>\"\n    }\n  },\n  \"sources\": [\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    }\n  ],\n  \"methodology_version\": \"<string>\",\n  \"disclaimer\": \"<string>\",\n  \"screened_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"customer_reference\": \"<string,null>\",\n  \"identity_sources\": [\n    {\n      \"register\": \"<string>\",\n      \"named\": \"<boolean>\",\n      \"reachable\": \"<boolean>\",\n      \"name\": \"<string>\"\n    },\n    {\n      \"register\": \"<string>\",\n      \"named\": \"<boolean>\",\n      \"reachable\": \"<boolean>\",\n      \"name\": \"<string>\"\n    }\n  ],\n  \"identity_basis\": \"<string>\",\n  \"unit_charged\": \"<boolean>\",\n  \"notices\": [\n    {\n      \"code\": \"<string>\",\n      \"message\": \"<string>\",\n      \"remedy\": \"<string>\",\n      \"docs\": \"<uri>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"previous_screened_at\": \"<dateTime>\",\n      \"previous_status\": \"<string>\",\n      \"retry_after\": \"<dateTime>\",\n      \"quota\": {\n        \"limit\": \"<integer>\",\n        \"used\": \"<integer>\",\n        \"remaining\": \"<integer>\",\n        \"resets_at\": \"<dateTime>\"\n      }\n    },\n    {\n      \"code\": \"<string>\",\n      \"message\": \"<string>\",\n      \"remedy\": \"<string>\",\n      \"docs\": \"<uri>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"previous_screened_at\": \"<dateTime>\",\n      \"previous_status\": \"<string>\",\n      \"retry_after\": \"<dateTime>\",\n      \"quota\": {\n        \"limit\": \"<integer>\",\n        \"used\": \"<integer>\",\n        \"remaining\": \"<integer>\",\n        \"resets_at\": \"<dateTime>\"\n      }\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\",\n  \"vessel_name\": \"<string>\",\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Retrieve one screening",
          "request": {
            "name": "Retrieve one screening",
            "description": {
              "content": "Retrieves a previous screening owned by the authenticated customer, replayed VERBATIM — the same verdict, evidence and methodology_version that were returned when it ran. Screenings are retained as compliance evidence for 10 years, matching the OFAC recordkeeping requirement that took effect on 2025-03-12, so a record stays retrievable for as long as a regulator may ask for it. Operational objects (assessments, batches, idempotency keys) keep the shorter 30-day window.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screenings",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"imo_check_digit_valid\": \"<boolean>\",\n  \"vessel_name\": \"<string,null>\",\n  \"sanctions\": {\n    \"status\": \"<string>\",\n    \"detail\": \"<string>\",\n    \"coverage_complete\": \"<boolean>\",\n    \"coverage_gaps\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"matches\": [\n      {\n        \"source\": \"<string>\",\n        \"name\": \"<string>\",\n        \"match_type\": \"<string>\",\n        \"confidence\": \"<number>\",\n        \"programs\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"confidence_class\": \"<string>\",\n        \"record_type\": \"<string>\",\n        \"drove_verdict\": \"<boolean>\",\n        \"screened_name\": \"<string>\"\n      },\n      {\n        \"source\": \"<string>\",\n        \"name\": \"<string>\",\n        \"match_type\": \"<string>\",\n        \"confidence\": \"<number>\",\n        \"programs\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"confidence_class\": \"<string>\",\n        \"record_type\": \"<string>\",\n        \"drove_verdict\": \"<boolean>\",\n        \"screened_name\": \"<string>\"\n      }\n    ],\n    \"retry_after\": \"<string,null-date-time>\"\n  },\n  \"ownership\": {\n    \"opacity\": \"<string,null>\",\n    \"score\": \"<integer,null>\"\n  },\n  \"vetting\": {\n    \"grade\": \"<string,null>\",\n    \"score\": \"<integer,null>\",\n    \"status\": \"<string>\",\n    \"assessed\": \"<boolean>\",\n    \"factors\": [\n      {\n        \"factor\": \"<string>\",\n        \"score\": \"<number,null>\",\n        \"weight_pct\": \"<integer>\",\n        \"observed\": \"<boolean>\"\n      },\n      {\n        \"factor\": \"<string>\",\n        \"score\": \"<number,null>\",\n        \"weight_pct\": \"<integer>\",\n        \"observed\": \"<boolean>\"\n      }\n    ],\n    \"detention_count\": \"<integer,null>\",\n    \"vessel_age\": \"<integer,null>\",\n    \"score_floor\": {\n      \"basis\": \"<string>\",\n      \"value\": \"<number>\",\n      \"explanation\": \"<string>\",\n      \"weighted_score\": \"<number>\"\n    }\n  },\n  \"sources\": [\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    }\n  ],\n  \"methodology_version\": \"<string>\",\n  \"disclaimer\": \"<string>\",\n  \"screened_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"customer_reference\": \"<string,null>\",\n  \"identity_sources\": [\n    {\n      \"register\": \"<string>\",\n      \"named\": \"<boolean>\",\n      \"reachable\": \"<boolean>\",\n      \"name\": \"<string>\"\n    },\n    {\n      \"register\": \"<string>\",\n      \"named\": \"<boolean>\",\n      \"reachable\": \"<boolean>\",\n      \"name\": \"<string>\"\n    }\n  ],\n  \"identity_basis\": \"<string>\",\n  \"unit_charged\": \"<boolean>\",\n  \"notices\": [\n    {\n      \"code\": \"<string>\",\n      \"message\": \"<string>\",\n      \"remedy\": \"<string>\",\n      \"docs\": \"<uri>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"previous_screened_at\": \"<dateTime>\",\n      \"previous_status\": \"<string>\",\n      \"retry_after\": \"<dateTime>\",\n      \"quota\": {\n        \"limit\": \"<integer>\",\n        \"used\": \"<integer>\",\n        \"remaining\": \"<integer>\",\n        \"resets_at\": \"<dateTime>\"\n      }\n    },\n    {\n      \"code\": \"<string>\",\n      \"message\": \"<string>\",\n      \"remedy\": \"<string>\",\n      \"docs\": \"<uri>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"previous_screened_at\": \"<dateTime>\",\n      \"previous_status\": \"<string>\",\n      \"retry_after\": \"<dateTime>\",\n      \"quota\": {\n        \"limit\": \"<integer>\",\n        \"used\": \"<integer>\",\n        \"remaining\": \"<integer>\",\n        \"resets_at\": \"<dateTime>\"\n      }\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Screen a fleet",
          "request": {
            "name": "Screen a fleet",
            "description": {
              "content": "Validates and enqueues up to 50 hulls. Asynchronous by necessity, not by preference: a screen takes seconds and a fleet of 50 would exceed any reasonable request timeout. Poll GET /api/v1/screening-batches/{id} or subscribe to the screening_batch.completed webhook. The per-batch cap is entitlement-specific — read max_hulls from GET /api/v1/usage. Only accepted hulls reserve quota.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screening-batches"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"imos\": [\n    \"9274446\",\n    {\n      \"imo\": \"9141285\",\n      \"customer_reference\": \"order-48214\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Batch accepted for processing.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Monthly unit limit of the allowance this operation draws on (voyage assessments or screenings), for the authenticated key environment.",
                  "key": "X-ArcNautical-Quota-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Units of that allowance remaining in the current UTC monthly period, AFTER this call settled — on a screening that came back INCOMPLETE the unit was refunded and this already reflects it.",
                  "key": "X-ArcNautical-Quota-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when that monthly allowance resets.",
                  "key": "X-ArcNautical-Quota-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"status\": \"<string>\",\n  \"total_count\": \"<integer>\",\n  \"submitted_count\": \"<integer>\",\n  \"accepted_count\": \"<integer>\",\n  \"failed_count\": \"<integer>\",\n  \"duplicate_count\": \"<integer>\",\n  \"created_at\": \"<dateTime>\",\n  \"duplicates\": [\n    {\n      \"index\": \"<integer>\",\n      \"imo\": \"<string>\",\n      \"first_index\": \"<integer>\"\n    },\n    {\n      \"index\": \"<integer>\",\n      \"imo\": \"<string>\",\n      \"first_index\": \"<integer>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imos\": [\n    \"<object>\"\n  ],\n  \"include_vetting\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get screening batch status",
          "request": {
            "name": "Get screening batch status",
            "description": {
              "content": "Returns batch status, counts, timestamps, and errors.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screening-batches",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"status\": \"<string>\",\n  \"total_count\": \"<integer>\",\n  \"completed_count\": \"<integer>\",\n  \"failed_count\": \"<integer>\",\n  \"error_body\": \"<object>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\",\n  \"started_at\": \"<string,null-date-time>\",\n  \"completed_at\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List screening batch items",
          "request": {
            "name": "List screening batch items",
            "description": {
              "content": "Returns cursor-paginated per-hull screening results and partial failures.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "screening-batches",
                ":id",
                "items"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                }
              ],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"items\": [\n    {\n      \"item_index\": \"<integer>\",\n      \"status\": \"<string>\",\n      \"imo\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"screening_id\": \"<string,null-uuid>\",\n      \"result_body\": {\n        \"id\": \"<uuid>\",\n        \"imo\": \"<string>\",\n        \"imo_check_digit_valid\": \"<boolean>\",\n        \"vessel_name\": \"<string,null>\",\n        \"sanctions\": {\n          \"status\": \"<string>\",\n          \"detail\": \"<string>\",\n          \"coverage_complete\": \"<boolean>\",\n          \"coverage_gaps\": [\n            \"<string>\",\n            \"<string>\"\n          ],\n          \"matches\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"retry_after\": \"<string,null-date-time>\"\n        },\n        \"ownership\": {\n          \"opacity\": \"<string,null>\",\n          \"score\": \"<integer,null>\"\n        },\n        \"vetting\": {\n          \"grade\": \"<string,null>\",\n          \"score\": \"<integer,null>\",\n          \"status\": \"<string>\",\n          \"assessed\": \"<boolean>\",\n          \"factors\": [\n            {\n              \"factor\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"score\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"weight_pct\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"observed\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            },\n            {\n              \"factor\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"score\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"weight_pct\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"observed\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          ],\n          \"detention_count\": \"<integer,null>\",\n          \"vessel_age\": \"<integer,null>\",\n          \"score_floor\": {\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"value\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"explanation\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weighted_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        },\n        \"sources\": [\n          {\n            \"source\": \"<string>\",\n            \"status\": \"<string>\",\n            \"checked_at\": \"<string,null-date-time>\",\n            \"basis\": \"<string>\",\n            \"message\": \"<string>\",\n            \"label\": \"<string>\"\n          },\n          {\n            \"source\": \"<string>\",\n            \"status\": \"<string>\",\n            \"checked_at\": \"<string,null-date-time>\",\n            \"basis\": \"<string>\",\n            \"message\": \"<string>\",\n            \"label\": \"<string>\"\n          }\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"screened_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string,null>\",\n        \"identity_sources\": [\n          {\n            \"register\": \"<string>\",\n            \"named\": \"<boolean>\",\n            \"reachable\": \"<boolean>\",\n            \"name\": \"<string>\"\n          },\n          {\n            \"register\": \"<string>\",\n            \"named\": \"<boolean>\",\n            \"reachable\": \"<boolean>\",\n            \"name\": \"<string>\"\n          }\n        ],\n        \"identity_basis\": \"<string>\",\n        \"unit_charged\": \"<boolean>\",\n        \"notices\": [\n          {\n            \"code\": \"<string>\",\n            \"message\": \"<string>\",\n            \"remedy\": \"<string>\",\n            \"docs\": \"<uri>\",\n            \"previous_screening_id\": \"<uuid>\",\n            \"previous_screened_at\": \"<dateTime>\",\n            \"previous_status\": \"<string>\",\n            \"retry_after\": \"<dateTime>\",\n            \"quota\": {\n              \"limit\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"used\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"remaining\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"resets_at\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          },\n          {\n            \"code\": \"<string>\",\n            \"message\": \"<string>\",\n            \"remedy\": \"<string>\",\n            \"docs\": \"<uri>\",\n            \"previous_screening_id\": \"<uuid>\",\n            \"previous_screened_at\": \"<dateTime>\",\n            \"previous_status\": \"<string>\",\n            \"retry_after\": \"<dateTime>\",\n            \"quota\": {\n              \"limit\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"used\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"remaining\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"resets_at\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          }\n        ]\n      },\n      \"error_body\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ]\n      },\n      \"attempts\": \"<integer>\",\n      \"updated_at\": \"<dateTime>\"\n    },\n    {\n      \"item_index\": \"<integer>\",\n      \"status\": \"<string>\",\n      \"imo\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"screening_id\": \"<string,null-uuid>\",\n      \"result_body\": {\n        \"id\": \"<uuid>\",\n        \"imo\": \"<string>\",\n        \"imo_check_digit_valid\": \"<boolean>\",\n        \"vessel_name\": \"<string,null>\",\n        \"sanctions\": {\n          \"status\": \"<string>\",\n          \"detail\": \"<string>\",\n          \"coverage_complete\": \"<boolean>\",\n          \"coverage_gaps\": [\n            \"<string>\",\n            \"<string>\"\n          ],\n          \"matches\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"retry_after\": \"<string,null-date-time>\"\n        },\n        \"ownership\": {\n          \"opacity\": \"<string,null>\",\n          \"score\": \"<integer,null>\"\n        },\n        \"vetting\": {\n          \"grade\": \"<string,null>\",\n          \"score\": \"<integer,null>\",\n          \"status\": \"<string>\",\n          \"assessed\": \"<boolean>\",\n          \"factors\": [\n            {\n              \"factor\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"score\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"weight_pct\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"observed\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            },\n            {\n              \"factor\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"score\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"weight_pct\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"observed\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          ],\n          \"detention_count\": \"<integer,null>\",\n          \"vessel_age\": \"<integer,null>\",\n          \"score_floor\": {\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"value\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"explanation\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weighted_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        },\n        \"sources\": [\n          {\n            \"source\": \"<string>\",\n            \"status\": \"<string>\",\n            \"checked_at\": \"<string,null-date-time>\",\n            \"basis\": \"<string>\",\n            \"message\": \"<string>\",\n            \"label\": \"<string>\"\n          },\n          {\n            \"source\": \"<string>\",\n            \"status\": \"<string>\",\n            \"checked_at\": \"<string,null-date-time>\",\n            \"basis\": \"<string>\",\n            \"message\": \"<string>\",\n            \"label\": \"<string>\"\n          }\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"screened_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string,null>\",\n        \"identity_sources\": [\n          {\n            \"register\": \"<string>\",\n            \"named\": \"<boolean>\",\n            \"reachable\": \"<boolean>\",\n            \"name\": \"<string>\"\n          },\n          {\n            \"register\": \"<string>\",\n            \"named\": \"<boolean>\",\n            \"reachable\": \"<boolean>\",\n            \"name\": \"<string>\"\n          }\n        ],\n        \"identity_basis\": \"<string>\",\n        \"unit_charged\": \"<boolean>\",\n        \"notices\": [\n          {\n            \"code\": \"<string>\",\n            \"message\": \"<string>\",\n            \"remedy\": \"<string>\",\n            \"docs\": \"<uri>\",\n            \"previous_screening_id\": \"<uuid>\",\n            \"previous_screened_at\": \"<dateTime>\",\n            \"previous_status\": \"<string>\",\n            \"retry_after\": \"<dateTime>\",\n            \"quota\": {\n              \"limit\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"used\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"remaining\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"resets_at\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          },\n          {\n            \"code\": \"<string>\",\n            \"message\": \"<string>\",\n            \"remedy\": \"<string>\",\n            \"docs\": \"<uri>\",\n            \"previous_screening_id\": \"<uuid>\",\n            \"previous_screened_at\": \"<dateTime>\",\n            \"previous_status\": \"<string>\",\n            \"retry_after\": \"<dateTime>\",\n            \"quota\": {\n              \"limit\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"used\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"remaining\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              },\n              \"resets_at\": {\n                \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n              }\n            }\n          }\n        ]\n      },\n      \"error_body\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ]\n      },\n      \"attempts\": \"<integer>\",\n      \"updated_at\": \"<dateTime>\"\n    }\n  ],\n  \"next_cursor\": \"<integer,null>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "screening-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Vessel monitors",
      "description": {
        "content": "A standing subscription per hull. We re-screen on our schedule and deliver an event only when the verdict moves, so a book need not be re-screened to stay current.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Monitor a hull",
          "request": {
            "name": "Monitor a hull",
            "description": {
              "content": "Watches one hull and emits vessel_risk.changed when its sanctions status, ownership opacity, or vetting grade moves. Re-screened every 24 hours — the cadence matches how often the underlying lists actually publish, so a shorter interval would spend quota re-reading the same file. The first run establishes a baseline and emits vessel_monitor.ready, never a change event. Each run consumes one screening unit.\n\nWith a TEST key the monitor is created but never scheduled and never metered: next_run_at comes back null and no screening runs. Drive it with POST /api/v1/vessel-monitors/{id}/simulate to fire a real vessel_risk.changed event at your endpoint on demand, which is how you prove a handler works before going live.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"imo\": \"9274446\",\n  \"customer_reference\": \"supplier-book\"\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Vessel monitor created.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"status\": \"<string>\",\n  \"next_run_at\": \"<dateTime>\",\n  \"imo_check_digit_valid\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List vessel monitors",
          "request": {
            "name": "List vessel monitors",
            "description": {
              "content": "Vessel monitors for the authenticated customer and environment, newest first. Paginated: pass the `next_cursor` from the previous page and stop when `has_more` is false. `changed_since` is the cheap way to ask the only question that matters daily — which hulls in my book moved — without walking the whole collection.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                },
                {
                  "disabled": false,
                  "key": "imo",
                  "value": "<string>",
                  "description": "Only the monitor watching this hull."
                },
                {
                  "disabled": false,
                  "key": "customer_reference",
                  "value": "<string>",
                  "description": "Only monitors carrying this reference."
                },
                {
                  "disabled": false,
                  "key": "status",
                  "value": "<string>",
                  "description": "Filter by monitor state."
                },
                {
                  "disabled": false,
                  "key": "degraded",
                  "value": "<boolean>",
                  "description": "Only monitors whose last run could not read the lists (true), or only healthy ones (false)."
                },
                {
                  "disabled": false,
                  "key": "changed_since",
                  "value": "<dateTime>",
                  "description": "Only monitors whose verdict changed at or after this time."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"monitors\": [\n    {\n      \"id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"status\": \"<string>\",\n      \"vessel_name\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"baseline_verdict\": \"<object>\",\n      \"previous_verdict\": \"<object>\",\n      \"verdict_changed_at\": \"<string,null-date-time>\",\n      \"degraded\": \"<boolean>\",\n      \"last_screening_id\": \"<string,null-uuid>\",\n      \"last_run_at\": \"<string,null-date-time>\",\n      \"next_run_at\": \"<string,null-date-time>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"status\": \"<string>\",\n      \"vessel_name\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"baseline_verdict\": \"<object>\",\n      \"previous_verdict\": \"<object>\",\n      \"verdict_changed_at\": \"<string,null-date-time>\",\n      \"degraded\": \"<boolean>\",\n      \"last_screening_id\": \"<string,null-uuid>\",\n      \"last_run_at\": \"<string,null-date-time>\",\n      \"next_run_at\": \"<string,null-date-time>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\"\n    }\n  ],\n  \"next_cursor\": \"<string,null>\",\n  \"has_more\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "degraded",
                      "value": "<boolean>"
                    },
                    {
                      "key": "changed_since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Monitor many hulls at once",
          "request": {
            "name": "Monitor many hulls at once",
            "description": {
              "content": "Enrols up to 500 hulls in one request, and is SAFE TO RE-RUN: a hull already monitored comes back as `already_monitored` with its existing id rather than an error, so a nightly \"sync my fleet list\" job needs no local mirror of what we already hold.\n\nAnswers `200` with a per-item outcome rather than failing the whole request on one bad hull — a sync of 400 hulls containing three malformed IMOs enrols 397 and names the three. Each `results[]` entry carries `status`: `created`, `already_monitored`, `invalid` (with `message`), or `limit_exceeded`.\n\nThe account monitor cap still applies and is consumed in list order. It is not arbitrary: each monitor run spends one screening unit (two on a change), so a filled cap at the 24h cadence costs about 1,500 units a month. Read `monitor_limit` and `monitors_used` on the response to see where you stand.\n\nWith a TEST key the whole book is created but never scheduled and never metered, so you can rehearse a fleet sync at full size for nothing. Fire events with POST /api/v1/vessel-monitors/{id}/simulate.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                "batch"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"9274446\",\n      \"customer_reference\": \"supplier-book\"\n    },\n    {\n      \"imo\": \"9141285\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Per-hull outcomes. Check each result rather than only the HTTP status.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"created\": \"<integer>\",\n  \"already_monitored\": \"<integer>\",\n  \"invalid\": \"<integer>\",\n  \"limit_exceeded\": \"<integer>\",\n  \"results\": [\n    {\n      \"index\": \"<integer>\",\n      \"status\": \"<string>\",\n      \"imo\": \"<string,null>\",\n      \"id\": \"<string,null-uuid>\",\n      \"imo_check_digit_valid\": \"<boolean>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"index\": \"<integer>\",\n      \"status\": \"<string>\",\n      \"imo\": \"<string,null>\",\n      \"id\": \"<string,null-uuid>\",\n      \"imo_check_digit_valid\": \"<boolean>\",\n      \"message\": \"<string>\"\n    }\n  ],\n  \"monitor_limit\": \"<integer>\",\n  \"monitors_used\": \"<integer>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "batch"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"monitors\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Every change across the whole book",
          "request": {
            "name": "Every change across the whole book",
            "description": {
              "content": "One feed of every monitor event on the account, newest first, instead of one request per monitor. This is the reconciliation surface: webhooks are the live path, but a delivery that exhausts its retries is gone, and a customer who has not built an endpoint has no other way to catch up. Poll this after an outage, or use it instead of webhooks entirely.\n\nEvent types: `baseline` (first successful screen, not a change), `changed`, `degraded` (the lists could not be read — NOT a clean result), and `recovered`.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                "events"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                },
                {
                  "disabled": false,
                  "key": "since",
                  "value": "<dateTime>",
                  "description": "Only events at or after this time."
                },
                {
                  "disabled": false,
                  "key": "until",
                  "value": "<dateTime>",
                  "description": "Only events at or before this time."
                },
                {
                  "disabled": false,
                  "key": "imo",
                  "value": "<string>",
                  "description": "Only events for this hull."
                },
                {
                  "disabled": false,
                  "key": "event_type",
                  "value": "<string>",
                  "description": "Filter by event type."
                },
                {
                  "disabled": false,
                  "key": "severity",
                  "value": "<string>",
                  "description": "Filter by change severity."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"events\": [\n    {\n      \"id\": \"<uuid>\",\n      \"monitor_id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"opacity_band\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"severity\": \"<string,null>\",\n      \"change_body\": [\n        \"<object>\",\n        \"<object>\"\n      ],\n      \"screening_id\": \"<string,null-uuid>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"monitor_id\": \"<uuid>\",\n      \"imo\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"opacity_band\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"severity\": \"<string,null>\",\n      \"change_body\": [\n        \"<object>\",\n        \"<object>\"\n      ],\n      \"screening_id\": \"<string,null-uuid>\"\n    }\n  ],\n  \"next_cursor\": \"<string,null>\",\n  \"has_more\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    "events"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    },
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "until",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "imo",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "severity",
                      "value": "<string>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get vessel monitor",
          "request": {
            "name": "Get vessel monitor",
            "description": {
              "content": "Returns one vessel monitor with its current baseline verdict and the verdict it replaced.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"status\": \"<string>\",\n  \"vessel_name\": \"<string,null>\",\n  \"customer_reference\": \"<string,null>\",\n  \"baseline_verdict\": \"<object>\",\n  \"previous_verdict\": \"<object>\",\n  \"verdict_changed_at\": \"<string,null-date-time>\",\n  \"degraded\": \"<boolean>\",\n  \"last_screening_id\": \"<string,null-uuid>\",\n  \"last_run_at\": \"<string,null-date-time>\",\n  \"next_run_at\": \"<string,null-date-time>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Pause or resume vessel monitor",
          "request": {
            "name": "Pause or resume vessel monitor",
            "description": {
              "content": "Pausing stops re-screening and stops consuming quota. Resuming queues the next run immediately.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"action\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"status\": \"<string>\",\n  \"vessel_name\": \"<string,null>\",\n  \"customer_reference\": \"<string,null>\",\n  \"baseline_verdict\": \"<object>\",\n  \"previous_verdict\": \"<object>\",\n  \"verdict_changed_at\": \"<string,null-date-time>\",\n  \"degraded\": \"<boolean>\",\n  \"last_screening_id\": \"<string,null-uuid>\",\n  \"last_run_at\": \"<string,null-date-time>\",\n  \"next_run_at\": \"<string,null-date-time>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Delete vessel monitor",
          "request": {
            "name": "Delete vessel monitor",
            "description": {
              "content": "Soft-deletes the monitor. History is retained for 90 days and the hull can be monitored again.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"deleted\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get vessel monitor history",
          "request": {
            "name": "Get vessel monitor history",
            "description": {
              "content": "Returns the monitor timeline — baseline, confirmed changes, and data-degraded or recovered events — newest first.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                ":id",
                "history"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                }
              ],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"events\": [\n    {\n      \"event_type\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"opacity_band\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"severity\": \"<string,null>\",\n      \"change_body\": \"<object>\",\n      \"screening_id\": \"<string,null-uuid>\"\n    },\n    {\n      \"event_type\": \"<string>\",\n      \"created_at\": \"<dateTime>\",\n      \"sanctions_status\": \"<string,null>\",\n      \"opacity_band\": \"<string,null>\",\n      \"vetting_grade\": \"<string,null>\",\n      \"severity\": \"<string,null>\",\n      \"change_body\": \"<object>\",\n      \"screening_id\": \"<string,null-uuid>\"\n    }\n  ],\n  \"next_cursor\": \"<string,null>\",\n  \"has_more\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Fire a test webhook event",
          "request": {
            "name": "Fire a test webhook event",
            "description": {
              "content": "Delivers a vessel_risk.changed event for this monitor on demand, without screening anything and without consuming a screening unit. Test keys only.\n\nThis exists so you can prove your webhook handler works BEFORE you go live. Without it the first event you ever receive is a production one, about a real hull, whenever that hull happens to move — which is not something you can write a handler against or demonstrate to a security reviewer.\n\nThe event travels the same path as a real one: same envelope, same HMAC signature, same five-attempt retry schedule, and it appears in GET /api/v1/webhook-deliveries like any other. It is marked simulated: true and carries a sim_-prefixed screening_id, so it can never be mistaken for a real finding, and it is also written to the monitor history so those reads are exercisable too.\n\nRefused with 403 on a live key: a synthetic risk change on a live monitor would enter your compliance record as a real finding about a real vessel.\n\nCheck queued_to_endpoints in the response. Zero means no ACTIVE test endpoint subscribes to vessel_risk.changed, which otherwise looks identical to a handler that silently failed.\n\nRequired scope: vessel:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "vessel-monitors",
                ":id",
                "simulate"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"change\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Event queued to your test webhook endpoints.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"simulated\": \"<boolean>\",\n  \"change\": \"<string>\",\n  \"monitor_id\": \"<uuid>\",\n  \"imo\": \"<string>\",\n  \"event_type\": \"<string>\",\n  \"severity\": \"<string>\",\n  \"queued_to_endpoints\": \"<integer>\",\n  \"warning\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "vessel-monitors",
                    ":id",
                    "simulate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"change\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Fleets",
      "description": {
        "content": "Named sets of hulls with an exposure roll-up and a change feed, for asking what moved since a cursor instead of re-screening the whole book.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Register a fleet",
          "request": {
            "name": "Register a fleet",
            "description": {
              "content": "Registers a named list of hulls you care about, so you do not have to manage a subscription per vessel. A fleet holds MEMBERSHIP only and stores no verdict of its own: exposure and changes are read live from your screenings, so a fleet summary can never drift from the screening records behind it. Duplicate IMOs in the list are de-duplicated. Registering a fleet does NOT screen it and reserves no quota — call POST /api/v1/fleets/{id}/refresh when you want the hulls screened, so a bill is never started by an upload you were only staging.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Supplier book\",\n  \"imos\": [\n    \"9274446\",\n    \"9141285\"\n  ]\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Fleet registered. Not yet screened.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"name\": \"<string>\",\n  \"vessel_count\": \"<integer>\",\n  \"created_at\": \"<dateTime>\",\n  \"screened\": \"<boolean>\",\n  \"next_step\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"imos\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List fleets",
          "request": {
            "name": "List fleets",
            "description": {
              "content": "Every fleet on this key environment, newest first, with its vessel count.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"fleets\": [\n    {\n      \"id\": \"<uuid>\",\n      \"name\": \"<string>\",\n      \"vessel_count\": \"<integer>\",\n      \"created_at\": \"<dateTime>\",\n      \"screened\": \"<boolean>\",\n      \"next_step\": \"<string>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"name\": \"<string>\",\n      \"vessel_count\": \"<integer>\",\n      \"created_at\": \"<dateTime>\",\n      \"screened\": \"<boolean>\",\n      \"next_step\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get a fleet",
          "request": {
            "name": "Get a fleet",
            "description": {
              "content": "The fleet and its full membership, including the customer_reference you attached to each hull.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"name\": \"<string>\",\n  \"vessel_count\": \"<integer>\",\n  \"vessels\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string,null>\",\n      \"added_at\": \"<dateTime>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string,null>\",\n      \"added_at\": \"<dateTime>\"\n    }\n  ],\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Add or remove vessels",
          "request": {
            "name": "Add or remove vessels",
            "description": {
              "content": "Renames the fleet and/or edits membership. add and remove take the same shapes as the create list. Adding a hull already present updates its customer_reference rather than duplicating it, so re-uploading your master list is safe to repeat.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"name\": \"<string>\",\n  \"vessel_count\": \"<integer>\",\n  \"added\": \"<integer>\",\n  \"removed\": \"<integer>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"<string>\",\n  \"add\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"remove\": [\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"customer_reference\": \"<string>\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Delete a fleet",
          "request": {
            "name": "Delete a fleet",
            "description": {
              "content": "Removes the grouping. The screenings it grouped are evidence and remain retrievable by id and through GET /api/v1/screenings — deleting a fleet never deletes an audit trail.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"deleted\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Fleet exposure summary",
          "request": {
            "name": "Fleet exposure summary",
            "description": {
              "content": "Current position across the fleet, from each hull latest screening: counts by sanctions status, ownership band and vetting grade, plus the RED/AMBER hulls listed with the screening id that says so. Read unscreened_count first — hulls you registered but have never screened are NOT clean, they are unknown, and they are counted separately rather than folded into a band. Likewise ownership NOT_ASSESSED is its own bucket, never averaged into MEDIUM.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id",
                "exposure"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"fleet_id\": \"<uuid>\",\n  \"vessel_count\": \"<integer>\",\n  \"screened_count\": \"<integer>\",\n  \"unscreened_count\": \"<integer>\",\n  \"name\": \"<string>\",\n  \"assessed_count\": \"<integer>\",\n  \"oldest_screening_at\": \"<string,null-date-time>\",\n  \"sanctions\": {\n    \"<key>\": \"<value>\"\n  },\n  \"ownership_opacity\": {\n    \"<key>\": \"<value>\"\n  },\n  \"vetting_grades\": {\n    \"<key>\": \"<value>\"\n  },\n  \"flagged\": [\n    {\n      \"imo\": \"<string>\",\n      \"sanctions_status\": \"<string>\",\n      \"screening_id\": \"<uuid>\",\n      \"screened_at\": \"<dateTime>\"\n    },\n    {\n      \"imo\": \"<string>\",\n      \"sanctions_status\": \"<string>\",\n      \"screening_id\": \"<uuid>\",\n      \"screened_at\": \"<dateTime>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "exposure"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "What moved in this fleet",
          "request": {
            "name": "What moved in this fleet",
            "description": {
              "content": "Hulls whose verdict changed between their two most recent screenings, newest first, with the from/to values, whether the move was a worsening, and the severity. Uses the same change definition as vessel monitors and the watch email, so those three can never disagree about what counts as a move. A hull we could not assess is not reported as a change: absence of a measurement is not a movement.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id",
                "changes"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "since",
                  "value": "<dateTime>",
                  "description": "Only changes observed at or after this ISO 8601 time."
                }
              ],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"fleet_id\": \"<uuid>\",\n  \"changes\": [\n    {\n      \"imo\": \"<string>\",\n      \"changed_at\": \"<dateTime>\",\n      \"screening_id\": \"<uuid>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"severity\": \"<string>\",\n      \"changes\": [\n        {\n          \"field\": \"<string>\",\n          \"label\": \"<string>\",\n          \"from\": \"<string>\",\n          \"to\": \"<string>\",\n          \"worse\": \"<boolean>\"\n        },\n        {\n          \"field\": \"<string>\",\n          \"label\": \"<string>\",\n          \"from\": \"<string>\",\n          \"to\": \"<string>\",\n          \"worse\": \"<boolean>\"\n        }\n      ]\n    },\n    {\n      \"imo\": \"<string>\",\n      \"changed_at\": \"<dateTime>\",\n      \"screening_id\": \"<uuid>\",\n      \"previous_screening_id\": \"<uuid>\",\n      \"severity\": \"<string>\",\n      \"changes\": [\n        {\n          \"field\": \"<string>\",\n          \"label\": \"<string>\",\n          \"from\": \"<string>\",\n          \"to\": \"<string>\",\n          \"worse\": \"<boolean>\"\n        },\n        {\n          \"field\": \"<string>\",\n          \"label\": \"<string>\",\n          \"from\": \"<string>\",\n          \"to\": \"<string>\",\n          \"worse\": \"<boolean>\"\n        }\n      ]\n    }\n  ],\n  \"since\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "changes"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "since",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Screen every hull in the fleet",
          "request": {
            "name": "Screen every hull in the fleet",
            "description": {
              "content": "Queues a screening for every member, chunked into the same batch machinery as POST /api/v1/screening-batches and processed by the same worker. Reserves one screening unit per hull up front. Returns the batch ids so you can poll GET /api/v1/screening-batches/{id}, then read the result through the fleet exposure and changes endpoints.\n\nRequired scope: vessel:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "fleets",
                ":id",
                "refresh"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST"
          },
          "response": [
            {
              "name": "Screening queued.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Monthly unit limit of the allowance this operation draws on (voyage assessments or screenings), for the authenticated key environment.",
                  "key": "X-ArcNautical-Quota-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Units of that allowance remaining in the current UTC monthly period, AFTER this call settled — on a screening that came back INCOMPLETE the unit was refunded and this already reflects it.",
                  "key": "X-ArcNautical-Quota-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when that monthly allowance resets.",
                  "key": "X-ArcNautical-Quota-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"fleet_id\": \"<uuid>\",\n  \"queued_vessels\": \"<integer>\",\n  \"batch_ids\": [\n    \"<uuid>\",\n    \"<uuid>\"\n  ],\n  \"status\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "fleets",
                    ":id",
                    "refresh"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Cargo screening",
      "description": {
        "content": "Commodity, origin and discharge screening against sanctions programmes and export controls.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Screen a cargo",
          "request": {
            "name": "Screen a cargo",
            "description": {
              "content": "Screens a goods description, and an HS code when you have one, against the Common High Priority Items List (the 50 six-digit HS headings the US, EU, UK and Japan jointly identify as items Russia seeks for its weapons programmes), against the discharge jurisdiction, and — for medicine and medical devices — against the published humanitarian general-licence context. Returns OK, WARNING or CRITICAL.\n\nEvery response names the lists it read in lists_screened AND the lists it did NOT read in lists_not_screened. This is NOT an export-control classification: it does not assign an ECCN or an EU dual-use category and it does not assess end use or end user. Read lists_not_screened before relying on an OK.\n\nSupplying imo carries that hull last known sanctions verdict onto the response so cargo risk and vessel risk are read together. It never screens the vessel for you: an unscreened hull is reported as unscreened, never as clear.\n\nRequired scope: cargo:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "cargo-screenings"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"goods_description\": \"Marine gas oil, 500 mt\",\n  \"hs_code\": \"271019\",\n  \"discharge_country\": \"AE\",\n  \"imo\": \"9274446\",\n  \"customer_reference\": \"order-48215\"\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Cargo screened.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"status\": \"<string>\",\n  \"goods_description\": \"<string>\",\n  \"lists_screened\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"lists_not_screened\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"status_basis\": \"<string>\",\n  \"cargo_status\": \"<string>\",\n  \"hs_code\": \"<string,null>\",\n  \"customer_reference\": \"<string,null>\",\n  \"match_basis\": \"<string,null>\",\n  \"matches\": [\n    {\n      \"list\": \"<string>\",\n      \"hs6\": \"<string>\",\n      \"tier\": \"<string>\",\n      \"description\": \"<string>\",\n      \"basis\": \"<string>\"\n    },\n    {\n      \"list\": \"<string>\",\n      \"hs6\": \"<string>\",\n      \"tier\": \"<string>\",\n      \"description\": \"<string>\",\n      \"basis\": \"<string>\"\n    }\n  ],\n  \"destination\": {\n    \"class\": \"<string>\",\n    \"label\": \"<string>\",\n    \"basis\": \"<string>\"\n  },\n  \"humanitarian\": {\n    \"medical_goods\": \"<boolean>\",\n    \"medical_goods_basis\": \"<string,null>\",\n    \"general_licence_status\": \"<string>\",\n    \"general_licence\": \"<string,null>\",\n    \"exclusions\": [\n      {\n        \"kind\": \"<string>\",\n        \"authority\": \"<string>\",\n        \"published_text\": \"<string>\",\n        \"matched_text\": \"<string>\",\n        \"certainty\": \"<string>\",\n        \"effect\": \"<string>\",\n        \"threshold\": {\n          \"quantity\": \"<string>\",\n          \"operator\": \"<string>\",\n          \"value\": \"<number>\",\n          \"unit\": \"<string>\",\n          \"stated_value\": \"<number,null>\",\n          \"resolves_with\": \"<string>\"\n        },\n        \"note\": \"<string,null>\"\n      },\n      {\n        \"kind\": \"<string>\",\n        \"authority\": \"<string>\",\n        \"published_text\": \"<string>\",\n        \"matched_text\": \"<string>\",\n        \"certainty\": \"<string>\",\n        \"effect\": \"<string>\",\n        \"threshold\": {\n          \"quantity\": \"<string>\",\n          \"operator\": \"<string>\",\n          \"value\": \"<number>\",\n          \"unit\": \"<string>\",\n          \"stated_value\": \"<number,null>\",\n          \"resolves_with\": \"<string>\"\n        },\n        \"note\": \"<string,null>\"\n      }\n    ],\n    \"conditions\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"list_edition\": {\n      \"name\": \"<string>\",\n      \"authority\": \"<string>\",\n      \"published\": \"<string>\",\n      \"source_url\": \"<uri>\",\n      \"source_sha256\": \"<string>\",\n      \"retrieved_at\": \"<dateTime>\",\n      \"item_count\": \"<integer>\",\n      \"lines_without_matcher\": \"<integer>\"\n    }\n  },\n  \"vessel\": {\n    \"imo\": \"<string>\",\n    \"sanctions_status\": \"<string,null>\",\n    \"screening_id\": \"<string,null-uuid>\",\n    \"screened_at\": \"<string,null-date-time>\",\n    \"note\": \"<string>\"\n  },\n  \"methodology_version\": \"<string>\",\n  \"screened_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"disclaimer\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"goods_description\": \"<string>\",\n  \"hs_code\": \"<string>\",\n  \"discharge_country\": \"<string>\",\n  \"imo\": \"<string>\",\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List cargo screenings",
          "request": {
            "name": "List cargo screenings",
            "description": {
              "content": "Your cargo screening history, newest first, for audit. Filter by status, customer_reference or date range. Same opaque keyset cursor as the vessel screening list. Retained for the same evidence window.\n\nRequired scope: cargo:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "cargo-screenings"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-200. Default 50."
                },
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "next_cursor from the previous page, unmodified."
                },
                {
                  "disabled": false,
                  "key": "status",
                  "value": "<string>",
                  "description": "OK, WARNING or CRITICAL."
                },
                {
                  "disabled": false,
                  "key": "customer_reference",
                  "value": "<string>",
                  "description": "Exact match on your own reference."
                },
                {
                  "disabled": false,
                  "key": "created_after",
                  "value": "<dateTime>",
                  "description": "ISO 8601 lower bound, inclusive."
                },
                {
                  "disabled": false,
                  "key": "created_before",
                  "value": "<dateTime>",
                  "description": "ISO 8601 upper bound, inclusive."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"cargo_screenings\": [\n    {\n      \"id\": \"<uuid>\",\n      \"status\": \"<string>\",\n      \"goods_description\": \"<string>\",\n      \"hs_code\": \"<string,null>\",\n      \"discharge_country\": \"<string,null>\",\n      \"imo\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"created_at\": \"<dateTime>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"status\": \"<string>\",\n      \"goods_description\": \"<string>\",\n      \"hs_code\": \"<string,null>\",\n      \"discharge_country\": \"<string,null>\",\n      \"imo\": \"<string,null>\",\n      \"customer_reference\": \"<string,null>\",\n      \"created_at\": \"<dateTime>\"\n    }\n  ],\n  \"has_more\": \"<boolean>\",\n  \"next_cursor\": \"<string,null>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get a cargo screening",
          "request": {
            "name": "Get a cargo screening",
            "description": {
              "content": "Replays a stored cargo screening verbatim, including the methodology_version it ran under.\n\nRequired scope: cargo:screen.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "cargo-screenings",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"status\": \"<string>\",\n  \"goods_description\": \"<string>\",\n  \"lists_screened\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"lists_not_screened\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"status_basis\": \"<string>\",\n  \"cargo_status\": \"<string>\",\n  \"hs_code\": \"<string,null>\",\n  \"customer_reference\": \"<string,null>\",\n  \"match_basis\": \"<string,null>\",\n  \"matches\": [\n    {\n      \"list\": \"<string>\",\n      \"hs6\": \"<string>\",\n      \"tier\": \"<string>\",\n      \"description\": \"<string>\",\n      \"basis\": \"<string>\"\n    },\n    {\n      \"list\": \"<string>\",\n      \"hs6\": \"<string>\",\n      \"tier\": \"<string>\",\n      \"description\": \"<string>\",\n      \"basis\": \"<string>\"\n    }\n  ],\n  \"destination\": {\n    \"class\": \"<string>\",\n    \"label\": \"<string>\",\n    \"basis\": \"<string>\"\n  },\n  \"humanitarian\": {\n    \"medical_goods\": \"<boolean>\",\n    \"medical_goods_basis\": \"<string,null>\",\n    \"general_licence_status\": \"<string>\",\n    \"general_licence\": \"<string,null>\",\n    \"exclusions\": [\n      {\n        \"kind\": \"<string>\",\n        \"authority\": \"<string>\",\n        \"published_text\": \"<string>\",\n        \"matched_text\": \"<string>\",\n        \"certainty\": \"<string>\",\n        \"effect\": \"<string>\",\n        \"threshold\": {\n          \"quantity\": \"<string>\",\n          \"operator\": \"<string>\",\n          \"value\": \"<number>\",\n          \"unit\": \"<string>\",\n          \"stated_value\": \"<number,null>\",\n          \"resolves_with\": \"<string>\"\n        },\n        \"note\": \"<string,null>\"\n      },\n      {\n        \"kind\": \"<string>\",\n        \"authority\": \"<string>\",\n        \"published_text\": \"<string>\",\n        \"matched_text\": \"<string>\",\n        \"certainty\": \"<string>\",\n        \"effect\": \"<string>\",\n        \"threshold\": {\n          \"quantity\": \"<string>\",\n          \"operator\": \"<string>\",\n          \"value\": \"<number>\",\n          \"unit\": \"<string>\",\n          \"stated_value\": \"<number,null>\",\n          \"resolves_with\": \"<string>\"\n        },\n        \"note\": \"<string,null>\"\n      }\n    ],\n    \"conditions\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"list_edition\": {\n      \"name\": \"<string>\",\n      \"authority\": \"<string>\",\n      \"published\": \"<string>\",\n      \"source_url\": \"<uri>\",\n      \"source_sha256\": \"<string>\",\n      \"retrieved_at\": \"<dateTime>\",\n      \"item_count\": \"<integer>\",\n      \"lines_without_matcher\": \"<integer>\"\n    }\n  },\n  \"vessel\": {\n    \"imo\": \"<string>\",\n    \"sanctions_status\": \"<string,null>\",\n    \"screening_id\": \"<string,null-uuid>\",\n    \"screened_at\": \"<string,null-date-time>\",\n    \"note\": \"<string>\"\n  },\n  \"methodology_version\": \"<string>\",\n  \"screened_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"disclaimer\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "cargo-screenings",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Voyage assessments",
      "description": {
        "content": "Synchronous and batch route risk scoring by UN/LOCODE, retained for audit.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "List voyage assessments",
          "request": {
            "name": "List voyage assessments",
            "description": {
              "content": "Returns your assessment history newest-first as summary rows: id, your customer_reference, the route, the score, the risk level and the confidence. This is the audit view. Until 2026-09-05 there was no way to enumerate what you had scored — a caller had to persist every returned id at the moment of creation or the record was unreachable, and assessments expire, so \"I will fetch it later\" had a deadline you could not list against. Fetch the full record with GET /api/v1/voyage-assessments/{id}, or archive the lot with POST /api/v1/exports (resource voyage_assessments) before it expires. Pagination is KEYSET, not offset: pass the returned next_cursor back as cursor. Assessments written by one batch share a timestamp, and an offset walk over them silently skips rows — in an audit export that is a missing record. Route geometry is NOT included in the summary: it is ~87% of an assessment body and nobody paging an index wants it.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessments"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-200. Default 50."
                },
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "The next_cursor from the previous page, passed back unmodified."
                },
                {
                  "disabled": false,
                  "key": "customer_reference",
                  "value": "<string>",
                  "description": "Exact match on the reference you supplied at creation."
                },
                {
                  "disabled": false,
                  "key": "origin_locode",
                  "value": "<string>",
                  "description": "UN/LOCODE of the origin port."
                },
                {
                  "disabled": false,
                  "key": "dest_locode",
                  "value": "<string>",
                  "description": "UN/LOCODE of the destination port."
                },
                {
                  "disabled": false,
                  "key": "created_after",
                  "value": "<dateTime>",
                  "description": "ISO 8601 lower bound, inclusive."
                },
                {
                  "disabled": false,
                  "key": "created_before",
                  "value": "<dateTime>",
                  "description": "ISO 8601 upper bound, inclusive."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"assessments\": [\n    {\n      \"id\": \"<uuid>\",\n      \"assessed_at\": \"<dateTime>\",\n      \"expires_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"origin_locode\": \"<string,null>\",\n      \"dest_locode\": \"<string,null>\",\n      \"distance_nm\": \"<number,null>\",\n      \"score\": \"<integer,null>\",\n      \"risk_level\": \"<string,null>\",\n      \"confidence\": \"<number,null>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"assessed_at\": \"<dateTime>\",\n      \"expires_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string,null>\",\n      \"origin_locode\": \"<string,null>\",\n      \"dest_locode\": \"<string,null>\",\n      \"distance_nm\": \"<number,null>\",\n      \"score\": \"<integer,null>\",\n      \"risk_level\": \"<string,null>\",\n      \"confidence\": \"<number,null>\"\n    }\n  ],\n  \"has_more\": \"<boolean>\",\n  \"next_cursor\": \"<string,null>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "customer_reference",
                      "value": "<string>"
                    },
                    {
                      "key": "origin_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "dest_locode",
                      "value": "<string>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Score one voyage",
          "request": {
            "name": "Score one voyage",
            "description": {
              "content": "Synchronously scores one voyage and retains the assessment for 30 days.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessments"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_reference\": \"lane-NLRTM-CNSHA-001\",\n  \"route\": {\n    \"origin\": {\n      \"locode\": \"NLRTM\"\n    },\n    \"destination\": {\n      \"locode\": \"CNSHA\"\n    },\n    \"vessel_type\": \"container\",\n    \"load_condition\": \"laden\",\n    \"speed_knots\": 16,\n    \"dwt_tonnes\": 100000\n  }\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Assessment created.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Monthly unit limit of the allowance this operation draws on (voyage assessments or screenings), for the authenticated key environment.",
                  "key": "X-ArcNautical-Quota-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Units of that allowance remaining in the current UTC monthly period, AFTER this call settled — on a screening that came back INCOMPLETE the unit was refunded and this already reflects it.",
                  "key": "X-ArcNautical-Quota-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when that monthly allowance resets.",
                  "key": "X-ArcNautical-Quota-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"route\": {\n    \"origin_locode\": \"<string>\",\n    \"dest_locode\": \"<string>\",\n    \"via_waypoints\": [\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      },\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      }\n    ],\n    \"distance_nm\": \"<number>\",\n    \"geometry\": \"<object>\"\n  },\n  \"score\": \"<number>\",\n  \"risk_level\": \"<string>\",\n  \"drivers\": [\n    {\n      \"source\": \"<string>\",\n      \"label\": \"<string>\",\n      \"summary\": \"<string>\",\n      \"event_count\": \"<integer>\",\n      \"signal_score\": \"<integer>\",\n      \"weight_pct\": \"<integer>\",\n      \"contribution_pct\": \"<integer>\",\n      \"contribution_band\": \"<string>\",\n      \"sets_floor\": \"<boolean>\",\n      \"relative_rank\": \"<integer>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"label\": \"<string>\",\n      \"summary\": \"<string>\",\n      \"event_count\": \"<integer>\",\n      \"signal_score\": \"<integer>\",\n      \"weight_pct\": \"<integer>\",\n      \"contribution_pct\": \"<integer>\",\n      \"contribution_band\": \"<string>\",\n      \"sets_floor\": \"<boolean>\",\n      \"relative_rank\": \"<integer>\"\n    }\n  ],\n  \"jwc_intersected_areas\": [\n    {\n      \"id\": \"<string>\",\n      \"name\": \"<string>\",\n      \"risk_level\": \"<string>\",\n      \"route_fraction\": \"<number>\"\n    },\n    {\n      \"id\": \"<string>\",\n      \"name\": \"<string>\",\n      \"risk_level\": \"<string>\",\n      \"route_fraction\": \"<number>\"\n    }\n  ],\n  \"eez_transit\": [\n    {\n      \"country_code\": \"<string>\",\n      \"country_name\": \"<string>\",\n      \"risk_category\": \"<string>\",\n      \"route_fraction\": \"<number>\",\n      \"sanctions\": {\n        \"is_sanctioned\": \"<boolean>\",\n        \"regimes\": [\n          \"<string>\",\n          \"<string>\"\n        ]\n      }\n    },\n    {\n      \"country_code\": \"<string>\",\n      \"country_name\": \"<string>\",\n      \"risk_category\": \"<string>\",\n      \"route_fraction\": \"<number>\",\n      \"sanctions\": {\n        \"is_sanctioned\": \"<boolean>\",\n        \"regimes\": [\n          \"<string>\",\n          \"<string>\"\n        ]\n      }\n    }\n  ],\n  \"confidence\": \"<number>\",\n  \"missing_sources\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"methodology_version\": \"<string>\",\n  \"disclaimer\": \"<string>\",\n  \"assessed_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"customer_reference\": \"<string>\",\n  \"score_floor\": {\n    \"basis\": \"<string>\",\n    \"value\": \"<number>\",\n    \"explanation\": \"<string>\",\n    \"weighted_score\": \"<number>\"\n  },\n  \"sources\": [\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    }\n  ],\n  \"cached\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\",\n  \"include_geometry\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Retrieve one assessment",
          "request": {
            "name": "Retrieve one assessment",
            "description": {
              "content": "Retrieves a previous assessment owned by the authenticated customer.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessments",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"route\": {\n    \"origin_locode\": \"<string>\",\n    \"dest_locode\": \"<string>\",\n    \"via_waypoints\": [\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      },\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      }\n    ],\n    \"distance_nm\": \"<number>\",\n    \"geometry\": \"<object>\"\n  },\n  \"score\": \"<number>\",\n  \"risk_level\": \"<string>\",\n  \"drivers\": [\n    {\n      \"source\": \"<string>\",\n      \"label\": \"<string>\",\n      \"summary\": \"<string>\",\n      \"event_count\": \"<integer>\",\n      \"signal_score\": \"<integer>\",\n      \"weight_pct\": \"<integer>\",\n      \"contribution_pct\": \"<integer>\",\n      \"contribution_band\": \"<string>\",\n      \"sets_floor\": \"<boolean>\",\n      \"relative_rank\": \"<integer>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"label\": \"<string>\",\n      \"summary\": \"<string>\",\n      \"event_count\": \"<integer>\",\n      \"signal_score\": \"<integer>\",\n      \"weight_pct\": \"<integer>\",\n      \"contribution_pct\": \"<integer>\",\n      \"contribution_band\": \"<string>\",\n      \"sets_floor\": \"<boolean>\",\n      \"relative_rank\": \"<integer>\"\n    }\n  ],\n  \"jwc_intersected_areas\": [\n    {\n      \"id\": \"<string>\",\n      \"name\": \"<string>\",\n      \"risk_level\": \"<string>\",\n      \"route_fraction\": \"<number>\"\n    },\n    {\n      \"id\": \"<string>\",\n      \"name\": \"<string>\",\n      \"risk_level\": \"<string>\",\n      \"route_fraction\": \"<number>\"\n    }\n  ],\n  \"eez_transit\": [\n    {\n      \"country_code\": \"<string>\",\n      \"country_name\": \"<string>\",\n      \"risk_category\": \"<string>\",\n      \"route_fraction\": \"<number>\",\n      \"sanctions\": {\n        \"is_sanctioned\": \"<boolean>\",\n        \"regimes\": [\n          \"<string>\",\n          \"<string>\"\n        ]\n      }\n    },\n    {\n      \"country_code\": \"<string>\",\n      \"country_name\": \"<string>\",\n      \"risk_category\": \"<string>\",\n      \"route_fraction\": \"<number>\",\n      \"sanctions\": {\n        \"is_sanctioned\": \"<boolean>\",\n        \"regimes\": [\n          \"<string>\",\n          \"<string>\"\n        ]\n      }\n    }\n  ],\n  \"confidence\": \"<number>\",\n  \"missing_sources\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"methodology_version\": \"<string>\",\n  \"disclaimer\": \"<string>\",\n  \"assessed_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"customer_reference\": \"<string>\",\n  \"score_floor\": {\n    \"basis\": \"<string>\",\n    \"value\": \"<number>\",\n    \"explanation\": \"<string>\",\n    \"weighted_score\": \"<number>\"\n  },\n  \"sources\": [\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    },\n    {\n      \"source\": \"<string>\",\n      \"status\": \"<string>\",\n      \"checked_at\": \"<string,null-date-time>\",\n      \"basis\": \"<string>\",\n      \"message\": \"<string>\",\n      \"label\": \"<string>\"\n    }\n  ],\n  \"cached\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessments",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Create voyage assessment batch",
          "request": {
            "name": "Create voyage assessment batch",
            "description": {
              "content": "Validates and enqueues one batch of voyage routes. The per-batch cap is entitlement-specific — read live_max_routes / test_max_routes from GET /api/v1/usage rather than assuming a number. Self-serve keys carry 10. Only accepted route items reserve quota.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessment-batches"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_reference\": \"q3-lanes\",\n  \"routes\": [\n    {\n      \"customer_reference\": \"lane-001\",\n      \"route\": {\n        \"origin\": {\n          \"locode\": \"BEANR\"\n        },\n        \"destination\": {\n          \"locode\": \"USNYC\"\n        },\n        \"vessel_type\": \"container\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Batch accepted for processing.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Monthly unit limit of the allowance this operation draws on (voyage assessments or screenings), for the authenticated key environment.",
                  "key": "X-ArcNautical-Quota-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Units of that allowance remaining in the current UTC monthly period, AFTER this call settled — on a screening that came back INCOMPLETE the unit was refunded and this already reflects it.",
                  "key": "X-ArcNautical-Quota-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when that monthly allowance resets.",
                  "key": "X-ArcNautical-Quota-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"total_count\": \"<integer>\",\n  \"accepted_count\": \"<integer>\",\n  \"failed_count\": \"<integer>\",\n  \"created_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routes\": [\n    {\n      \"route\": {\n        \"origin\": \"<string>\",\n        \"destination\": \"<string>\",\n        \"via\": [\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          },\n          {\n            \"latitude\": \"<number>\",\n            \"longitude\": \"<number>\"\n          }\n        ],\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd_per_tonne\": \"<number>\"\n      },\n      \"customer_reference\": \"<string>\"\n    }\n  ],\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get batch status",
          "request": {
            "name": "Get batch status",
            "description": {
              "content": "Returns batch status, counts, timestamps, and errors.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessment-batches",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"total_count\": \"<integer>\",\n  \"completed_count\": \"<integer>\",\n  \"failed_count\": \"<integer>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\",\n  \"error_body\": \"<object>\",\n  \"started_at\": \"<string,null-date-time>\",\n  \"completed_at\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List batch items",
          "request": {
            "name": "List batch items",
            "description": {
              "content": "Returns cursor-paginated batch item results and partial failures.\n\nRequired scope: voyage:score.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "voyage-assessment-batches",
                ":id",
                "items"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                }
              ],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"items\": [\n    {\n      \"item_index\": \"<integer>\",\n      \"customer_reference\": \"<string>\",\n      \"status\": \"<string>\",\n      \"assessment_id\": \"<string,null>\",\n      \"result_body\": {\n        \"id\": \"<string>\",\n        \"route\": {\n          \"origin_locode\": \"<string>\",\n          \"dest_locode\": \"<string>\",\n          \"via_waypoints\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"distance_nm\": \"<number>\",\n          \"geometry\": \"<object>\"\n        },\n        \"score\": \"<number>\",\n        \"risk_level\": \"<string>\",\n        \"drivers\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"jwc_intersected_areas\": [\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"eez_transit\": [\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"confidence\": \"<number>\",\n        \"missing_sources\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"assessed_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string>\",\n        \"score_floor\": {\n          \"basis\": \"<string>\",\n          \"value\": \"<number>\",\n          \"explanation\": \"<string>\",\n          \"weighted_score\": \"<number>\"\n        },\n        \"sources\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"cached\": \"<boolean>\"\n      },\n      \"error_body\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ]\n      },\n      \"attempts\": \"<integer>\",\n      \"updated_at\": \"<dateTime>\"\n    },\n    {\n      \"item_index\": \"<integer>\",\n      \"customer_reference\": \"<string>\",\n      \"status\": \"<string>\",\n      \"assessment_id\": \"<string,null>\",\n      \"result_body\": {\n        \"id\": \"<string>\",\n        \"route\": {\n          \"origin_locode\": \"<string>\",\n          \"dest_locode\": \"<string>\",\n          \"via_waypoints\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"distance_nm\": \"<number>\",\n          \"geometry\": \"<object>\"\n        },\n        \"score\": \"<number>\",\n        \"risk_level\": \"<string>\",\n        \"drivers\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"jwc_intersected_areas\": [\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"eez_transit\": [\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"confidence\": \"<number>\",\n        \"missing_sources\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"assessed_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string>\",\n        \"score_floor\": {\n          \"basis\": \"<string>\",\n          \"value\": \"<number>\",\n          \"explanation\": \"<string>\",\n          \"weighted_score\": \"<number>\"\n        },\n        \"sources\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"cached\": \"<boolean>\"\n      },\n      \"error_body\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"field\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ]\n      },\n      \"attempts\": \"<integer>\",\n      \"updated_at\": \"<dateTime>\"\n    }\n  ],\n  \"next_cursor\": \"<integer,null>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "voyage-assessment-batches",
                    ":id",
                    "items"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Corridor monitors",
      "description": {
        "content": "Standing route-risk subscriptions that deliver an event when a corridor score changes.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Create corridor monitor",
          "request": {
            "name": "Create corridor monitor",
            "description": {
              "content": "Creates a live six-hour corridor monitor and queues the first baseline immediately. Test keys cannot create corridor monitors. The sandbox currently covers VESSEL monitors only — see POST /api/v1/vessel-monitors/{id}/simulate — so a webhook handler is best rehearsed there.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_reference\": \"lane-NLRTM-CNSHA\",\n  \"route\": {\n    \"origin\": {\n      \"locode\": \"NLRTM\"\n    },\n    \"destination\": {\n      \"locode\": \"CNSHA\"\n    },\n    \"vessel_type\": \"container\"\n  }\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Monitor created and baseline queued.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"next_run_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"route\": {\n    \"origin\": \"<string>\",\n    \"destination\": \"<string>\",\n    \"via\": [\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      },\n      {\n        \"latitude\": \"<number>\",\n        \"longitude\": \"<number>\"\n      }\n    ],\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd_per_tonne\": \"<number>\"\n  },\n  \"customer_reference\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List corridor monitors",
          "request": {
            "name": "List corridor monitors",
            "description": {
              "content": "Lists live corridor monitors owned by the customer.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"monitors\": [\n    {\n      \"id\": \"<string>\",\n      \"status\": \"<string>\",\n      \"route_request\": {\n        \"origin_locode\": \"<string>\",\n        \"dest_locode\": \"<string>\",\n        \"via_waypoints\": [\n          {\n            \"lat\": \"<number>\",\n            \"lon\": \"<number>\"\n          },\n          {\n            \"lat\": \"<number>\",\n            \"lon\": \"<number>\"\n          }\n        ],\n        \"customer_reference\": \"<string>\",\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd\": \"<number>\"\n      },\n      \"next_run_at\": \"<dateTime>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string>\",\n      \"baseline_result\": {\n        \"id\": \"<string>\",\n        \"route\": {\n          \"origin_locode\": \"<string>\",\n          \"dest_locode\": \"<string>\",\n          \"via_waypoints\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"distance_nm\": \"<number>\",\n          \"geometry\": \"<object>\"\n        },\n        \"score\": \"<number>\",\n        \"risk_level\": \"<string>\",\n        \"drivers\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"jwc_intersected_areas\": [\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"eez_transit\": [\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"confidence\": \"<number>\",\n        \"missing_sources\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"assessed_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string>\",\n        \"score_floor\": {\n          \"basis\": \"<string>\",\n          \"value\": \"<number>\",\n          \"explanation\": \"<string>\",\n          \"weighted_score\": \"<number>\"\n        },\n        \"sources\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"cached\": \"<boolean>\"\n      },\n      \"baseline_score\": \"<number,null>\",\n      \"baseline_level\": \"<string,null>\",\n      \"confidence\": \"<number,null>\",\n      \"last_run_at\": \"<string,null-date-time>\"\n    },\n    {\n      \"id\": \"<string>\",\n      \"status\": \"<string>\",\n      \"route_request\": {\n        \"origin_locode\": \"<string>\",\n        \"dest_locode\": \"<string>\",\n        \"via_waypoints\": [\n          {\n            \"lat\": \"<number>\",\n            \"lon\": \"<number>\"\n          },\n          {\n            \"lat\": \"<number>\",\n            \"lon\": \"<number>\"\n          }\n        ],\n        \"customer_reference\": \"<string>\",\n        \"vessel_type\": \"<string>\",\n        \"load_condition\": \"<string>\",\n        \"speed_knots\": \"<number>\",\n        \"dwt_tonnes\": \"<number>\",\n        \"fuel_type\": \"<string>\",\n        \"bunker_price_usd\": \"<number>\"\n      },\n      \"next_run_at\": \"<dateTime>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\",\n      \"customer_reference\": \"<string>\",\n      \"baseline_result\": {\n        \"id\": \"<string>\",\n        \"route\": {\n          \"origin_locode\": \"<string>\",\n          \"dest_locode\": \"<string>\",\n          \"via_waypoints\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ],\n          \"distance_nm\": \"<number>\",\n          \"geometry\": \"<object>\"\n        },\n        \"score\": \"<number>\",\n        \"risk_level\": \"<string>\",\n        \"drivers\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"summary\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"event_count\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"signal_score\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"weight_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_pct\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"contribution_band\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sets_floor\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"relative_rank\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"jwc_intersected_areas\": [\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"id\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_level\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"eez_transit\": [\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"country_code\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"country_name\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"risk_category\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"route_fraction\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"sanctions\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"confidence\": \"<number>\",\n        \"missing_sources\": [\n          \"<string>\",\n          \"<string>\"\n        ],\n        \"methodology_version\": \"<string>\",\n        \"disclaimer\": \"<string>\",\n        \"assessed_at\": \"<dateTime>\",\n        \"expires_at\": \"<dateTime>\",\n        \"customer_reference\": \"<string>\",\n        \"score_floor\": {\n          \"basis\": \"<string>\",\n          \"value\": \"<number>\",\n          \"explanation\": \"<string>\",\n          \"weighted_score\": \"<number>\"\n        },\n        \"sources\": [\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          },\n          {\n            \"source\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"status\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"checked_at\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"basis\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"message\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            \"label\": {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          }\n        ],\n        \"cached\": \"<boolean>\"\n      },\n      \"baseline_score\": \"<number,null>\",\n      \"baseline_level\": \"<string,null>\",\n      \"confidence\": \"<number,null>\",\n      \"last_run_at\": \"<string,null-date-time>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get corridor monitor",
          "request": {
            "name": "Get corridor monitor",
            "description": {
              "content": "Retrieves one corridor monitor.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"next_run_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Pause or resume corridor monitor",
          "request": {
            "name": "Pause or resume corridor monitor",
            "description": {
              "content": "Updates one monitor status to active or paused.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"action\": \"<string>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"route_request\": {\n    \"origin_locode\": \"<string>\",\n    \"dest_locode\": \"<string>\",\n    \"via_waypoints\": [\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      },\n      {\n        \"lat\": \"<number>\",\n        \"lon\": \"<number>\"\n      }\n    ],\n    \"customer_reference\": \"<string>\",\n    \"vessel_type\": \"<string>\",\n    \"load_condition\": \"<string>\",\n    \"speed_knots\": \"<number>\",\n    \"dwt_tonnes\": \"<number>\",\n    \"fuel_type\": \"<string>\",\n    \"bunker_price_usd\": \"<number>\"\n  },\n  \"next_run_at\": \"<dateTime>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\",\n  \"customer_reference\": \"<string>\",\n  \"baseline_result\": {\n    \"id\": \"<string>\",\n    \"route\": {\n      \"origin_locode\": \"<string>\",\n      \"dest_locode\": \"<string>\",\n      \"via_waypoints\": [\n        {\n          \"lat\": \"<number>\",\n          \"lon\": \"<number>\"\n        },\n        {\n          \"lat\": \"<number>\",\n          \"lon\": \"<number>\"\n        }\n      ],\n      \"distance_nm\": \"<number>\",\n      \"geometry\": \"<object>\"\n    },\n    \"score\": \"<number>\",\n    \"risk_level\": \"<string>\",\n    \"drivers\": [\n      {\n        \"source\": \"<string>\",\n        \"label\": \"<string>\",\n        \"summary\": \"<string>\",\n        \"event_count\": \"<integer>\",\n        \"signal_score\": \"<integer>\",\n        \"weight_pct\": \"<integer>\",\n        \"contribution_pct\": \"<integer>\",\n        \"contribution_band\": \"<string>\",\n        \"sets_floor\": \"<boolean>\",\n        \"relative_rank\": \"<integer>\"\n      },\n      {\n        \"source\": \"<string>\",\n        \"label\": \"<string>\",\n        \"summary\": \"<string>\",\n        \"event_count\": \"<integer>\",\n        \"signal_score\": \"<integer>\",\n        \"weight_pct\": \"<integer>\",\n        \"contribution_pct\": \"<integer>\",\n        \"contribution_band\": \"<string>\",\n        \"sets_floor\": \"<boolean>\",\n        \"relative_rank\": \"<integer>\"\n      }\n    ],\n    \"jwc_intersected_areas\": [\n      {\n        \"id\": \"<string>\",\n        \"name\": \"<string>\",\n        \"risk_level\": \"<string>\",\n        \"route_fraction\": \"<number>\"\n      },\n      {\n        \"id\": \"<string>\",\n        \"name\": \"<string>\",\n        \"risk_level\": \"<string>\",\n        \"route_fraction\": \"<number>\"\n      }\n    ],\n    \"eez_transit\": [\n      {\n        \"country_code\": \"<string>\",\n        \"country_name\": \"<string>\",\n        \"risk_category\": \"<string>\",\n        \"route_fraction\": \"<number>\",\n        \"sanctions\": {\n          \"is_sanctioned\": \"<boolean>\",\n          \"regimes\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ]\n        }\n      },\n      {\n        \"country_code\": \"<string>\",\n        \"country_name\": \"<string>\",\n        \"risk_category\": \"<string>\",\n        \"route_fraction\": \"<number>\",\n        \"sanctions\": {\n          \"is_sanctioned\": \"<boolean>\",\n          \"regimes\": [\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            },\n            {\n              \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n            }\n          ]\n        }\n      }\n    ],\n    \"confidence\": \"<number>\",\n    \"missing_sources\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"methodology_version\": \"<string>\",\n    \"disclaimer\": \"<string>\",\n    \"assessed_at\": \"<dateTime>\",\n    \"expires_at\": \"<dateTime>\",\n    \"customer_reference\": \"<string>\",\n    \"score_floor\": {\n      \"basis\": \"<string>\",\n      \"value\": \"<number>\",\n      \"explanation\": \"<string>\",\n      \"weighted_score\": \"<number>\"\n    },\n    \"sources\": [\n      {\n        \"source\": \"<string>\",\n        \"status\": \"<string>\",\n        \"checked_at\": \"<string,null-date-time>\",\n        \"basis\": \"<string>\",\n        \"message\": \"<string>\",\n        \"label\": \"<string>\"\n      },\n      {\n        \"source\": \"<string>\",\n        \"status\": \"<string>\",\n        \"checked_at\": \"<string,null-date-time>\",\n        \"basis\": \"<string>\",\n        \"message\": \"<string>\",\n        \"label\": \"<string>\"\n      }\n    ],\n    \"cached\": \"<boolean>\"\n  },\n  \"baseline_score\": \"<number,null>\",\n  \"baseline_level\": \"<string,null>\",\n  \"confidence\": \"<number,null>\",\n  \"last_run_at\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"action\": \"<string>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Delete corridor monitor",
          "request": {
            "name": "Delete corridor monitor",
            "description": {
              "content": "Deletes one corridor monitor.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"deleted\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get corridor monitor history",
          "request": {
            "name": "Get corridor monitor history",
            "description": {
              "content": "Returns up to 90 days of score and material-change history.\n\nRequired scope: voyage:monitor.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "corridor-monitors",
                ":id",
                "history"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "Opaque cursor returned by the previous page."
                },
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "50",
                  "description": "Maximum items to return. A value above the maximum is refused with 422, not clamped."
                }
              ],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"history\": [\n    {\n      \"id\": \"<string>\",\n      \"assessment_id\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"score\": \"<number>\",\n      \"risk_level\": \"<string>\",\n      \"confidence\": \"<number>\",\n      \"driver_summary\": [\n        \"<object>\",\n        \"<object>\"\n      ],\n      \"change_body\": \"<object>\",\n      \"created_at\": \"<dateTime>\"\n    },\n    {\n      \"id\": \"<string>\",\n      \"assessment_id\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"score\": \"<number>\",\n      \"risk_level\": \"<string>\",\n      \"confidence\": \"<number>\",\n      \"driver_summary\": [\n        \"<object>\",\n        \"<object>\"\n      ],\n      \"change_body\": \"<object>\",\n      \"created_at\": \"<dateTime>\"\n    }\n  ],\n  \"next_cursor\": \"<string,null>\",\n  \"has_more\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "corridor-monitors",
                    ":id",
                    "history"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "limit",
                      "value": "50"
                    }
                  ],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Webhooks",
      "description": {
        "content": "HMAC-SHA256 signed delivery of every event type, with delivery history and redelivery.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Create webhook endpoint",
          "request": {
            "name": "Create webhook endpoint",
            "description": {
              "content": "Creates an environment-specific HTTPS webhook endpoint after SSRF-safe URL validation.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://example.com/arcnautical/webhooks\",\n  \"event_types\": [\n    \"vessel_risk.changed\",\n    \"screening_batch.completed\"\n  ]\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Webhook endpoint created; the signing secret is shown once.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"is_active\": \"<boolean>\",\n  \"secret\": \"<string>\",\n  \"created_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List webhook endpoints",
          "request": {
            "name": "List webhook endpoints",
            "description": {
              "content": "Lists environment-specific webhook endpoints.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"endpoints\": [\n    {\n      \"id\": \"<string>\",\n      \"url\": \"<uri>\",\n      \"event_types\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"is_active\": \"<boolean>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\"\n    },\n    {\n      \"id\": \"<string>\",\n      \"url\": \"<uri>\",\n      \"event_types\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"is_active\": \"<boolean>\",\n      \"created_at\": \"<dateTime>\",\n      \"updated_at\": \"<dateTime>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get webhook endpoint",
          "request": {
            "name": "Get webhook endpoint",
            "description": {
              "content": "Retrieves one webhook endpoint.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"is_active\": \"<boolean>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Update webhook endpoint",
          "request": {
            "name": "Update webhook endpoint",
            "description": {
              "content": "Updates endpoint URL, status, or event subscriptions.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<string>\",\n  \"url\": \"<uri>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ],\n  \"is_active\": \"<boolean>\",\n  \"created_at\": \"<dateTime>\",\n  \"updated_at\": \"<dateTime>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"<uri>\",\n  \"is_active\": \"<boolean>\",\n  \"event_types\": [\n    \"<string>\",\n    \"<string>\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Delete webhook endpoint",
          "request": {
            "name": "Delete webhook endpoint",
            "description": {
              "content": "Deletes one webhook endpoint.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"deleted\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Send test webhook",
          "request": {
            "name": "Send test webhook",
            "description": {
              "content": "Queues and delivers a signed test event to one endpoint.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-endpoints",
                ":id",
                "test"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<string>",
                  "key": "id",
                  "description": "(Required) Resource identifier."
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"queued\": \"<boolean>\",\n  \"delivered\": \"<boolean>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-endpoints",
                    ":id",
                    "test"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<string>",
                      "key": "id",
                      "description": "(Required) Resource identifier."
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List webhook deliveries",
          "request": {
            "name": "List webhook deliveries",
            "description": {
              "content": "The delivery record for every event we tried to send you, newest first, including the ones that gave up. Delivery is attempted immediately, then after 5min, 30min, 2h and 12h; after the fifth failure the status is dead and it will NOT be retried.\n\nFilter with status=dead to find events you never received. dead_count and in_flight_count are account-wide, not page-local, so they answer \"is anything of mine lost right now\" rather than \"on this page\".\n\nA dead delivery is not the end: replay it with POST /api/v1/webhook-deliveries/{id}/redeliver.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-deliveries"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-200. Default 50."
                },
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "next_cursor from the previous page, unmodified."
                },
                {
                  "disabled": false,
                  "key": "status",
                  "value": "<string>",
                  "description": "Delivery state. Use dead for events that gave up after every retry."
                },
                {
                  "disabled": false,
                  "key": "event_type",
                  "value": "<string>",
                  "description": "One event type, for example vessel_risk.changed."
                },
                {
                  "disabled": false,
                  "key": "endpoint_id",
                  "value": "<uuid>",
                  "description": "Only deliveries to this endpoint."
                },
                {
                  "disabled": false,
                  "key": "created_after",
                  "value": "<dateTime>",
                  "description": "ISO 8601 lower bound, inclusive."
                },
                {
                  "disabled": false,
                  "key": "created_before",
                  "value": "<dateTime>",
                  "description": "ISO 8601 upper bound, inclusive."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"deliveries\": [\n    {\n      \"id\": \"<uuid>\",\n      \"event_id\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"status\": \"<string>\",\n      \"attempt\": \"<integer>\",\n      \"created_at\": \"<dateTime>\",\n      \"endpoint_id\": \"<string,null-uuid>\",\n      \"endpoint_url\": \"<string,null>\",\n      \"status_code\": \"<integer,null>\",\n      \"error\": \"<string,null>\",\n      \"next_retry_at\": \"<string,null-date-time>\",\n      \"delivered_at\": \"<string,null-date-time>\",\n      \"replay_of\": \"<string,null-uuid>\",\n      \"payload\": {\n        \"<key>\": \"<value>\"\n      }\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"event_id\": \"<string>\",\n      \"event_type\": \"<string>\",\n      \"status\": \"<string>\",\n      \"attempt\": \"<integer>\",\n      \"created_at\": \"<dateTime>\",\n      \"endpoint_id\": \"<string,null-uuid>\",\n      \"endpoint_url\": \"<string,null>\",\n      \"status_code\": \"<integer,null>\",\n      \"error\": \"<string,null>\",\n      \"next_retry_at\": \"<string,null-date-time>\",\n      \"delivered_at\": \"<string,null-date-time>\",\n      \"replay_of\": \"<string,null-uuid>\",\n      \"payload\": {\n        \"<key>\": \"<value>\"\n      }\n    }\n  ],\n  \"has_more\": \"<boolean>\",\n  \"dead_count\": \"<integer>\",\n  \"in_flight_count\": \"<integer>\",\n  \"next_cursor\": \"<string,null>\",\n  \"retry_schedule\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<string>"
                    },
                    {
                      "key": "event_type",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get a webhook delivery",
          "request": {
            "name": "Get a webhook delivery",
            "description": {
              "content": "One delivery record including the payload exactly as it was signed and transmitted, so you can re-verify the HMAC signature yourself rather than take our word for what we sent.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-deliveries",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"event_id\": \"<string>\",\n  \"event_type\": \"<string>\",\n  \"status\": \"<string>\",\n  \"attempt\": \"<integer>\",\n  \"created_at\": \"<dateTime>\",\n  \"endpoint_id\": \"<string,null-uuid>\",\n  \"endpoint_url\": \"<string,null>\",\n  \"status_code\": \"<integer,null>\",\n  \"error\": \"<string,null>\",\n  \"next_retry_at\": \"<string,null-date-time>\",\n  \"delivered_at\": \"<string,null-date-time>\",\n  \"replay_of\": \"<string,null-uuid>\",\n  \"payload\": {\n    \"<key>\": \"<value>\"\n  }\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Replay a webhook delivery",
          "request": {
            "name": "Replay a webhook delivery",
            "description": {
              "content": "Queues a fresh attempt at an event, for when your endpoint was down while we were retrying. Accepted immediately, then the same five-attempt schedule.\n\nThis inserts a NEW delivery and leaves the original exactly as it ended. The record that an event failed five times is part of your audit trail, and a successful replay must not be able to erase it. The two are linked by replay_of and share an event_id.\n\nRefuses with 409 if the delivery is still in flight (it will retry on its own), if the endpoint has been deleted, or if the endpoint is disabled.\n\nRequired scope: webhooks:manage.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "webhook-deliveries",
                ":id",
                "redeliver"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) "
                }
              ]
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"replay_of\": \"<uuid>\",\n  \"event_id\": \"<string>\",\n  \"status\": \"<string>\",\n  \"event_type\": \"<string>\",\n  \"note\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "webhook-deliveries",
                    ":id",
                    "redeliver"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) "
                    }
                  ]
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Exports",
      "description": {
        "content": "One file for a whole resource — screenings, cargo screenings, access log — instead of a paging loop.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Export records to a file",
          "request": {
            "name": "Export records to a file",
            "description": {
              "content": "Start a bulk export and get back an id. The file is built in the background and downloaded from GET /api/v1/exports/{id}/download once status is completed — typically within a minute.\n\nThis is the answer to \"give me everything we screened in Q3\". It is a job rather than a large GET because a year of a real fleet does not fit inside a request timeout, and a response that dies halfway looks like a partial answer.\n\nThe row count is measured BEFORE the job is created. If the range holds more than 500,000 rows the request is refused with the real number, rather than producing a file that is silently short — an export missing rows is worse than no export, because everyone downstream treats it as complete.\n\nIf you leave filters.created_before out, it is pinned to the moment of the request and returned to you. That makes the export reproducible: without it, a job picked up a minute later would include rows written in between, and the same \"Q3\" request would produce a different file tomorrow.\n\nAn export reserves no quota and screens nothing. It reads records you already hold, and is governed by the same scope that governs reading them one at a time.\n\nRequired scope: any one of vessel:screen, cargo:screen, logs:read, whichever governs the resource you name.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "exports"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": "Generated per Send. For a production gate derive it from the question (screening:<imo>:<date>) so a repeat of the same hull today replays free — see /developers/#screening.",
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"resource\": \"screenings\",\n  \"format\": \"jsonl\"\n}",
              "options": {
                "raw": {
                  "headerFamily": "json",
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Export accepted and queued.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"resource\": \"<string>\",\n  \"format\": \"<string>\",\n  \"status\": \"<string>\",\n  \"filters\": \"<object>\",\n  \"created_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"estimated_row_count\": \"<integer,null>\",\n  \"row_count\": \"<integer,null>\",\n  \"byte_size\": \"<integer,null>\",\n  \"checksum_sha256\": \"<string,null>\",\n  \"download_url\": \"<string>\",\n  \"error\": {\n    \"code\": \"<string>\",\n    \"message\": \"<string>\",\n    \"request_id\": \"<string>\",\n    \"field_violations\": [\n      {\n        \"field\": \"<string>\",\n        \"message\": \"<string>\"\n      },\n      {\n        \"field\": \"<string>\",\n        \"message\": \"<string>\"\n      }\n    ]\n  },\n  \"download_count\": \"<integer>\",\n  \"downloaded_at\": \"<string,null-date-time>\",\n  \"completed_at\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": "(Required) Required for resource-creating POST requests. The same key and identical body replay the original response for 24 hours; a different body returns idempotency_conflict.",
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"resource\": \"<string>\",\n  \"format\": \"csv\",\n  \"filters\": {\n    \"created_after\": \"<dateTime>\",\n    \"created_before\": \"<dateTime>\",\n    \"imo\": \"<string>\",\n    \"customer_reference\": \"<string>\",\n    \"sanctions_status\": \"<string>\",\n    \"status\": \"<integer>\",\n    \"outcome\": \"<string>\",\n    \"method\": \"<string>\",\n    \"endpoint\": \"<string>\",\n    \"key_id\": \"<uuid>\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "List your exports",
          "request": {
            "name": "List your exports",
            "description": {
              "content": "Exports created on this account and environment, newest first. Only resources your key holds the scope for are listed.\n\nRequired scope: any one of vessel:screen, cargo:screen, logs:read, whichever governs the resource you name.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "exports"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-100. Default 25."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"exports\": [\n    {\n      \"id\": \"<uuid>\",\n      \"resource\": \"<string>\",\n      \"format\": \"<string>\",\n      \"status\": \"<string>\",\n      \"filters\": \"<object>\",\n      \"created_at\": \"<dateTime>\",\n      \"expires_at\": \"<dateTime>\",\n      \"estimated_row_count\": \"<integer,null>\",\n      \"row_count\": \"<integer,null>\",\n      \"byte_size\": \"<integer,null>\",\n      \"checksum_sha256\": \"<string,null>\",\n      \"download_url\": \"<string>\",\n      \"error\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": \"<string>\",\n            \"message\": \"<string>\"\n          },\n          {\n            \"field\": \"<string>\",\n            \"message\": \"<string>\"\n          }\n        ]\n      },\n      \"download_count\": \"<integer>\",\n      \"downloaded_at\": \"<string,null-date-time>\",\n      \"completed_at\": \"<string,null-date-time>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"resource\": \"<string>\",\n      \"format\": \"<string>\",\n      \"status\": \"<string>\",\n      \"filters\": \"<object>\",\n      \"created_at\": \"<dateTime>\",\n      \"expires_at\": \"<dateTime>\",\n      \"estimated_row_count\": \"<integer,null>\",\n      \"row_count\": \"<integer,null>\",\n      \"byte_size\": \"<integer,null>\",\n      \"checksum_sha256\": \"<string,null>\",\n      \"download_url\": \"<string>\",\n      \"error\": {\n        \"code\": \"<string>\",\n        \"message\": \"<string>\",\n        \"request_id\": \"<string>\",\n        \"field_violations\": [\n          {\n            \"field\": \"<string>\",\n            \"message\": \"<string>\"\n          },\n          {\n            \"field\": \"<string>\",\n            \"message\": \"<string>\"\n          }\n        ]\n      },\n      \"download_count\": \"<integer>\",\n      \"downloaded_at\": \"<string,null-date-time>\",\n      \"completed_at\": \"<string,null-date-time>\"\n    }\n  ],\n  \"retention_days\": \"<integer>\",\n  \"max_rows\": \"<integer>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Check an export",
          "request": {
            "name": "Check an export",
            "description": {
              "content": "Poll until status is completed, then follow download_url. download_url is absent until there is something to download, so readiness never has to be inferred from a status string next to a URL that would fail.\n\nStatuses: queued, running, completed, failed. A failed export carries the machine error under error.\n\nRequired scope: any one of vessel:screen, cargo:screen, logs:read, whichever governs the resource you name.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "exports",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) Export id."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"resource\": \"<string>\",\n  \"format\": \"<string>\",\n  \"status\": \"<string>\",\n  \"filters\": \"<object>\",\n  \"created_at\": \"<dateTime>\",\n  \"expires_at\": \"<dateTime>\",\n  \"estimated_row_count\": \"<integer,null>\",\n  \"row_count\": \"<integer,null>\",\n  \"byte_size\": \"<integer,null>\",\n  \"checksum_sha256\": \"<string,null>\",\n  \"download_url\": \"<string>\",\n  \"error\": {\n    \"code\": \"<string>\",\n    \"message\": \"<string>\",\n    \"request_id\": \"<string>\",\n    \"field_violations\": [\n      {\n        \"field\": \"<string>\",\n        \"message\": \"<string>\"\n      },\n      {\n        \"field\": \"<string>\",\n        \"message\": \"<string>\"\n      }\n    ]\n  },\n  \"download_count\": \"<integer>\",\n  \"downloaded_at\": \"<string,null-date-time>\",\n  \"completed_at\": \"<string,null-date-time>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Delete an export",
          "request": {
            "name": "Delete an export",
            "description": {
              "content": "Removes the export and its file immediately, rather than waiting for the 7-day expiry. The records the file was built from are untouched — an export is a copy, never the original.\n\nRequired scope: any one of vessel:screen, cargo:screen, logs:read, whichever governs the resource you name.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "exports",
                ":id"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) Export id."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "DELETE"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id\": \"<uuid>\",\n  \"deleted\": \"<boolean>\",\n  \"note\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Download an export file",
          "request": {
            "name": "Download an export file",
            "description": {
              "content": "Returns the generated file. CSV carries a UTF-8 byte-order mark so vessel names render correctly in Excel — read it with encoding=\"utf-8-sig\" in Python. JSONL has no BOM, and each line is exactly the record the single-resource endpoint returns.\n\nThe SHA-256 of the file is returned in X-ArcNautical-Export-Sha256 and on the export resource, so an archived copy can be proven years later to be the one we generated.\n\n409 export_not_ready means the file is still building; 410 export_unavailable means it has expired or been deleted. Both are recoverable — poll, or create a new export.\n\nRequired scope: the scope governing the exported resource.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "exports",
                ":id",
                "download"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "<uuid>",
                  "key": "id",
                  "description": "(Required) Export id."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "text/csv"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "The export file.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id",
                    "download"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "text/csv"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "attachment, with a filename naming the resource, environment and creation time.",
                  "key": "Content-Disposition",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "SHA-256 of the file body, hex. Matches checksum_sha256 on the export resource.",
                  "key": "X-ArcNautical-Export-Sha256",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Number of records in the file, excluding the CSV header row.",
                  "key": "X-ArcNautical-Export-Rows",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "text/csv"
                }
              ],
              "body": "<binary>",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id",
                    "download"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Export is not finished building.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id",
                    "download"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "exports",
                    ":id",
                    "download"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "<uuid>",
                      "key": "id",
                      "description": "(Required) Export id."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    },
    {
      "name": "Account",
      "description": {
        "content": "Usage, quotas and the access log for the authenticated key.",
        "type": "text/plain"
      },
      "item": [
        {
          "name": "Read your API access log",
          "request": {
            "name": "Read your API access log",
            "description": {
              "content": "Every authenticated request made with a key on this account, in this environment, newest first. The audit answer to \"who used our key, against what, and when\" — including the refusals, which is usually the half worth reading.\n\nRows carry the source IP the edge observed, the user agent, the key that was used, the HTTP status, the machine error_code on a refusal, and the request_id you were given at the time, so a line here joins directly to your own logs and to any support conversation about it.\n\nUnauthenticated requests are absent by construction: a rejected key carries no account to attribute it to. Calls that set the synthetic header ARE recorded — the header is caller-supplied, and an audit log you can opt out of by sending a header is not an audit log. Retained for 365 days.\n\nRequired scope: logs:read.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "access-log"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "limit",
                  "value": "<integer>",
                  "description": "Rows per page, 1-200. Default 50."
                },
                {
                  "disabled": false,
                  "key": "cursor",
                  "value": "<string>",
                  "description": "next_cursor from the previous page, unmodified."
                },
                {
                  "disabled": false,
                  "key": "status",
                  "value": "<integer>",
                  "description": "One HTTP status code, for example 403."
                },
                {
                  "disabled": false,
                  "key": "outcome",
                  "value": "<string>",
                  "description": "success (status under 400) or failure (400 and above)."
                },
                {
                  "disabled": false,
                  "key": "method",
                  "value": "<string>",
                  "description": "One HTTP method."
                },
                {
                  "disabled": false,
                  "key": "endpoint",
                  "value": "<string>",
                  "description": "Templated path with ids collapsed, for example /api/v1/screenings/{id}."
                },
                {
                  "disabled": false,
                  "key": "key_id",
                  "value": "<uuid>",
                  "description": "Only calls made with this key. The key id from the developer portal, never the key itself."
                },
                {
                  "disabled": false,
                  "key": "created_after",
                  "value": "<dateTime>",
                  "description": "ISO 8601 lower bound, inclusive."
                },
                {
                  "disabled": false,
                  "key": "created_before",
                  "value": "<dateTime>",
                  "description": "ISO 8601 upper bound, inclusive."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"access_log\": [\n    {\n      \"id\": \"<uuid>\",\n      \"occurred_at\": \"<dateTime>\",\n      \"method\": \"<string>\",\n      \"path\": \"<string>\",\n      \"endpoint\": \"<string>\",\n      \"status\": \"<integer>\",\n      \"ok\": \"<boolean>\",\n      \"error_code\": \"<string,null>\",\n      \"duration_ms\": \"<integer,null>\",\n      \"request_id\": \"<string,null>\",\n      \"source_ip\": \"<string,null>\",\n      \"user_agent\": \"<string,null>\",\n      \"key_id\": \"<uuid>\",\n      \"key_prefix\": \"<string,null>\"\n    },\n    {\n      \"id\": \"<uuid>\",\n      \"occurred_at\": \"<dateTime>\",\n      \"method\": \"<string>\",\n      \"path\": \"<string>\",\n      \"endpoint\": \"<string>\",\n      \"status\": \"<integer>\",\n      \"ok\": \"<boolean>\",\n      \"error_code\": \"<string,null>\",\n      \"duration_ms\": \"<integer,null>\",\n      \"request_id\": \"<string,null>\",\n      \"source_ip\": \"<string,null>\",\n      \"user_agent\": \"<string,null>\",\n      \"key_id\": \"<uuid>\",\n      \"key_prefix\": \"<string,null>\"\n    }\n  ],\n  \"has_more\": \"<boolean>\",\n  \"environment\": \"<string>\",\n  \"retention_days\": \"<integer>\",\n  \"next_cursor\": \"<string,null>\",\n  \"note\": \"<string>\"\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "access-log"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "<integer>"
                    },
                    {
                      "key": "cursor",
                      "value": "<string>"
                    },
                    {
                      "key": "status",
                      "value": "<integer>"
                    },
                    {
                      "key": "outcome",
                      "value": "<string>"
                    },
                    {
                      "key": "method",
                      "value": "<string>"
                    },
                    {
                      "key": "endpoint",
                      "value": "<string>"
                    },
                    {
                      "key": "key_id",
                      "value": "<uuid>"
                    },
                    {
                      "key": "created_after",
                      "value": "<dateTime>"
                    },
                    {
                      "key": "created_before",
                      "value": "<dateTime>"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "name": "Get usage",
          "request": {
            "name": "Get usage",
            "description": {
              "content": "Returns live and test usage, limits, remaining units, reset time, and monitor capacity.\n\nRequired scope: usage:read.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "usage"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "name": "Successful response.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"product_code\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"assessments\": {\n    \"live\": {\n      \"limit\": \"<integer>\",\n      \"used\": \"<integer>\",\n      \"reserved\": \"<integer>\",\n      \"remaining\": \"<integer>\",\n      \"reset\": \"<dateTime>\"\n    },\n    \"test\": {\n      \"limit\": \"<integer>\",\n      \"used\": \"<integer>\",\n      \"reserved\": \"<integer>\",\n      \"remaining\": \"<integer>\",\n      \"reset\": \"<dateTime>\"\n    }\n  },\n  \"batches\": {\n    \"live_max_routes\": \"<integer>\",\n    \"test_max_routes\": \"<integer>\"\n  },\n  \"monitors\": {\n    \"limit\": \"<integer>\",\n    \"used\": \"<integer>\",\n    \"remaining\": \"<integer>\",\n    \"cadence_hours\": \"<integer>\",\n    \"history_days\": \"<integer>\"\n  },\n  \"concurrency\": {\n    \"screenings_per_customer\": \"<integer>\",\n    \"screenings_global\": \"<integer>\",\n    \"enriched_screenings_global\": \"<integer>\",\n    \"enriched_queue_max_wait_ms\": \"<integer>\",\n    \"enriched_queue_per_customer\": \"<integer>\",\n    \"assessments_per_customer\": \"<integer>\",\n    \"requests_per_minute_per_key\": \"<integer>\"\n  }\n}",
              "cookie": []
            },
            {
              "name": "Missing or invalid API key.\n\n`code` is one of:\n\n- `unauthorized` — No credential was supplied.\n- `invalid_api_key` — The key is unknown, revoked, expired, or its prefix does not match the environment.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "The monthly allowance for this resource is used up. The refused request is NOT metered. message states used/limit and the reset instant; a replay under an Idempotency-Key already answered is still free and is not metered, reads are never metered, and a test-environment key has its own allowance.\n\n`code` is one of:\n\n- `quota_exhausted` — The monthly allowance for this resource is spent. GET /api/v1/usage carries the reset date.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Idempotency conflict.\n\n`code` is one of:\n\n- `idempotency_conflict` — This Idempotency-Key was already used with a different body. Never resolves — use a new key.\n- `idempotency_in_progress` (retryable) — The original request with this key is still running, and this retry waited for it (up to 30s) without it finishing. Retry with the same key: the next retry waits again and returns the original result the moment it lands, flagged X-ArcNautical-Idempotent-Joined: true. Carries Retry-After.\n- `export_not_ready` (retryable) — The export job has not finished. Poll it; carries Retry-After.\n- `delivery_in_flight` (retryable) — That webhook delivery is being attempted right now.\n- `endpoint_disabled` — The webhook endpoint is disabled. Re-enable it first.\n- `endpoint_deleted` — The webhook endpoint no longer exists.\n- `monitor_limit_exceeded` — Corridor monitor ceiling reached. Delete one first.\n- `vessel_monitor_limit_exceeded` — Vessel monitor ceiling reached. Delete one first.\n- `vessel_monitor_exists` — A monitor already watches this hull.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Request or route validation failed. Also returned for a body field this endpoint does not read — field_violations names it and lists the accepted keys.\n\n`code` is one of:\n\n- `validation_failed` — One or more fields are invalid; field_violations names each one.\n- `route_not_found` — Both ports are known but no sea route connects them.\n- `export_too_large` — The requested range exceeds the per-export row cap. Narrow the filters and export in parts.\n- `webhook_url_blocked` — The URL resolves to a private, loopback or link-local address.\n- `webhook_url_unresolvable` — The URL host does not resolve.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            },
            {
              "name": "Rate limit exceeded.\n\n`code` is one of:\n\n- `rate_limit_exceeded` (retryable) — Over the per-key request rate. Shed RATE; back off to X-RateLimit-Reset.\n- `concurrency_limit` (retryable) — Over your own in-flight ceiling. Shed CONCURRENCY, or use the batch endpoint. Retry-After carries a live estimate, not a fixed number.\n- `service_concurrency_limit` (retryable) — The shared pool is full and your account is within its allowance. A graded screen QUEUES for that pool first and is served round-robin between accounts, so this means the queue itself ran out of time — you were not stuck behind one customer's batch. Reducing your fan-out will NOT help; retry unchanged after Retry-After. include_vetting: false skips this queue entirely, and /api/v1/screening-batches is not subject to it at all.\n- `export_concurrency_limit` (retryable) — Too many exports building at once. Wait for one to finish.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "usage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "disabled": false,
                  "description": "Request identifier supplied by the caller or generated by ArcNautical.",
                  "key": "X-Request-Id",
                  "value": "<string>"
                },
                {
                  "disabled": false,
                  "description": "Per-key requests allowed in the current one-minute window.",
                  "key": "X-RateLimit-Limit",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "Requests remaining in the current one-minute window.",
                  "key": "X-RateLimit-Remaining",
                  "value": "<integer>"
                },
                {
                  "disabled": false,
                  "description": "UTC timestamp when the current one-minute rate-limit window resets.",
                  "key": "X-RateLimit-Reset",
                  "value": "<dateTime>"
                },
                {
                  "disabled": false,
                  "description": "Retry delay in seconds when a retry is appropriate.",
                  "key": "Retry-After",
                  "value": "<integer>"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"code\": \"<string>\",\n  \"message\": \"<string>\",\n  \"request_id\": \"<string>\",\n  \"field_violations\": [\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    },\n    {\n      \"field\": \"<string>\",\n      \"message\": \"<string>\"\n    }\n  ]\n}",
              "cookie": []
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    }
  ]
}
