{"openapi":"3.1.0","info":{"title":"WP Engine (BYOK) API","version":"0.1.0","description":"WP Engine (BYOK) lets an AI assistant read your own WP Engine data through the WP Engine API with a key you supply (API user ID). Read-only: 12 tools (list_accounts, get_account, get_account_limits, get_account_usage_summary, list_sites, get_site, list_installs, get_install, list_install_domains, list_install_backups, list_install_certificates, get_install_daily_usage). The BYOK key travels with...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-wpengine.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-wpengine/docs"},"termsOfService":"https://connectorbay.com/byok-wpengine/terms"},"servers":[{"url":"https://byok-wpengine.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-wpengine/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_accounts":{"post":{"operationId":"list_accounts","summary":"List the WP Engine accounts the credentials can access, with id, name and nickname. Use for \"Which WP Engine accounts ca","description":"List the WP Engine accounts the credentials can access, with id, name and nickname. Use for \"Which WP Engine accounts can I see\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"title":"list_accountsArguments","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_account":{"post":{"operationId":"get_account","summary":"Get one WP Engine account's id, name and nickname. Use for \"Show WP Engine account eeda3227-9a39-46ae-9e14-20958bb4e6c9\"","description":"Get one WP Engine account's id, name and nickname. Use for \"Show WP Engine account eeda3227-9a39-46ae-9e14-20958bb4e6c9\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Account id, a UUID from list_accounts.","maxLength":64,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"get_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/get_account_limits":{"post":{"operationId":"get_account_limits","summary":"Show an account's plan limits: maximum visitors, storage (GB) and bandwidth (GB). Use for \"What are the visitor, storage","description":"Show an account's plan limits: maximum visitors, storage (GB) and bandwidth (GB). Use for \"What are the visitor, storage and bandwidth limits of my WP Engine account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Account id, a UUID from list_accounts.","maxLength":64,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"get_account_limitsArguments","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_account_usage_summary":{"post":{"operationId":"get_account_usage_summary","summary":"Summarise an account's usage over a date range (default last 30 days): visits, origin and CDN traffic, file and database","description":"Summarise an account's usage over a date range (default last 30 days): visits, origin and CDN traffic, file and database storage, billable visits. Each metric gives average, sum and latest value as strings. Use for \"How many visits and how much storage did my WP Engine account use this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Account id, a UUID from list_accounts.","maxLength":64,"title":"Account Id","type":"string"},"first_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date YYYY-MM-DD (inclusive, at most 13 months back); needs last_date.","title":"First Date"},"last_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date YYYY-MM-DD (inclusive); needs first_date.","title":"Last Date"}},"required":["account_id"],"title":"get_account_usage_summaryArguments","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_sites":{"post":{"operationId":"list_sites","summary":"List sites (each with its installs) the credentials can access: name, account, group, tags, sandbox and transferable fla","description":"List sites (each with its installs) the credentials can access: name, account, group, tags, sandbox and transferable flags. Use for \"Which sites do I host on WP Engine and what installs do they have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this account (a UUID from list_accounts).","title":"Account Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"title":"list_sitesArguments","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_site":{"post":{"operationId":"get_site","summary":"Get one site by id with its account, group, tags, flags and installs. Use for \"Show WP Engine site 28c78b6d-c2da-4f09-85","description":"Get one site by id with its account, group, tags, flags and installs. Use for \"Show WP Engine site 28c78b6d-c2da-4f09-85f5-1ad588089b2d\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site_id":{"description":"Site id, a UUID from list_sites.","maxLength":64,"title":"Site Id","type":"string"}},"required":["site_id"],"title":"get_siteArguments","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_installs":{"post":{"operationId":"list_installs","summary":"List WordPress installs (environments) with name, environment, status, primary domain, CNAME, PHP version and creation t","description":"List WordPress installs (environments) with name, environment, status, primary domain, CNAME, PHP version and creation time. Use for \"Which WordPress installs do I have on WP Engine and what PHP version do they run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this account (a UUID from list_accounts).","title":"Account Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"title":"list_installsArguments","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_install":{"post":{"operationId":"get_install","summary":"Get one install: environment, status, domains, CNAME, PHP and WordPress version, multisite flag and deferred-upgrade dat","description":"Get one install: environment, status, domains, CNAME, PHP and WordPress version, multisite flag and deferred-upgrade date. Use for \"What WordPress version does install torquemag run on WP Engine\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"install_id":{"description":"Install (environment) id, a UUID from list_installs.","maxLength":64,"title":"Install Id","type":"string"}},"required":["install_id"],"title":"get_installArguments","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_install_domains":{"post":{"operationId":"list_install_domains","summary":"List the domains attached to an install with primary and duplicate flags, network type, ownership verification status an","description":"List the domains attached to an install with primary and duplicate flags, network type, ownership verification status and whether all URLs are secured. Use for \"Which domains point at my WP Engine install and are they verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"install_id":{"description":"Install (environment) id, a UUID from list_installs.","maxLength":64,"title":"Install Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"required":["install_id"],"title":"list_install_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}},"/v1/tools/list_install_backups":{"post":{"operationId":"list_install_backups","summary":"List backups of an install with status, description, creation and completion time and WordPress version. Use for \"When w","description":"List backups of an install with status, description, creation and completion time and WordPress version. Use for \"When was my WP Engine install last backed up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"install_id":{"description":"Install (environment) id, a UUID from list_installs.","maxLength":64,"title":"Install Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"required":["install_id"],"title":"list_install_backupsArguments","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_install_certificates":{"post":{"operationId":"list_install_certificates","summary":"List SSL certificates of an install with common name, domains, source, status, auto-renew flag and expiry time. Use for ","description":"List SSL certificates of an install with common name, domains, source, status, auto-renew flag and expiry time. Use for \"Which SSL certificates does my WP Engine install have and when do they expire\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"install_id":{"description":"Install (environment) id, a UUID from list_installs.","maxLength":64,"title":"Install Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip from the start.","title":"Offset"}},"required":["install_id"],"title":"list_install_certificatesArguments","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_install_daily_usage":{"post":{"operationId":"get_install_daily_usage","summary":"Get daily usage metrics (visits, origin and CDN bytes, storage, billable visits) of one install for the last 30 days by ","description":"Get daily usage metrics (visits, origin and CDN bytes, storage, billable visits) of one install for the last 30 days by default, newest day first. Use for \"How much traffic did my WP Engine install get each day recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"install_id":{"description":"Install (environment) id, a UUID from list_installs.","maxLength":64,"title":"Install Id","type":"string"},"first_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date YYYY-MM-DD (inclusive, at most 13 months back); needs last_date.","title":"First Date"},"last_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date YYYY-MM-DD (inclusive); needs first_date.","title":"Last Date"}},"required":["install_id"],"title":"get_install_daily_usageArguments","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}}}}