PolyAPI · Schema
PolyAPI API Function
An API function wraps a third-party API call and is invoked through the PolyAPI gateway, providing a managed proxy with built-in authentication, monitoring, and variable injection.
IntegrationsMicroservicesMiddlewareOrchestrationsPro-Code API Composition
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the API function. |
| name | string | The name of the API function. |
| description | string | A description of what the API function does. |
| context | string | The context path for organizing the function in the catalog. |
| method | string | The HTTP method used by the API function. |
| url | string | The target URL for the API call. |
| headers | object | HTTP headers to include in the API call. |
| requestBody | object | The request body schema for the API call. |
| responseSchema | object | The expected response schema. |
| state | string | The lifecycle state of the function. |
| owner | string | The owner of the function. |
| visibility | string | The visibility of the function. |
| createdAt | string | Timestamp when the function was created. |
| updatedAt | string | Timestamp when the function was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/polyapi/blob/main/json-schema/api-function.json",
"title": "PolyAPI API Function",
"description": "An API function wraps a third-party API call and is invoked through the PolyAPI gateway, providing a managed proxy with built-in authentication, monitoring, and variable injection.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the API function."
},
"name": {
"type": "string",
"description": "The name of the API function."
},
"description": {
"type": "string",
"description": "A description of what the API function does."
},
"context": {
"type": "string",
"description": "The context path for organizing the function in the catalog."
},
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"],
"description": "The HTTP method used by the API function."
},
"url": {
"type": "string",
"format": "uri",
"description": "The target URL for the API call."
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to include in the API call."
},
"requestBody": {
"type": "object",
"description": "The request body schema for the API call."
},
"responseSchema": {
"type": "object",
"description": "The expected response schema."
},
"state": {
"type": "string",
"enum": ["active", "inactive", "deprecated"],
"description": "The lifecycle state of the function."
},
"owner": {
"type": "string",
"description": "The owner of the function."
},
"visibility": {
"type": "string",
"enum": ["public", "private"],
"description": "The visibility of the function."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the function was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the function was last updated."
}
},
"required": ["name", "method", "url"]
}