Amigo · Schema
Request
Add a new endpoint to a REST integration (V186 flat shape).
CompanyArtificial IntelligenceHealthcareAI AgentsVoiceClinicalConversational AIFHIRElectronic Health RecordsHIPAA
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Slug-like identifier, immutable post-create. |
| description | string | LLM-facing description shown in the tool definition. |
| method | string | HTTP method. |
| path | string | URL path appended to the integration's base_url. Must NOT start with `/` — the path is joined onto the base URL (which already carries the leading slash). Supports `{param}` substitution. |
| input_schema | object | JSON Schema describing the tool's input arguments. |
| headers | object | Static headers merged into every request. |
| static_body_fields | object | Static body fields merged into POST/PUT/PATCH bodies. Keys are RFC 6901 JSON Pointers (e.g. ``/meta/tool_name`` for nested, ``/foo`` for a root-level field). |
| body_format | string | Outbound body encoding for write methods. |
| response_template | object | Jinja template (sandboxed, StrictUndefined) rendered against the parsed JSON response. |
| max_response_length | integer | Truncate the rendered string to this many chars. 0 = no truncation. |
| timeout_seconds | number | Per-request timeout. |
| max_retries | integer | Retry attempts on transient failures. |
| retry_on_status | array | HTTP status codes that trigger a retry. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amigo/main/json-schema/amigo-src-routes-integrations-create-endpoint-request-schema.json",
"title": "Request",
"description": "Add a new endpoint to a REST integration (V186 flat shape).",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/amigo-integrations-api-openapi.yml#/components/schemas/src__routes__integrations__create_endpoint__Request",
"properties": {
"name": {
"type": "string",
"maxLength": 128,
"minLength": 2,
"pattern": "^[a-z0-9][a-z0-9_-]*[a-z0-9]$",
"title": "Name",
"description": "Slug-like identifier, immutable post-create."
},
"description": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"title": "Description",
"description": "LLM-facing description shown in the tool definition."
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"title": "Method",
"description": "HTTP method.",
"default": "POST"
},
"path": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"pattern": "^[^/]",
"title": "Path",
"description": "URL path appended to the integration's base_url. Must NOT start with `/` — the path is\njoined onto the base URL (which already carries the leading slash). Supports `{param}` substitution."
},
"input_schema": {
"additionalProperties": true,
"type": "object",
"title": "Input Schema",
"description": "JSON Schema describing the tool's input arguments."
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Headers",
"description": "Static headers merged into every request."
},
"static_body_fields": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Static Body Fields",
"description": "Static body fields merged into POST/PUT/PATCH bodies. Keys are RFC 6901 JSON Pointers\n(e.g. ``/meta/tool_name`` for nested, ``/foo`` for a root-level field)."
},
"body_format": {
"type": "string",
"enum": [
"json",
"form"
],
"title": "Body Format",
"description": "Outbound body encoding for write methods.",
"default": "json"
},
"response_template": {
"anyOf": [
{
"type": "string",
"maxLength": 16384
},
{
"type": "null"
}
],
"title": "Response Template",
"description": "Jinja template (sandboxed, StrictUndefined) rendered against the parsed JSON response."
},
"max_response_length": {
"type": "integer",
"maximum": 1000000.0,
"minimum": 0.0,
"title": "Max Response Length",
"description": "Truncate the rendered string to this many chars. 0 = no truncation.",
"default": 0
},
"timeout_seconds": {
"type": "number",
"maximum": 600.0,
"exclusiveMinimum": 0.0,
"title": "Timeout Seconds",
"description": "Per-request timeout.",
"default": 30.0
},
"max_retries": {
"type": "integer",
"maximum": 10.0,
"minimum": 0.0,
"title": "Max Retries",
"description": "Retry attempts on transient failures.",
"default": 2
},
"retry_on_status": {
"items": {
"type": "integer"
},
"type": "array",
"maxItems": 20,
"uniqueItems": true,
"title": "Retry On Status",
"description": "HTTP status codes that trigger a retry."
}
},
"type": "object",
"required": [
"name",
"description",
"path"
]
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amigo-src-routes-integrations-create-endpoint-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.