{"openapi":"3.1.0","info":{"title":"Tilda (BYOK) API","version":"0.1.0","description":"Tilda (BYOK) lets an AI assistant read your own Tilda data through the Tilda API with a key you supply (public key (needs the Business plan; Site settings > Export > API)). Read-only: 5 tools (list_projects, get_project, list_pages, get_page, get_page_html). 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...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tilda.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tilda/docs"},"termsOfService":"https://connectorbay.com/byok-tilda/terms"},"servers":[{"url":"https://byok-tilda.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tilda/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_projects":{"post":{"operationId":"list_projects","summary":"List the Tilda projects (websites) of the account with id, title and description. Use for \"Which Tilda projects do I hav","description":"List the Tilda projects (websites) of the account with id, title and description. Use for \"Which Tilda projects do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_projectsArguments","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_project":{"post":{"operationId":"get_project","summary":"Get one project's settings: title, custom domain, home page id, 404 page id and export paths. Use for \"What is the custo","description":"Get one project's settings: title, custom domain, home page id, 404 page id and export paths. Use for \"What is the custom domain of Tilda project 1234567\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Numeric id of the Tilda project, taken from list_projects.","maxLength":20,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_projectArguments","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_pages":{"post":{"operationId":"list_pages","summary":"List the pages of a project with id, title, alias, file name, edit date and publish timestamp. Use for \"Which pages are ","description":"List the pages of a project with id, title, alias, file name, edit date and publish timestamp. Use for \"Which pages are in Tilda project 1234567\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Numeric id of the Tilda project, taken from list_projects.","maxLength":20,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_pagesArguments","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_page":{"post":{"operationId":"get_page","summary":"Get one page's details (title, description, alias, dates, file name) without its HTML. Use for \"Show Tilda page 1001\".","description":"Get one page's details (title, description, alias, dates, file name) without its HTML. Use for \"Show Tilda page 1001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_id":{"description":"Numeric id of the page, taken from list_pages.","maxLength":20,"title":"Page Id","type":"string"}},"required":["page_id"],"title":"get_pageArguments","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_page_html":{"post":{"operationId":"get_page_html","summary":"Get one page's body HTML code together with its details. The answer can be large; the API allows about 150 requests an h","description":"Get one page's body HTML code together with its details. The answer can be large; the API allows about 150 requests an hour and is meant for syncing, not for serving visitors. Use for \"Give me the HTML of Tilda page 1001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_id":{"description":"Numeric id of the page, taken from list_pages.","maxLength":20,"title":"Page Id","type":"string"}},"required":["page_id"],"title":"get_page_htmlArguments","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}}}}