AGNTCY Translation API

The Translation API from AGNTCY — 4 operation(s) for translation.

Operations 4

POST /api/1.1.0/translate/domain Translate domain class #
POST /api/1.1.0/translate/module Translate module class #
POST /api/1.1.0/translate/object/{name} Translate object #
POST /api/1.1.0/translate/skill Translate skill class #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/agntcy-translation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

agntcy-translation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Open Agentic Schema Framework (OASF) server API allows to access the JSON schema definitions and to validate and translate objects.
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: OASF Schema Translation API
  version: 0.6.0
  x-provenance:
    method: harvested
    authored_by: AGNTCY (Outshift by Cisco)
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    provider_published: true
    source_host: agntcy.org / outshift.com
    note: 'Four first-party machine-readable contracts: the Agent Connect Protocol OpenAPI 3.1.1, the OASF Schema API, and two AGNTCY Identity OpenAPI 3.0.3 documents. schema.oasf.outshift.com is the one genuinely callable AGNTCY-hosted API (unauthenticated, 200).'
  x-evidence:
  - type: source
    url: https://spec.acp.agntcy.org/
  - type: source
    url: https://schema.oasf.outshift.com/doc
  - type: source
    url: https://identity-docs.outshift.com/api/openapi/service/v1alpha1/openapi.yaml
