{"openapi":"3.1.0","info":{"title":"CM.com Channels (BYOK) API","version":"0.1.0","description":"CM.com Channels (BYOK) lets an AI assistant read your own CM.com Channels data through the CM.com Channels API with a key you supply (CM.com product token). Read-only: 11 tools (list_channel_requests, list_channel_types, get_channel_overview, list_phone_numbers, list_whatsapp_profiles, get_whatsapp_profile, get_whatsapp_business_account, list_whatsapp_templates, get_whatsapp_template,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cm-com-channels.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cm-com-channels/docs"},"termsOfService":"https://connectorbay.com/byok-cm-com-channels/terms"},"servers":[{"url":"https://byok-cm-com-channels.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cm-com-channels/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_channel_requests":{"post":{"operationId":"list_channel_requests","summary":"List the channel requests (one per channel type, such as WhatsApp, RCS or SMS) with active and pending state, creation d","description":"List the channel requests (one per channel type, such as WhatsApp, RCS or SMS) with active and pending state, creation date and onboarding progress. Use for \"Which messaging channels are active or still pending on my CM.com account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_type_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this channel type id (from list_channel_types).","title":"Channel Type Id"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id"],"title":"list_channel_requestsArguments","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_channel_types":{"post":{"operationId":"list_channel_types","summary":"List the channel types CM.com offers with name, description, currency, startup cost, monthly cost and processing days. U","description":"List the channel types CM.com offers with name, description, currency, startup cost, monthly cost and processing days. Use for \"Which channel types can I add on CM.com and what do they cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"},"beta_channels":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Include beta channels.","title":"Beta Channels"}},"required":["account_id"],"title":"list_channel_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/get_channel_overview":{"post":{"operationId":"get_channel_overview","summary":"Get the account's channel overview: active, pending and unused channels and whether it is a demo or trial account. Use f","description":"Get the account's channel overview: active, pending and unused channels and whether it is a demo or trial account. Use for \"Is my CM.com account on a trial and which channels are unused\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_type_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this channel type id.","title":"Channel Type Id"}},"required":["account_id"],"title":"get_channel_overviewArguments","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_phone_numbers":{"post":{"operationId":"list_phone_numbers","summary":"List available and owned phone numbers and short codes with number type, country, category, pricing and ownership date. ","description":"List available and owned phone numbers and short codes with number type, country, category, pricing and ownership date. Use for \"Which phone numbers does my CM.com account own\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"search":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Search"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Only this country (ISO code).","title":"Country"},"is_owned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"true for only numbers owned by the account.","title":"Is Owned"},"is_shortcode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"true for short codes only, false for long numbers only.","title":"Is Shortcode"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id"],"title":"list_phone_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_whatsapp_profiles":{"post":{"operationId":"list_whatsapp_profiles","summary":"List the WhatsApp profiles (business numbers) with phone number, name, status and Meta quality rating, tier limit and da","description":"List the WhatsApp profiles (business numbers) with phone number, name, status and Meta quality rating, tier limit and daily conversation limit. Use for \"What is the WhatsApp quality rating and messaging tier of my CM.com numbers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"search":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Search"},"status":{"anyOf":[{"enum":["ACTIVE","PENDING","ELIGIBLE","NOT_VALIDATED","CUSTOMER_ACTION_REQUIRED","EXPIRED","REJECTED","CANCELLED","DELETED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items with this status.","title":"Status"},"include_quality_rating":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Include the Meta quality rating.","title":"Include Quality Rating"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id","channel_request_id"],"title":"list_whatsapp_profilesArguments","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_whatsapp_profile":{"post":{"operationId":"get_whatsapp_profile","summary":"Get one WhatsApp profile with Meta supplier details: verified name, name status, quality rating, platform, verification ","description":"Get one WhatsApp profile with Meta supplier details: verified name, name status, quality rating, platform, verification status and rejection reason. Use for \"Is my WhatsApp number verified on CM.com and what is its name status\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"profile_id":{"description":"WhatsApp profile id (from list_whatsapp_profiles).","maxLength":60,"title":"Profile Id","type":"string"},"include_supplier_info":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Include Meta supplier information.","title":"Include Supplier Info"}},"required":["account_id","channel_request_id","profile_id"],"title":"get_whatsapp_profileArguments","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_whatsapp_business_account":{"post":{"operationId":"get_whatsapp_business_account","summary":"Get the WhatsApp Business Account linked to a channel request: status, embedded-signup flag, Facebook id and dates. Use ","description":"Get the WhatsApp Business Account linked to a channel request: status, embedded-signup flag, Facebook id and dates. Use for \"Is my WhatsApp Business Account active on CM.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"}},"required":["account_id","channel_request_id"],"title":"get_whatsapp_business_accountArguments","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_whatsapp_templates":{"post":{"operationId":"list_whatsapp_templates","summary":"List the WhatsApp templates with name, category, enabled languages, language approval counts and status. Use for \"Which ","description":"List the WhatsApp templates with name, category, enabled languages, language approval counts and status. Use for \"Which WhatsApp templates do I have on CM.com and are they approved\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"search":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Search"},"status":{"anyOf":[{"enum":["ACTIVE","PENDING","ELIGIBLE","NOT_VALIDATED","CUSTOMER_ACTION_REQUIRED","EXPIRED","REJECTED","CANCELLED","DELETED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items with this status.","title":"Status"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id","channel_request_id"],"title":"list_whatsapp_templatesArguments","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_whatsapp_template":{"post":{"operationId":"get_whatsapp_template","summary":"Get one WhatsApp template with category, layout, header format, replacement fields, languages status and rejection reaso","description":"Get one WhatsApp template with category, layout, header format, replacement fields, languages status and rejection reason. Use for \"What is the approval status of my WhatsApp template order_shipped on CM.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"template_id":{"description":"Template id (from list_whatsapp_templates).","maxLength":60,"title":"Template Id","type":"string"}},"required":["account_id","channel_request_id","template_id"],"title":"get_whatsapp_templateArguments","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_rcs_profiles":{"post":{"operationId":"list_rcs_profiles","summary":"List the RCS agent profiles with name, logo, hero image, active and pending state and status. Use for \"Which RCS agents ","description":"List the RCS agent profiles with name, logo, hero image, active and pending state and status. Use for \"Which RCS agents are active on my CM.com account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"search":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Search"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id","channel_request_id"],"title":"list_rcs_profilesArguments","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_sms_10dlc_campaigns":{"post":{"operationId":"list_sms_10dlc_campaigns","summary":"List the US 10DLC SMS campaigns with brand, registry status, approval dates and entity status. Use for \"Are my 10DLC SMS","description":"List the US 10DLC SMS campaigns with brand, registry status, approval dates and entity status. Use for \"Are my 10DLC SMS campaigns approved on CM.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"CM.com account id (UUID, shown in the CM.com platform under your account).","maxLength":60,"title":"Account Id","type":"string"},"channel_request_id":{"description":"Channel request id (from list_channel_requests).","maxLength":60,"title":"Channel Request Id","type":"string"},"search":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Search"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip.","title":"Skip"},"take":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return.","title":"Take"}},"required":["account_id","channel_request_id"],"title":"list_sms_10dlc_campaignsArguments","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}}}}