{"openapi":"3.1.0","info":{"title":"YCloud (BYOK) API","version":"0.1.0","description":"YCloud (BYOK) lets an AI assistant read your own YCloud data through the YCloud API with a key you supply (YCloud API key). Read-only: 12 tools (get_balance, list_wabas, get_waba, list_phone_numbers, get_phone_number, get_phone_number_profile, get_phone_number_settings, list_templates, get_template, list_flows, get_flow, list_webhook_endpoints). The BYOK key travels with each request, is used for...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-ycloud.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-ycloud/docs"},"termsOfService":"https://connectorbay.com/byok-ycloud/terms"},"servers":[{"url":"https://byok-ycloud.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-ycloud/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/get_balance":{"post":{"operationId":"get_balance","summary":"Show the current YCloud account balance and its currency. Use for \"How much balance is left on my YCloud account\".","description":"Show the current YCloud account balance and its currency. Use for \"How much balance is left on my YCloud account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_balanceArguments","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_wabas":{"post":{"operationId":"list_wabas","summary":"List the registered WhatsApp Business Accounts with review status, business verification, country, ban state and restric","description":"List the registered WhatsApp Business Accounts with review status, business verification, country, ban state and restrictions. Use for \"Is my WhatsApp Business Account on YCloud approved and verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Limit"},"include_total":{"anyOf":[{"const":true,"type":"boolean"},{"type":"null"}],"default":true,"description":"Always true so the answer carries the total count.","title":"Include Total"},"review_status":{"anyOf":[{"enum":["PENDING","APPROVED","REJECTED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only accounts with this review status.","title":"Review Status"}},"title":"list_wabasArguments","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_waba":{"post":{"operationId":"get_waba","summary":"Get one WhatsApp Business Account's review status, business verification, ban state, restrictions, phone number limits a","description":"Get one WhatsApp Business Account's review status, business verification, ban state, restrictions, phone number limits and messaging limit. Use for \"Does my WhatsApp Business Account have any restrictions\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"WhatsApp Business Account id (from list_wabas).","maxLength":40,"title":"Id","type":"string"}},"required":["id"],"title":"get_wabaArguments","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 the registered WhatsApp business phone numbers with verified name, quality rating, messaging limit, connection stat","description":"List the registered WhatsApp business phone numbers with verified name, quality rating, messaging limit, connection status and name approval status. Use for \"What are the quality rating and messaging limit of my WhatsApp numbers on YCloud\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Limit"},"include_total":{"anyOf":[{"const":true,"type":"boolean"},{"type":"null"}],"default":true,"description":"Always true so the answer carries the total count.","title":"Include Total"},"waba_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only numbers of this WhatsApp Business Account (required with more than 100 accounts).","title":"Waba 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/get_phone_number":{"post":{"operationId":"get_phone_number","summary":"Get one WhatsApp business phone number's quality rating, messaging limit, status, name status and throughput level. Use ","description":"Get one WhatsApp business phone number's quality rating, messaging limit, status, name status and throughput level. Use for \"Is my WhatsApp number +15551234567 connected and what is its messaging limit\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_id":{"description":"WhatsApp Business Account id (from list_wabas).","maxLength":40,"title":"Waba Id","type":"string"},"phone_number":{"description":"Business phone number in E.164 format, for example +15551234567 (from list_phone_numbers).","maxLength":20,"title":"Phone Number","type":"string"}},"required":["waba_id","phone_number"],"title":"get_phone_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/get_phone_number_profile":{"post":{"operationId":"get_phone_number_profile","summary":"Get a WhatsApp business phone number's public profile: about text, address, description, email, websites, category and p","description":"Get a WhatsApp business phone number's public profile: about text, address, description, email, websites, category and picture URL. Use for \"What does the WhatsApp business profile of +15551234567 say\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_id":{"description":"WhatsApp Business Account id (from list_wabas).","maxLength":40,"title":"Waba Id","type":"string"},"phone_number":{"description":"Business phone number in E.164 format, for example +15551234567 (from list_phone_numbers).","maxLength":20,"title":"Phone Number","type":"string"}},"required":["waba_id","phone_number"],"title":"get_phone_number_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_phone_number_settings":{"post":{"operationId":"get_phone_number_settings","summary":"Get a WhatsApp business phone number's calling status and call recording and transcription capture settings. Use for \"Is","description":"Get a WhatsApp business phone number's calling status and call recording and transcription capture settings. Use for \"Is WhatsApp calling enabled on my number\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_id":{"description":"WhatsApp Business Account id (from list_wabas).","maxLength":40,"title":"Waba Id","type":"string"},"phone_number":{"description":"Business phone number in E.164 format, for example +15551234567 (from list_phone_numbers).","maxLength":20,"title":"Phone Number","type":"string"},"type":{"anyOf":[{"enum":["capture","calling"],"type":"string"},{"type":"null"}],"default":null,"description":"capture returns only call recording and transcription settings; omit for all.","title":"Type"}},"required":["waba_id","phone_number"],"title":"get_phone_number_settingsArguments","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_templates":{"post":{"operationId":"list_templates","summary":"List WhatsApp message templates with name, language, category, approval status, quality rating, rejection reason and com","description":"List WhatsApp message templates with name, language, category, approval status, quality rating, rejection reason and components. Use for \"Which WhatsApp templates are approved or rejected on YCloud\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Limit"},"include_total":{"anyOf":[{"const":true,"type":"boolean"},{"type":"null"}],"default":true,"description":"Always true so the answer carries the total count.","title":"Include Total"},"waba_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates of this WhatsApp Business Account (required with more than 100 accounts).","title":"Waba Id"},"name":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates with this name.","title":"Name"},"language":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates in this language code.","title":"Language"},"status":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated statuses such as APPROVED,PENDING,REJECTED,PAUSED,ARCHIVED.","title":"Status"}},"title":"list_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_template":{"post":{"operationId":"get_template","summary":"Get one WhatsApp template by name and language, with category, status, quality rating, rejection reason and components. ","description":"Get one WhatsApp template by name and language, with category, status, quality rating, rejection reason and components. Use for \"Is my WhatsApp template order_shipped in English approved\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_id":{"description":"WhatsApp Business Account id (from list_wabas).","maxLength":40,"title":"Waba Id","type":"string"},"name":{"description":"Template name.","maxLength":120,"title":"Name","type":"string"},"language":{"description":"Template language code, for example en or en_US.","maxLength":12,"title":"Language","type":"string"}},"required":["waba_id","name","language"],"title":"get_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_flows":{"post":{"operationId":"list_flows","summary":"List the WhatsApp Flows of a WhatsApp Business Account with name, status and categories. Use for \"Which WhatsApp Flows h","description":"List the WhatsApp Flows of a WhatsApp Business Account with name, status and categories. Use for \"Which WhatsApp Flows have I published on YCloud\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_id":{"description":"WhatsApp Business Account id.","maxLength":40,"title":"Waba Id","type":"string"}},"required":["waba_id"],"title":"list_flowsArguments","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_flow":{"post":{"operationId":"get_flow","summary":"Get one WhatsApp Flow's name, status, categories, JSON version, endpoint URI and validation errors. Use for \"Does my Wha","description":"Get one WhatsApp Flow's name, status, categories, JSON version, endpoint URI and validation errors. Use for \"Does my WhatsApp Flow have validation errors\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"flow_id":{"description":"Flow id (from list_flows).","maxLength":40,"title":"Flow Id","type":"string"}},"required":["flow_id"],"title":"get_flowArguments","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_webhook_endpoints":{"post":{"operationId":"list_webhook_endpoints","summary":"List the webhook endpoints with URL, subscribed events, description and status. The signing secret is not returned. Use ","description":"List the webhook endpoints with URL, subscribed events, description and status. The signing secret is not returned. Use for \"Which webhook endpoints are active on my YCloud account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Items per page (1 to 100).","title":"Limit"},"include_total":{"anyOf":[{"const":true,"type":"boolean"},{"type":"null"}],"default":true,"description":"Always true so the answer carries the total count.","title":"Include Total"}},"title":"list_webhook_endpointsArguments","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}}}}