{"openapi":"3.1.0","info":{"title":"Twilio Numbers (BYOK) API","version":"0.1.0","description":"Twilio Numbers (BYOK) lets an AI assistant read your own Twilio Numbers data through the Twilio Numbers API with a key you supply (Account SID or API key SID (use a restricted API key, SID starts with SK, rather than the main Auth Token where possible)). Read-only: 9 tools (list_bundles, get_bundle, list_bundle_evaluations, list_bundle_item_assignments, list_bundle_copies, list_regulations,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-twilio-numbers.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-twilio-numbers/docs"},"termsOfService":"https://connectorbay.com/byok-twilio-numbers/terms"},"servers":[{"url":"https://byok-twilio-numbers.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-twilio-numbers/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_bundles":{"post":{"operationId":"list_bundles","summary":"List regulatory bundles (the identity and address documents needed to own numbers in regulated countries) with status an","description":"List regulatory bundles (the identity and address documents needed to own numbers in regulated countries) with status and expiry. The contact email is not returned. Use for \"Which of my Twilio regulatory bundles are approved\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["draft","pending-review","in-review","twilio-rejected","twilio-approved","provisionally-approved"],"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles with this review status.","title":"Status"},"friendly_name":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles with exactly this friendly name.","title":"Friendly Name"},"regulation_sid":{"anyOf":[{"maxLength":34,"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles under this regulation (RN followed by 32 hex characters).","title":"Regulation Sid"},"iso_country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles for this ISO 3166-1 alpha-2 country.","title":"Iso Country"},"number_type":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles for this number type, for example local, mobile, toll-free or national.","title":"Number Type"},"end_user_type":{"anyOf":[{"enum":["business","individual"],"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles for this end user type.","title":"End User Type"},"sort_by":{"anyOf":[{"enum":["valid-until","date-updated"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by valid-until or date-updated.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction ASC or DESC.","title":"Sort Direction"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_bundlesArguments","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_bundle":{"post":{"operationId":"get_bundle","summary":"Get one regulatory bundle: regulation, review status, expiry and dates. Use for \"Is regulatory bundle BU... approved\".","description":"Get one regulatory bundle: regulation, review status, expiry and dates. Use for \"Is regulatory bundle BU... approved\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sid":{"description":"The SID of the regulatory bundle: 'BU' followed by 32 hex characters.","maxLength":34,"title":"Sid","type":"string"}},"required":["sid"],"title":"get_bundleArguments","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_bundle_evaluations":{"post":{"operationId":"list_bundle_evaluations","summary":"List compliance evaluations of a bundle with overall status and which requirements failed. Use for \"Why is regulatory bu","description":"List compliance evaluations of a bundle with overall status and which requirements failed. Use for \"Why is regulatory bundle BU... not compliant\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"bundle_sid":{"description":"The SID of the regulatory bundle: 'BU' followed by 32 hex characters.","maxLength":34,"title":"Bundle Sid","type":"string"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"required":["bundle_sid"],"title":"list_bundle_evaluationsArguments","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_bundle_item_assignments":{"post":{"operationId":"list_bundle_item_assignments","summary":"List the end users and supporting documents attached to a bundle (SIDs only). Use for \"Which items are attached to regul","description":"List the end users and supporting documents attached to a bundle (SIDs only). Use for \"Which items are attached to regulatory bundle BU\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"bundle_sid":{"description":"The SID of the regulatory bundle: 'BU' followed by 32 hex characters.","maxLength":34,"title":"Bundle Sid","type":"string"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"required":["bundle_sid"],"title":"list_bundle_item_assignmentsArguments","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_bundle_copies":{"post":{"operationId":"list_bundle_copies","summary":"List the copies made of a bundle with status and expiry. Use for \"Which copies of regulatory bundle BU... exist\".","description":"List the copies made of a bundle with status and expiry. Use for \"Which copies of regulatory bundle BU... exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"bundle_sid":{"description":"The SID of the regulatory bundle: 'BU' followed by 32 hex characters.","maxLength":34,"title":"Bundle Sid","type":"string"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"required":["bundle_sid"],"title":"list_bundle_copiesArguments","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_regulations":{"post":{"operationId":"list_regulations","summary":"List the regulations that apply to phone numbers by country, number type and end user type. Optionally includes the docu","description":"List the regulations that apply to phone numbers by country, number type and end user type. Optionally includes the document constraints. Use for \"What does Germany require for local business numbers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"iso_country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Only regulations for this ISO 3166-1 alpha-2 country.","title":"Iso Country"},"number_type":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only regulations for this number type, for example local, mobile or toll-free.","title":"Number Type"},"end_user_type":{"anyOf":[{"enum":["business","individual"],"type":"string"},{"type":"null"}],"default":null,"description":"Only regulations for this end user type.","title":"End User Type"},"include_constraints":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include the document constraints (larger answer).","title":"Include Constraints"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_regulationsArguments","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_regulation":{"post":{"operationId":"get_regulation","summary":"Get one regulation with the end user and document requirements it sets. Use for \"What does regulation RN... require\".","description":"Get one regulation with the end user and document requirements it sets. Use for \"What does regulation RN... require\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sid":{"description":"The SID of the regulation: 'RN' followed by 32 hex characters.","maxLength":34,"title":"Sid","type":"string"}},"required":["sid"],"title":"get_regulationArguments","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_end_user_types":{"post":{"operationId":"list_end_user_types","summary":"List end user types (business or individual) with the fields each needs. Use for \"Which end user types does Twilio regul","description":"List end user types (business or individual) with the fields each needs. Use for \"Which end user types does Twilio regulatory compliance use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_end_user_typesArguments","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_supporting_document_types":{"post":{"operationId":"list_supporting_document_types","summary":"List supporting document types (such as proof of address) with the fields each needs. Use for \"Which supporting document","description":"List supporting document types (such as proof of address) with the fields each needs. Use for \"Which supporting documents does Twilio accept for regulatory bundles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_supporting_document_typesArguments","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}}}}