RoxyAPI Languages API
List the response languages accepted by the `lang` query parameter on every i18n-aware endpoint. Use to populate language pickers, validate user input, or auto-detect available locales in agent integrations.
List the response languages accepted by the `lang` query parameter on every i18n-aware endpoint. Use to populate language pickers, validate user input, or auto-detect available locales in agent integrations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/roxyapi:roxyapi-languages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Roxy Languages API
version: 2.0.0
description: '# RoxyAPI: the Spiritual OS layer for agentic AI
> **Base URL:** `https://roxyapi.com/api/v2`.'
x-error-codes:
- code: validation_error
status: 400
meaning: A field is missing or invalid. The body lists every failing field at once in issues, each with its path and the expected shape.
- code: bad_request
status: 400
meaning: The request was rejected as a whole, for example a body that is not valid JSON or a date range that ends before it starts.
- code: date_out_of_range
status: 400
meaning: A date lies outside the span the planetary positions are served for. The error names the supported dates.
- code: api_key_required
status: 401
meaning: No API key was sent.
- code: invalid_api_key
status: 401
meaning: The key sent is malformed or cannot be verified.
- code: api_key_revoked
status: 401
meaning: The key was valid once and has since been revoked from the account page.
- code: subscription_not_found
status: 401
meaning: The key verifies, but the subscription behind it no longer exists.
- code: subscription_inactive
status: 401
meaning: The subscription behind the key is cancelled, expired or suspended, or a trial is past its end date.
- code: publishable_key_not_allowed_on_mcp
status: 401
meaning: A publishable key was used on a Remote MCP server, which takes a secret key.
- code: invalid_client_ip
status: 401
meaning: A keyless request could not be attributed to a caller.
- code: unauthorized
status: 401
meaning: Authentication failed with no more specific reason to give.
- code: forbidden
status: 403
meaning: The key is valid, but this request is not permitted.
- code: origin_required
status: 403
meaning: A publishable key with an origin allowlist was used with no Origin header, as from a server or a native app.
- code: origin_not_allowed
status: 403
meaning: The calling site is not on the origin allowlist of this publishable key.
- code: not_found
status: 404
meaning: Nothing is served at this path, or the identifier in it does not exist. A path miss adds suggestions, the closest real endpoints.
- code: method_not_allowed
status: 405
meaning: The path exists for a different HTTP method. The body lists the accepted methods in allow, as does the Allow header.
- code: conflict
status: 409
meaning: The request cannot be applied in the current state.
- code: gone
status: 410
meaning: The path was removed permanently.
- code: payload_too_large
status: 413
meaning: The request body is larger than the API accepts.
- code: unsupported_media_type
status: 415
meaning: 'A request with a body was sent without Content-Type: application/json.'
- code: unprocessable_entity
status: 422
meaning: Every field is valid, but the combination cannot be computed.
- code: rate_limit_exceeded
status: 429
meaning: The monthly request allowance is used up. Retry-After gives the seconds to the reset.
- code: rate_limit_per_minute
status: 429
meaning: The per-minute limit of the plan was reached. Retry-After gives the seconds to the next minute, and the monthly allowance is not charged.
- code: rate_limited
status: 429
meaning: A rate limit was reached, reported without the plan detail.
- code: free_tier_exhausted
status: 429
meaning: A keyless request has used up its trial allowance.
- code: internal_error
status: 500
meaning: The request failed inside our service. Retry with exponential backoff.
- code: compute_saturated
status: 503
meaning: Heavy calculations are briefly at capacity. Send the same request again after Retry-After seconds.
- code: error
status: null
meaning: A fallback for a status with no more specific code. The status and the error field carry the signal.
contact:
name: RoxyAPI Support
url: https://roxyapi.com/contact
license:
name: Proprietary
url: https://roxyapi.com/policy/terms
servers:
- url: https://roxyapi.com/api/v2
description: Production API v2
security:
- apiKey: []
tags:
- name: Languages
description: List the response languages accepted by the `lang` query parameter on every i18n-aware endpoint. Use to populate language pickers, validate user input, or auto-detect available locales in agent integrations.
paths:
/languages/field-labels:
get:
operationId: getFieldLabels
tags:
- Languages
summary: Get field labels for a language
security: []
description: 'Returns the display label for every request field name and every selectable option across the API, in the requested language. Use this to build a birth-data form, a chart widget, or an admin picker that reads in your customer language without hardcoding a word: look a field name up in `fields`, and an option up in `enums` under `{fieldName}.{value}`. Values a caller sends stay the canonical English identifier, so a translated form still submits a valid request. Labels a language has not been translated into yet return English, and the whole payload is stable enough to cache for a day.'
parameters:
- schema:
type: string
enum:
- en
- tr
- de
- es
- hi
- pt
- fr
- ru
- zh-Hans
- zh-Hant
default: en
example: en
description: 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'
required: false
description: 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'
name: lang
in: query
responses:
'200':
description: Form labels resolved for the requested language
content:
application/json:
schema:
type: object
properties:
lang:
type: string
enum:
- en
- tr
- de
- es
- hi
- pt
- fr
- ru
- zh-Hans
- zh-Hant
example: es
description: Language these labels resolved to. Echoes the `lang` query parameter, or `en` when it is omitted.
fields:
type: object
additionalProperties:
type: string
example: Fecha de nacimiento
description: Label to display for that field name.
description: Label per request field or parameter name. Keys are the wire names used in request bodies and query parameters, such as `birthDate`, `timezone` or `houseSystem`.
enums:
type: object
additionalProperties:
type: string
example: Nodo medio
description: Label to display for that option, beside the unchanged value.
description: 'Label per selectable option, keyed `{fieldName}.{value}` so the same value can read differently under different fields. For example `nodeType.mean` and `houseSystem.whole-sign`. Split on the first dot: the field name is before it, and everything after it is the value you send back unchanged.'
required:
- lang
- fields
- enums
'400':
description: Validation error. `issues[]` lists every failed field.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: First issue summary.
code:
type: string
enum:
- validation_error
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
issues:
type: array
description: Every validation failure. Use this to rebuild a valid request.
items:
type: object
properties:
path:
type: string
description: Dot-separated field path, or "(root)" for top-level.
message:
type: string
code:
type: string
description: Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
expected:
type: string
description: Expected type for invalid_type.
minimum:
description: Minimum bound for too_small issues.
oneOf:
- type: number
- type: string
maximum:
description: Maximum bound for too_big issues.
oneOf:
- type: number
- type: string
inclusive:
type: boolean
format:
type: string
description: Format name for string issues (regex, email, url, uuid).
pattern:
type: string
description: Regex pattern when format is regex.
required:
- path
- message
required:
- error
- code
- doc_url
- issues
'401':
description: Invalid or missing API key
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
'405':
description: Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
headers:
Allow:
description: Comma-separated list of allowed methods (RFC 9110).
schema:
type: string
content:
application/json:
schema:
type: object
properties:
error:
type: string
code:
type: string
enum:
- method_not_allowed
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
allow:
type: array
items:
type: string
description: Allowed HTTP methods for this path. Mirrors the Allow response header.
docs:
type: string
description: Link to the product page for this domain.
required:
- error
- code
- doc_url
- allow
'429':
description: Monthly rate limit exceeded
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
'500':
description: Internal server error
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
/languages:
get:
operationId: listLanguages
tags:
- Languages
summary: List supported response languages
description: Returns the language codes accepted by the `lang` query parameter on every i18n-aware endpoint. Use this to populate language pickers, validate user input before calling chart or reading endpoints, or auto-detect which languages an agent integration can offer. Codes follow ISO 639-1. Endpoints without a translation for the requested language fall back to English silently.
security:
- apiKey: []
responses:
'200':
description: Supported languages
content:
application/json:
schema:
type: object
properties:
languages:
type: array
items:
type: object
properties:
code:
type: string
enum:
- en
- tr
- de
- es
- hi
- pt
- fr
- ru
- zh-Hans
- zh-Hant
example: en
description: ISO 639-1 language code. Pass this value as the `lang` query parameter.
name:
type: string
example: English
description: Language name in English.
nativeName:
type: string
example: English
description: Language name written in the language itself.
required:
- code
- name
- nativeName
description: All language codes accepted by the `lang` query parameter.
required:
- languages
'400':
description: Validation error. `issues[]` lists every failed field.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: First issue summary.
code:
type: string
enum:
- validation_error
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
issues:
type: array
description: Every validation failure. Use this to rebuild a valid request.
items:
type: object
properties:
path:
type: string
description: Dot-separated field path, or "(root)" for top-level.
message:
type: string
code:
type: string
description: Zod issue code (invalid_type, too_small, too_big, invalid_string, ...).
expected:
type: string
description: Expected type for invalid_type.
minimum:
description: Minimum bound for too_small issues.
oneOf:
- type: number
- type: string
maximum:
description: Maximum bound for too_big issues.
oneOf:
- type: number
- type: string
inclusive:
type: boolean
format:
type: string
description: Format name for string issues (regex, email, url, uuid).
pattern:
type: string
description: Regex pattern when format is regex.
required:
- path
- message
required:
- error
- code
- doc_url
- issues
'401':
description: Invalid or missing API key
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
'405':
description: Method not allowed. The path exists but only responds to the methods listed in `allow[]` and the `Allow` response header.
headers:
Allow:
description: Comma-separated list of allowed methods (RFC 9110).
schema:
type: string
content:
application/json:
schema:
type: object
properties:
error:
type: string
code:
type: string
enum:
- method_not_allowed
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
allow:
type: array
items:
type: string
description: Allowed HTTP methods for this path. Mirrors the Allow response header.
docs:
type: string
description: Link to the product page for this domain.
required:
- error
- code
- doc_url
- allow
'429':
description: Monthly rate limit exceeded
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
'500':
description: Internal server error
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable error message. May change wording.
code:
type: string
description: Machine-readable error code. Stable identifier.
doc_url:
type: string
description: Absolute URL of the documented explanation of this code, anchored at the code itself, for example https://roxyapi.com/docs/errors#not_found.
required:
- error
- code
- doc_url
components:
securitySchemes:
apiKey:
type: apiKey
in: header
name: X-API-Key
description: Your API key for accessing RoxyAPI. Alternatively, you can pass the API key as a query parameter "api_key".
externalDocs:
description: Complete API Documentation with Examples
url: https://roxyapi.com/docs