{"openapi":"3.1.0","info":{"title":"Fivetran Platform (BYOK) API","version":"0.1.0","description":"Fivetran Platform (BYOK) lets an AI assistant read your own Fivetran Platform data through the Fivetran Platform API with a key you supply (API key). Read-only: 8 tools (get_connection_schema_config, get_table_columns_config, list_roles, list_transformation_projects, get_transformation_project, list_private_links, list_proxy_agents, list_hybrid_deployment_agents). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-fivetran-platform.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-fivetran-platform/docs"},"termsOfService":"https://connectorbay.com/byok-fivetran-platform/terms"},"servers":[{"url":"https://byok-fivetran-platform.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-fivetran-platform/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_connection_schema_config":{"post":{"operationId":"get_connection_schema_config","summary":"Get which schemas, tables and overridden columns a Fivetran connection syncs: per schema and table the enabled flag, des","description":"Get which schemas, tables and overridden columns a Fivetran connection syncs: per schema and table the enabled flag, destination names and sync mode. Use for \"Which tables does Fivetran connection 4107c213907114059a5544ad8fa66c52 sync\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"connection_id":{"description":"Connection id as returned by the Fivetran API, for example 4107c213907114059a5544ad8fa66c52.","maxLength":200,"title":"Connection Id","type":"string"}},"required":["connection_id"],"title":"get_connection_schema_configArguments","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_table_columns_config":{"post":{"operationId":"get_table_columns_config","summary":"Get the column settings of one source table in a Fivetran connection: destination name, enabled flag, hashing, primary k","description":"Get the column settings of one source table in a Fivetran connection: destination name, enabled flag, hashing, primary key and target type for columns that were configured. Use for \"Which columns of the orders table in Fivetran connection 4107c213907114059a5544ad8fa66c52 are hashed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"connection_id":{"description":"Connection id as returned by the Fivetran API, for example 4107c213907114059a5544ad8fa66c52.","maxLength":200,"title":"Connection Id","type":"string"},"schema":{"description":"Schema name as stored in the connection schema config (case-sensitive).","maxLength":200,"title":"Schema","type":"string"},"table":{"description":"Table name as stored in the connection schema config (case-sensitive).","maxLength":200,"title":"Table","type":"string"}},"required":["connection_id","schema","table"],"title":"get_table_columns_configArguments","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_roles":{"post":{"operationId":"list_roles","summary":"List the standard and custom roles of the Fivetran account with description, scope, custom and deprecated flags. Use for","description":"List the standard and custom roles of the Fivetran account with description, scope, custom and deprecated flags. Use for \"Which roles exist in our Fivetran account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from data.next_cursor of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_rolesArguments","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_transformation_projects":{"post":{"operationId":"list_transformation_projects","summary":"List dbt transformation projects of the account with type, group and creation time. Use for \"Which Fivetran dbt transfor","description":"List dbt transformation projects of the account with type, group and creation time. Use for \"Which Fivetran dbt transformation projects exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from data.next_cursor of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_transformation_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_transformation_project":{"post":{"operationId":"get_transformation_project","summary":"Get one dbt transformation project: status, setup errors and dbt version, default schema, branch and folder of its confi","description":"Get one dbt transformation project: status, setup errors and dbt version, default schema, branch and folder of its configuration. The Git URL is not returned. Use for \"Is Fivetran transformation project project_1 ready\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Transformation project id.","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_transformation_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_private_links":{"post":{"operationId":"list_private_links","summary":"List private links (private networking between Fivetran and your cloud) with cloud provider, region, service, state and ","description":"List private links (private networking between Fivetran and your cloud) with cloud provider, region, service, state and creation time. Use for \"Are my Fivetran private links healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from data.next_cursor of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_private_linksArguments","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_proxy_agents":{"post":{"operationId":"list_proxy_agents","summary":"List proxy agents (software that routes source traffic through your network) with region, version, connection status and","description":"List proxy agents (software that routes source traffic through your network) with region, version, connection status and number of connections and destinations using each. Use for \"Which Fivetran proxy agents are connected\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from data.next_cursor of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_proxy_agentsArguments","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_hybrid_deployment_agents":{"post":{"operationId":"list_hybrid_deployment_agents","summary":"List hybrid deployment agents with version, enabled and online flags, deployment type, group, last use time and the conn","description":"List hybrid deployment agents with version, enabled and online flags, deployment type, group, last use time and the connections they serve. Use for \"Which Fivetran hybrid deployment agents are online\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only agents of this group id.","title":"Group Id"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many records per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from data.next_cursor of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_hybrid_deployment_agentsArguments","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}}}}