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: 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=[<empty>|string].\n\n |Value|Description|Example|\n |-----|-----------|-------|\n |<empty>|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=[<empty>|string].\n\n |Value|Description|\n |-----|-----------|\n |<empty>|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=[<empty>|string].\n\n |Value|Description|\n |-----|-----------|\n |<empty>|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=[<empty>|string].\n\n |Value|Description|Example|\n |-----|-----------|-------|\n |<empty>|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