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

JSON Schema

api-function.json Raw ↑
{
  "$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"]
}