{"openapi":"3.1.0","info":{"title":"Sinch Fax (BYOK) API","version":"0.1.0","description":"Sinch Fax (BYOK) lets an AI assistant read your own Sinch Fax data through the Sinch Fax API with a key you supply (access key ID). Read-only: 6 tools (list_faxes, get_fax, list_services, get_service, list_service_numbers, list_service_domains). 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 fax.api.sinch.com....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-sinch-fax.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-sinch-fax/docs"},"termsOfService":"https://connectorbay.com/byok-sinch-fax/terms"},"servers":[{"url":"https://byok-sinch-fax.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-sinch-fax/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_faxes":{"post":{"operationId":"list_faxes","summary":"List inbound and outbound faxes with status (queued, in progress, completed, failure), pages, numbers, times and error d","description":"List inbound and outbound faxes with status (queued, in progress, completed, failure), pages, numbers, times and error details. Filter by direction, status, service or numbers (prefix match). Use for \"Which faxes failed this week on Sinch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"direction":{"anyOf":[{"enum":["OUTBOUND","INBOUND"],"type":"string"},{"type":"null"}],"default":null,"description":"Fax direction.","title":"Direction"},"status":{"anyOf":[{"enum":["QUEUED","IN_PROGRESS","COMPLETED","FAILURE"],"type":"string"},{"type":"null"}],"default":null,"description":"Fax status.","title":"Status"},"service_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only faxes sent with this service.","title":"Service Id"},"create_time":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Filter on creation time, for example 2026-10-01 (more precise values return fewer results).","title":"Create Time"},"to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only faxes whose destination number starts with this value.","title":"To"},"from_number":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only faxes whose sender number starts with this value.","title":"From Number"},"from_country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Sender country, ISO 3166-1 alpha-2.","title":"From Country"},"to_country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Destination country, ISO 3166-1 alpha-2.","title":"To Country"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 1000).","title":"Page Size"},"page":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Page to fetch, as returned by a previous answer (omit for the first page).","title":"Page"}},"required":["project_id"],"title":"list_faxesArguments","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_fax":{"post":{"operationId":"get_fax","summary":"Get one fax by id: direction, numbers, status, pages, times, retry count and error details. Use for \"What happened to Si","description":"Get one fax by id: direction, numbers, status, pages, times, retry count and error details. Use for \"What happened to Sinch fax 01FAX\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"fax_id":{"description":"Id of the fax, from list_faxes.","maxLength":200,"title":"Fax Id","type":"string"}},"required":["project_id","fax_id"],"title":"get_faxArguments","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_services":{"post":{"operationId":"list_services","summary":"List fax services of the project with default sender, retry settings, resolution and storage flags. Use for \"Which Sinch","description":"List fax services of the project with default sender, retry settings, resolution and storage flags. Use for \"Which Sinch fax services do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 1000).","title":"Page Size"},"page":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Page to fetch, as returned by a previous answer (omit for the first page).","title":"Page"}},"required":["project_id"],"title":"list_servicesArguments","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_service":{"post":{"operationId":"get_service","summary":"Get one fax service's settings. Use for \"How many retries does my Sinch fax service SVC1 use\".","description":"Get one fax service's settings. Use for \"How many retries does my Sinch fax service SVC1 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"service_id":{"description":"Fax service id.","maxLength":200,"title":"Service Id","type":"string"}},"required":["project_id","service_id"],"title":"get_serviceArguments","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_service_numbers":{"post":{"operationId":"list_service_numbers","summary":"List phone numbers attached to a fax service with permissions (send, receive, both), country and suspended flag. Use for","description":"List phone numbers attached to a fax service with permissions (send, receive, both), country and suspended flag. Use for \"Which numbers can receive faxes on Sinch service SVC1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"service_id":{"description":"Fax service id.","maxLength":200,"title":"Service Id","type":"string"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 1000).","title":"Page Size"},"page":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Page to fetch, as returned by a previous answer (omit for the first page).","title":"Page"}},"required":["project_id","service_id"],"title":"list_service_numbersArguments","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_service_domains":{"post":{"operationId":"list_service_domains","summary":"List email-to-fax domains of a service with verification state and whether the sending and receiving DNS records are val","description":"List email-to-fax domains of a service with verification state and whether the sending and receiving DNS records are valid. Use for \"Are my Sinch fax email domains verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Sinch project id from the Sinch dashboard.","maxLength":200,"title":"Project Id","type":"string"},"service_id":{"description":"Fax service id.","maxLength":200,"title":"Service Id","type":"string"}},"required":["project_id","service_id"],"title":"list_service_domainsArguments","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}}}}