Amigo · Schema
RestIntegrationResponse
REST variant — base URL, auth config, endpoint count.
CompanyArtificial IntelligenceHealthcareAI AgentsVoiceClinicalConversational AIFHIRElectronic Health RecordsHIPAA
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Integration ID. |
| workspace_id | string | Workspace ID. |
| name | string | Slug-like identifier, immutable post-create. |
| display_name | string | Human-readable name. |
| enabled | boolean | Whether the integration is active. |
| managed | boolean | Whether the integration is system-managed and protected from workspace CRUD. |
| approval_policy | string | Human-in-the-loop approval gate. ``none`` = no approval required; ``writes`` = approval required for write-classified endpoints; ``all`` = approval required for every endpoint. |
| created_at | string | When the integration was created. |
| updated_at | string | When the integration was last updated. |
| kind | string | Discriminator. |
| base_url | string | Base URL for REST integrations. |
| auth | object | Authentication configuration (lib TypedDict union). |
| endpoint_count | integer | Number of configured endpoints. Fetch the full list via GET /endpoints. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amigo/main/json-schema/amigo-rest-integration-response-schema.json",
"title": "RestIntegrationResponse",
"description": "REST variant — base URL, auth config, endpoint count.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/amigo-integrations-api-openapi.yml#/components/schemas/RestIntegrationResponse",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id",
"description": "Integration ID."
},
"workspace_id": {
"type": "string",
"format": "uuid",
"title": "Workspace Id",
"description": "Workspace ID."
},
"name": {
"type": "string",
"title": "Name",
"description": "Slug-like identifier, immutable post-create."
},
"display_name": {
"type": "string",
"title": "Display Name",
"description": "Human-readable name."
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"description": "Whether the integration is active."
},
"managed": {
"type": "boolean",
"title": "Managed",
"description": "Whether the integration is system-managed and protected from workspace CRUD.",
"default": false
},
"approval_policy": {
"type": "string",
"enum": [
"none",
"writes",
"all"
],
"title": "Approval Policy",
"description": "Human-in-the-loop approval gate. ``none`` = no approval required;\n``writes`` = approval required for write-classified endpoints;\n``all`` = approval required for every endpoint.",
"default": "none"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"description": "When the integration was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"description": "When the integration was last updated."
},
"kind": {
"type": "string",
"const": "rest",
"title": "Kind",
"description": "Discriminator.",
"default": "rest"
},
"base_url": {
"type": "string",
"title": "Base Url",
"description": "Base URL for REST integrations."
},
"auth": {
"anyOf": [
{
"$ref": "#/$defs/StaticHeaderAuthDict"
},
{
"$ref": "#/$defs/OAuth2ClientCredentialsAuthDict"
},
{
"$ref": "#/$defs/OAuth2JwtBearerAuthDict"
},
{
"$ref": "#/$defs/CustomTokenExchangeAuthDict"
},
{
"type": "null"
}
],
"title": "Auth",
"description": "Authentication configuration (lib TypedDict union)."
},
"endpoint_count": {
"type": "integer",
"title": "Endpoint Count",
"description": "Number of configured endpoints. Fetch the full list via GET /endpoints."
}
},
"type": "object",
"required": [
"id",
"workspace_id",
"name",
"display_name",
"enabled",
"created_at",
"updated_at",
"base_url",
"endpoint_count"
],
"$defs": {
"CustomTokenExchangeAuthDict": {
"properties": {
"type": {
"type": "string",
"const": "custom_token_exchange",
"title": "Type"
},
"exchange_url": {
"type": "string",
"title": "Exchange Url"
},
"body_encoding": {
"type": "string",
"enum": [
"json",
"form"
],
"title": "Body Encoding"
},
"static_headers": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Static Headers"
},
"static_body_fields": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Static Body Fields"
},
"param_headers": {
"additionalProperties": {
"$ref": "#/$defs/ParamValueDict"
},
"type": "object",
"title": "Param Headers"
},
"param_body_fields": {
"additionalProperties": {
"$ref": "#/$defs/ParamValueDict"
},
"type": "object",
"title": "Param Body Fields"
},
"response_token_path": {
"type": "string",
"title": "Response Token Path"
},
"identity_bindings": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Identity Bindings"
},
"identity_binding_test_values": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Identity Binding Test Values"
}
},
"type": "object",
"required": [
"type",
"exchange_url",
"body_encoding",
"static_headers",
"static_body_fields",
"param_headers",
"param_body_fields",
"response_token_path",
"identity_bindings"
],
"title": "CustomTokenExchangeAuthDict",
"description": "Pre-flight exchange that mints a downstream bearer.\n\nReplaces legacy ``json_token_exchange`` AND ``bearer_token_exchange``.\nDownstream call always receives ``Authorization: Bearer {token}``. No\nin-process caching — every call mints fresh."
},
"OAuth2ClientCredentialsAuthDict": {
"properties": {
"type": {
"type": "string",
"const": "oauth2_client_credentials",
"title": "Type"
},
"token_url": {
"type": "string",
"title": "Token Url"
},
"client_id": {
"type": "string",
"title": "Client Id"
},
"scopes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Scopes"
},
"client_auth_method": {
"type": "string",
"enum": [
"basic",
"body"
],
"title": "Client Auth Method"
}
},
"type": "object",
"required": [
"type",
"token_url",
"client_id",
"scopes",
"client_auth_method"
],
"title": "OAuth2ClientCredentialsAuthDict",
"description": "OAuth 2.0 Client Credentials Grant — RFC 6749 § 4.4."
},
"OAuth2JwtBearerAuthDict": {
"properties": {
"type": {
"type": "string",
"const": "oauth2_jwt_bearer",
"title": "Type"
},
"token_url": {
"type": "string",
"title": "Token Url"
},
"assertion_issuer": {
"type": "string",
"title": "Assertion Issuer"
},
"assertion_audience": {
"type": "string",
"title": "Assertion Audience"
},
"assertion_subject": {
"type": "string",
"title": "Assertion Subject"
},
"assertion_lifetime_seconds": {
"type": "integer",
"title": "Assertion Lifetime Seconds"
},
"include_iat": {
"type": "boolean",
"title": "Include Iat"
},
"include_jti": {
"type": "boolean",
"title": "Include Jti"
},
"assertion_algorithm": {
"type": "string",
"enum": [
"RS256",
"RS384",
"RS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512"
],
"title": "Assertion Algorithm"
},
"assertion_usage": {
"type": "string",
"enum": [
"authorization_grant",
"client_authentication"
],
"title": "Assertion Usage"
},
"scopes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Scopes"
},
"extra_claims": {
"additionalProperties": true,
"type": "object",
"title": "Extra Claims"
}
},
"type": "object",
"required": [
"type",
"token_url",
"assertion_issuer",
"assertion_audience",
"assertion_subject",
"assertion_lifetime_seconds",
"include_iat",
"include_jti",
"assertion_algorithm",
"assertion_usage",
"scopes",
"extra_claims"
],
"title": "OAuth2JwtBearerAuthDict",
"description": "OAuth 2.0 JWT Bearer Token — RFC 7523.\n\n``assertion_usage`` selects the flow: § 2.1 (JWT as authorization grant) or\n§ 2.2 (JWT as client authentication / private_key_jwt)."
},
"ParamValueDict": {
"properties": {
"param_name": {
"type": "string",
"title": "Param Name"
},
"description": {
"type": "string",
"title": "Description"
}
},
"type": "object",
"required": [
"param_name",
"description"
],
"title": "ParamValueDict",
"description": "Routing target for one per-request parameter on the exchange call.\n\nPaired with a wire-name (header / body-field key) on\n``CustomTokenExchangeAuthDict.param_headers`` / ``param_body_fields``."
},
"StaticHeaderAuthDict": {
"properties": {
"type": {
"type": "string",
"const": "static_header",
"title": "Type"
},
"header_name": {
"type": "string",
"title": "Header Name"
}
},
"type": "object",
"required": [
"type",
"header_name"
],
"title": "StaticHeaderAuthDict",
"description": "Static workspace-level secret used verbatim as a single header value.\n\nReplaces legacy ``api_key_header`` and ``bearer_token`` — bearer is just\n``header_name=\"Authorization\"`` with the SSM secret holding ``\"Bearer <token>\"``."
}
}
}
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-rest-integration-response"
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.