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.
View JSON Schema on GitHub

JSON Schema

amigo-rest-integration-response-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.