tags:
- name: Translation
paths:
  /api/1.1.0/translate/domain:
    post:
      description: The purpose of this API is to translate the provided domain class data using the OASF schema. Each class is represented as a JSON object, while multiple classes are encoded as a  JSON array of objects.
      operationId: SchemaWeb.SchemaController.translate_domain
      parameters:
      - description: 'Controls how attribute names and enumerated values are translated.<br/>

          The format is _mode=[1|2|3]. The default mode is `1` -- translate enumerated values.


          |Value|Description|Example|

          |-----|-----------|-------|

          |1|Translate only the enumerated values|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"id": 101, "name": "technology/internet_of_things"}</code><br/><i>Note: Classes are automatically enriched with both id and name. For enum fields with siblings, the sibling field is also added.</i>|

          |2|Translate enumerated values and attribute names|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"ID": 101, "Name": "technology/internet_of_things"}</code><br/><i>Note: Attribute names are translated to their captions. Classes are automatically enriched with both id and name.</i>|

          |3|Verbose translation|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"id": {"caption": "Internet of Things (IoT)","name": "ID","type": "integer_t","value": 101}, "name": {"caption": "Name","name": "Name","type": "string_t","value": "technology/internet_of_things"}}</code>|

          '
        in: query
        name: _mode
        required: false
        schema:
          type: number
          default: 1
      - allowEmptyValue: true
        description: "  Controls how spaces in the translated attribute names are handled.<br/>\n  By default, the translated attribute names may contain spaces (for example, Class Time).\n  You can remove the spaces or replace the spaces with another string. For example, if you\n  want to forward to a database that does not support spaces.<br/>\n  The format is _spaces=[&lt;empty&gt;|string].\n\n  |Value|Description|Example|\n  |-----|-----------|-------|\n  |&lt;empty&gt;|The spaces in the translated names are removed.|Untranslated:<br/><code>{\"id\": 101}</code><br/><br/>Translated:<br/><code>{\"ID\": \"Internet of Things (IoT)\"}</code>|\n  |string|The spaces in the translated names are replaced with the given string.|For example, the string is an underscore (_).<br/>Untranslated:<br/><code>{\"id\": 101}</code><br/><br/>Translated:<br/><code>{\"ID\": \"Internet of Things (IoT)\"}</code>|\n"
        in: query
        name: _spaces
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request - unexpected body, expected a JSON object or array
      summary: Translate domain class
      tags:
      - Translation
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: The domain class data to be translated
        required: true
  /api/1.1.0/translate/module:
    post:
      description: The purpose of this API is to translate the provided module class data using the OASF schema. Each class is represented as a JSON object, while multiple classes are encoded as a  JSON array of objects.
      operationId: SchemaWeb.SchemaController.translate_module
      parameters:
      - description: 'Controls how attribute names and enumerated values are translated.<br/>

          The format is _mode=[1|2|3]. The default mode is `1` -- translate enumerated values.


          |Value|Description|Example|

          |-----|-----------|-------|

          |1|Translate only the enumerated values|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"id": 101, "name": "core/observability"}</code><br/><i>Note: Classes are automatically enriched with both id and name. For enum fields with siblings, the sibling field is also added.</i>|

          |2|Translate enumerated values and attribute names|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"ID": 101, "Name": "core/observability"}</code><br/><i>Note: Attribute names are translated to their captions. Classes are automatically enriched with both id and name.</i>|

          |3|Verbose translation|Untranslated:<br/><code>{"id": 101}</code><br/><br/>Translated:<br/><code>{"id": {"caption": "Observability","name": "ID","type": "integer_t","value": 101}, "name": {"caption": "Name","name": "Name","type": "string_t","value": "core/observability"}}</code>|

          '
        in: query
        name: _mode
        required: false
        schema:
          type: number
          default: 1
      - allowEmptyValue: true
        description: "  Controls how spaces in the translated attribute names are handled.<br/>\n  By default, the translated attribute names may contain spaces (for example, Class Time).\n  You can remove the spaces or replace the spaces with another string. For example, if you\n  want to forward to a database that does not support spaces.<br/>\n  The format is _spaces=[&lt;empty&gt;|string].\n\n  |Value|Description|\n  |-----|-----------|\n  |&lt;empty&gt;|The spaces in the translated names are removed.|\n  |string|The spaces in the translated names are replaced with the given string.|\n"
        in: query
        name: _spaces
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request - unexpected body, expected a JSON object or array
      summary: Translate module class
      tags:
      - Translation
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: The module class data to be translated
        required: true
  /api/1.1.0/translate/object/{name}:
    post:
      description: The purpose of this API is to translate the provided object data using the OASF schema. Each class is represented as a JSON object, while multiple classes are encoded as a  JSON array of objects.
      operationId: SchemaWeb.SchemaController.translate_object
      parameters:
      - description: Object name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: 'Controls how attribute names and enumerated values are translated.<br/>

          The format is _mode=[1|2|3]. The default mode is `1` -- translate enumerated values.


          |Value|Description|Example|

          |-----|-----------|-------|

          |1|Translate only the enumerated values|Untranslated:<br/><code>{"type": 1}</code><br/><br/>Translated:<br/><code>{"type": 1}</code><br/><i>Note: For enum fields with siblings, the sibling field is added automatically.</i>|

          |2|Translate enumerated values and attribute names|Untranslated:<br/><code>{"type": 1}</code><br/><br/>Translated:<br/><code>{"Type": 1}</code><br/><i>Note: Attribute names are translated to their captions.</i>|

          |3|Verbose translation|Untranslated:<br/><code>{"type": 1}</code><br/><br/>Translated:<br/><code>{"type": {"caption": "Example Type","name": "Type","type": "integer_t","value": 1}}</code>|

          '
        in: query
        name: _mode
        required: false
        schema:
          type: number
          default: 1
      - allowEmptyValue: true
        description: "  Controls how spaces in the translated attribute names are handled.<br/>\n  By default, the translated attribute names may contain spaces (for example, Class Time).\n  You can remove the spaces or replace the spaces with another string. For example, if you\n  want to forward to a database that does not support spaces.<br/>\n  The format is _spaces=[&lt;empty&gt;|string].\n\n  |Value|Description|\n  |-----|-----------|\n  |&lt;empty&gt;|The spaces in the translated names are removed.|\n  |string|The spaces in the translated names are replaced with the given string.|\n"
        in: query
        name: _spaces
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request - unexpected body, expected a JSON object or array
      summary: Translate object
      tags:
      - Translation
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: The object data to be translated
        required: true
  /api/1.1.0/translate/skill:
    post:
      description: The purpose of this API is to translate the provided skill class data using the OASF schema. Each class is represented as a JSON object, while multiple classes are encoded as a  JSON array of objects.
      operationId: SchemaWeb.SchemaController.translate_skill
      parameters:
      - description: 'Controls how attribute names and enumerated values are translated.<br/>

          The format is _mode=[1|2|3]. The default mode is `1` -- translate enumerated values.


          |Value|Description|Example|

          |-----|-----------|-------|

          |1|Translate only the enumerated values|Untranslated:<br/><code>{"id": 10101}</code><br/><br/>Translated:<br/><code>{"id": 10101, "name": "analytical_skills/natural_language_processing/contextual_comprehension"}</code><br/><i>Note: Classes are automatically enriched with both id and name. For enum fields with siblings, the sibling field is also added.</i>|

          |2|Translate enumerated values and attribute names|Untranslated:<br/><code>{"id": 10101}</code><br/><br/>Translated:<br/><code>{"ID": 10101, "Name": "analytical_skills/natural_language_processing/contextual_comprehension"}</code><br/><i>Note: Attribute names are translated to their captions. Classes are automatically enriched with both id and name.</i>|

          |3|Verbose translation|Untranslated:<br/><code>{"id": 10101}</code><br/><br/>Translated:<br/><code>{"id": {"caption": "Contextual Comprehension","name": "ID","type": "integer_t","value": 10101}, "name": {"caption": "Name","name": "Name","type": "string_t","value": "analytical_skills/natural_language_processing/contextual_comprehension"}}</code>|

          '
        in: query
        name: _mode
        required: false
        schema:
          type: number
          default: 1
      - allowEmptyValue: true
        description: "  Controls how spaces in the translated attribute names are handled.<br/>\n  By default, the translated attribute names may contain spaces (for example, Class Time).\n  You can remove the spaces or replace the spaces with another string. For example, if you\n  want to forward to a database that does not support spaces.<br/>\n  The format is _spaces=[&lt;empty&gt;|string].\n\n  |Value|Description|Example|\n  |-----|-----------|-------|\n  |&lt;empty&gt;|The spaces in the translated names are removed.|Untranslated:<br/><code>{\"id\": 10101}</code><br/><br/>Translated:<br/><code>{\"ID\": \"Contextual Comprehension\"}</code>|\n  |string|The spaces in the translated names are replaced with the given string.|For example, the string is an underscore (_).<br/>Untranslated:<br/><code>{\"id\": 10101}</code><br/><br/>Translated:<br/><code>{\"ID\": \"Contextual Comprehension\"}</code>|\n"
        in: query
        name: _spaces
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request - unexpected body, expected a JSON object or array
      summary: Translate skill class
      tags:
      - Translation
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: The skill class data to be translated
        required: true