{"openapi":"3.1.0","info":{"title":"Locize (BYOK) API","version":"0.1.0","description":"Locize (BYOK) lets an AI assistant read your own Locize data through the Locize API with a key you supply (Locize project API key). Read-only: 7 tools (list_languages, get_project_stats, list_branches, list_tags, list_tenants, list_published_files_for_version, list_published_files_for_language). The BYOK key travels with each request, is used for that one call only and is never stored, logged or...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-locize.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-locize/docs"},"termsOfService":"https://connectorbay.com/byok-locize/terms"},"servers":[{"url":"https://byok-locize.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-locize/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_languages":{"post":{"operationId":"list_languages","summary":"List the languages of a project with name, native name, reference-language flag and the share translated per version. Us","description":"List the languages of a project with name, native name, reference-language flag and the share translated per version. Use for \"Which languages does my Locize project have and how complete are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_languagesArguments","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_stats":{"post":{"operationId":"get_project_stats","summary":"Get translation statistics per version, language and namespace: translated and untranslated ratios and segment counts. T","description":"Get translation statistics per version, language and namespace: translated and untranslated ratios and segment counts. The provider asks for no more than a few calls per hour. Use for \"How much of my Locize project is translated per language\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_project_statsArguments","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_branches":{"post":{"operationId":"list_branches","summary":"List the branches of a project (name, version, slug and id). The provider asks for no more than a few calls per hour. Us","description":"List the branches of a project (name, version, slug and id). The provider asks for no more than a few calls per hour. Use for \"What branches does my Locize project have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_branchesArguments","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_tags":{"post":{"operationId":"list_tags","summary":"List the translation tags configured for a project, for example approved or reviewed. The provider asks for no more than","description":"List the translation tags configured for a project, for example approved or reviewed. The provider asks for no more than a few calls per hour. Use for \"Which tags are configured in my Locize project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_tagsArguments","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_tenants":{"post":{"operationId":"list_tenants","summary":"List the tenant projects connected to a project (name, company, URL, slug, id and subscription time). The provider asks ","description":"List the tenant projects connected to a project (name, company, URL, slug, id and subscription time). The provider asks for no more than a few calls per hour. Use for \"Which tenants are linked to my Locize project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_tenantsArguments","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_published_files_for_version":{"post":{"operationId":"list_published_files_for_version","summary":"List every published namespace file of one project version. Expensive for the provider: use sparingly. The provider asks","description":"List every published namespace file of one project version. Expensive for the provider: use sparingly. The provider asks for no more than a few calls per hour. Use for \"Which published translation files does the latest version of my Locize project contain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"},"version":{"description":"Version name of the project, for example 'latest' or 'production'.","maxLength":200,"title":"Version","type":"string"}},"required":["project_id","version"],"title":"list_published_files_for_versionArguments","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_published_files_for_language":{"post":{"operationId":"list_published_files_for_language","summary":"List the published namespace files of one language in one project version. The provider asks for no more than a few call","description":"List the published namespace files of one language in one project version. The provider asks for no more than a few calls per hour. Use for \"Which English namespace files are published in my Locize project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Locize project id (a UUID shown on the API tab of the project settings).","maxLength":200,"title":"Project Id","type":"string"},"version":{"description":"Version name of the project, for example 'latest' or 'production'.","maxLength":200,"title":"Version","type":"string"},"language":{"description":"Language code, for example 'en' or 'de-CH'.","maxLength":200,"title":"Language","type":"string"}},"required":["project_id","version","language"],"title":"list_published_files_for_languageArguments","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}}}}