{"openapi":"3.1.0","info":{"title":"Turso (BYOK) API","version":"0.1.0","description":"Turso (BYOK) lets an AI assistant read your own Turso data through the Turso API with a key you supply (Platform API token). Read-only: 12 tools (get_current_user, list_organizations, get_organization, list_organization_members, get_organization_usage, list_databases, get_database, get_database_usage, list_database_instances, list_groups, get_group, list_locations). 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-turso.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-turso/docs"},"termsOfService":"https://connectorbay.com/byok-turso/terms"},"servers":[{"url":"https://byok-turso.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-turso/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_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Turso account the token belongs to: username, name, email, plan and whether MFA is on. Use for \"Which Turso acc","description":"Show the Turso account the token belongs to: username, name, email, plan and whether MFA is on. Use for \"Which Turso account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","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_organizations":{"post":{"operationId":"list_organizations","summary":"List the Turso organizations the token's user belongs to, with slug, type, plan and blocked flags. Use for \"Which Turso ","description":"List the Turso organizations the token's user belongs to, with slug, type, plan and blocked flags. Use for \"Which Turso organizations do I belong to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_organizationsArguments","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_organization":{"post":{"operationId":"get_organization","summary":"Get one Turso organization by slug: type, plan, platform, overage setting and whether reads or writes are blocked. Use f","description":"Get one Turso organization by slug: type, plan, platform, overage setting and whether reads or writes are blocked. Use for \"What plan is my Turso organization on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"}},"required":["organization_slug"],"title":"get_organizationArguments","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_organization_members":{"post":{"operationId":"list_organization_members","summary":"List the members of a Turso organization with username, email and role. Use for \"Who is a member of my Turso organizatio","description":"List the members of a Turso organization with username, email and role. Use for \"Who is a member of my Turso organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"}},"required":["organization_slug"],"title":"list_organization_membersArguments","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_organization_usage":{"post":{"operationId":"get_organization_usage","summary":"Show an organization's current usage totals: rows read and written, storage bytes, bytes synced and counts of databases,","description":"Show an organization's current usage totals: rows read and written, storage bytes, bytes synced and counts of databases, groups and locations. Use for \"How much storage and how many rows read is my Turso organization using\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"}},"required":["organization_slug"],"title":"get_organization_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}},"/v1/tools/list_databases":{"post":{"operationId":"list_databases","summary":"List the databases of a Turso organization with hostname, group, regions, block flags and delete protection. Can filter ","description":"List the databases of a Turso organization with hostname, group, regions, block flags and delete protection. Can filter by group. Use for \"What databases does my Turso organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"},"group":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only databases in this group.","title":"Group"}},"required":["organization_slug"],"title":"list_databasesArguments","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_database":{"post":{"operationId":"get_database","summary":"Get one Turso database: id, hostname, group, primary region, regions, block flags and parent branch information. Use for","description":"Get one Turso database: id, hostname, group, primary region, regions, block flags and parent branch information. Use for \"Which region is my Turso database my-db in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"},"database_name":{"description":"Turso database name, as returned by list_databases.","maxLength":100,"title":"Database Name","type":"string"}},"required":["organization_slug","database_name"],"title":"get_databaseArguments","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_database_usage":{"post":{"operationId":"get_database_usage","summary":"Show a database's rows read, rows written, storage bytes and bytes synced for a period (current month by default), in to","description":"Show a database's rows read, rows written, storage bytes and bytes synced for a period (current month by default), in total and per instance. Use for \"How many rows did my Turso database read this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"},"database_name":{"description":"Turso database name, as returned by list_databases.","maxLength":100,"title":"Database Name","type":"string"},"started_after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the period as an ISO 8601 time, for example 2026-10-01T00:00:00Z. Defaults to the current calendar month.","title":"Started After"},"started_before":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period as an ISO 8601 time, for example 2026-11-01T00:00:00Z. Defaults to the current calendar month.","title":"Started Before"}},"required":["organization_slug","database_name"],"title":"get_database_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}},"/v1/tools/list_database_instances":{"post":{"operationId":"list_database_instances","summary":"List the instances of a Turso database (primary and replicas) with region and hostname. Use for \"Where are the replicas ","description":"List the instances of a Turso database (primary and replicas) with region and hostname. Use for \"Where are the replicas of my Turso database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"},"database_name":{"description":"Turso database name, as returned by list_databases.","maxLength":100,"title":"Database Name","type":"string"}},"required":["organization_slug","database_name"],"title":"list_database_instancesArguments","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_groups":{"post":{"operationId":"list_groups","summary":"List the database groups of a Turso organization with their locations, primary location and delete protection. Use for \"","description":"List the database groups of a Turso organization with their locations, primary location and delete protection. Use for \"Which Turso groups do I have and where do they run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"}},"required":["organization_slug"],"title":"list_groupsArguments","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_group":{"post":{"operationId":"get_group","summary":"Get one Turso group: uuid, version, primary location, all locations and delete protection. Use for \"Which locations does","description":"Get one Turso group: uuid, version, primary location, all locations and delete protection. Use for \"Which locations does my Turso group default use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_slug":{"description":"Turso organization slug (for a personal account this is the username), as returned by list_organizations.","maxLength":100,"title":"Organization Slug","type":"string"},"group_name":{"description":"Turso group name, as returned by list_groups.","maxLength":100,"title":"Group Name","type":"string"}},"required":["organization_slug","group_name"],"title":"get_groupArguments","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_locations":{"post":{"operationId":"list_locations","summary":"List the Turso locations where databases can be created or replicated, as a map of location code to name. Use for \"Which","description":"List the Turso locations where databases can be created or replicated, as a map of location code to name. Use for \"Which locations can I put a Turso database in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_locationsArguments","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}}}}