{"openapi":"3.1.0","info":{"title":"Ship24 (BYOK) API","version":"0.1.0","description":"Ship24 (BYOK) lets an AI assistant read your own Ship24 data through the Ship24 API with a key you supply (Ship24 API key). Read-only: 5 tools (list_trackers, get_tracker, get_tracker_results, search_results_by_tracking_number, list_couriers). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to api.ship24.com....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-ship24.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-ship24/docs"},"termsOfService":"https://connectorbay.com/byok-ship24/terms"},"servers":[{"url":"https://byok-ship24.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-ship24/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_trackers":{"post":{"operationId":"list_trackers","summary":"List the trackers already created in your Ship24 account (tracking number, courier codes, subscription and tracked flags","description":"List the trackers already created in your Ship24 account (tracking number, courier codes, subscription and tracked flags, creation time). Up to 500 per page. Use for \"Which parcels am I tracking in Ship24\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Trackers per page (1 to 500).","title":"Limit"},"sort":{"anyOf":[{"enum":[1,-1],"type":"integer"},{"type":"null"}],"default":1,"description":"Creation-time order: 1 for oldest first, -1 for newest first.","title":"Sort"}},"title":"list_trackersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker":{"post":{"operationId":"get_tracker","summary":"Get one Ship24 tracker (tracking number, courier codes, shipment reference, whether it is subscribed and tracked) by tra","description":"Get one Ship24 tracker (tracking number, courier codes, shipment reference, whether it is subscribed and tracked) by tracker id. Use for \"Show Ship24 tracker 26148317-7502-d3ac-44a9-546d240ac0dd\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tracker_id":{"description":"Ship24 tracker id (a UUID returned by the list of trackers) or, with search_by=clientTrackerId, your own tracker id.","maxLength":100,"title":"Tracker Id","type":"string"},"search_by":{"anyOf":[{"enum":["trackerId","clientTrackerId"],"type":"string"},{"type":"null"}],"default":null,"description":"How to read tracker_id: trackerId (default) or clientTrackerId.","title":"Search By"}},"required":["tracker_id"],"title":"get_trackerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_results":{"post":{"operationId":"get_tracker_results","summary":"Get the tracking results of an existing tracker: shipment status, milestone, delivery estimate and the list of tracking ","description":"Get the tracking results of an existing tracker: shipment status, milestone, delivery estimate and the list of tracking events. Use for \"Where is the parcel behind Ship24 tracker 26148317-7502-d3ac-44a9-546d240ac0dd\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tracker_id":{"description":"Ship24 tracker id (a UUID returned by the list of trackers) or, with search_by=clientTrackerId, your own tracker id.","maxLength":100,"title":"Tracker Id","type":"string"},"search_by":{"anyOf":[{"enum":["trackerId","clientTrackerId"],"type":"string"},{"type":"null"}],"default":null,"description":"How to read tracker_id: trackerId (default) or clientTrackerId.","title":"Search By"}},"required":["tracker_id"],"title":"get_tracker_resultsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_results_by_tracking_number":{"post":{"operationId":"search_results_by_tracking_number","summary":"Get tracking results for trackers you already created for a tracking number (status, milestone, delivery estimate, event","description":"Get tracking results for trackers you already created for a tracking number (status, milestone, delivery estimate, events). Does not create a tracker. Use for \"What is the status of parcel 9400115901047177598206 in Ship24\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tracking_number":{"description":"Carrier tracking number of a parcel that already has a tracker in your account (up to 50 characters).","maxLength":50,"title":"Tracking Number","type":"string"}},"required":["tracking_number"],"title":"search_results_by_tracking_numberArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_couriers":{"post":{"operationId":"list_couriers","summary":"List the couriers Ship24 supports: code, name, website, country, whether it is a postal operator and which extra fields ","description":"List the couriers Ship24 supports: code, name, website, country, whether it is a postal operator and which extra fields it requires. Use for \"Which couriers does Ship24 support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_couriersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}