> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revoengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create API template.

> 
    ROLES: ENDPOINT_WRITE,ENDPOINT_ADMIN
    USER: true
    SERVICE ACCOUNT: true
    



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/endpoints
openapi: 3.0.0
info:
  title: RevoEngine Platform API
  description: Official RevoEngine Platform API documentation.
  version: 1.3.0
  contact:
    name: Support
    email: support@revoengine.com
  termsOfService: https://docs.revoengine.com/tos
servers:
  - url: https://api.revoengine.com
    description: Production
security: []
tags:
  - name: Accounts
    description: Users, service accounts, API keys, status, and platform access.
    externalDocs:
      description: Identity and access guide
      url: https://docs.revoengine.com/operate/identity-and-access
  - name: Activity
    description: Snapshot-backed activity and version history.
    externalDocs:
      description: Observability guide
      url: https://docs.revoengine.com/operate/observability
  - name: Agent Memory
    description: Administrative access to durable Agent memory.
    externalDocs:
      description: Agent memory and workspaces guide
      url: https://docs.revoengine.com/ai/memory-and-workspaces
  - name: Agent Plugins
    description: Agent plugin definitions, synchronization, testing, and lifecycle.
    externalDocs:
      description: Agent plugins guide
      url: https://docs.revoengine.com/ai/plugins
  - name: Agents
    description: >-
      Agent definitions, runs, sessions, inboxes, memory, tools, workspaces, and
      lifecycle.
    externalDocs:
      description: Autonomous Agents guide
      url: https://docs.revoengine.com/ai/agents
  - name: Assistant
    description: >-
      Assistant threads, messages, responses, goals, reports, sharing,
      attachments, and control.
    externalDocs:
      description: Assistant guide
      url: https://docs.revoengine.com/ai/assistant
  - name: Automation
    description: >-
      Jobs, templates, schedules, events, webhooks, execution history, and
      lifecycle.
    externalDocs:
      description: Automation guide
      url: https://docs.revoengine.com/operate/automation
  - name: Chat
    description: Collaborative chat threads, messages, reactions, uploads, and attachments.
    externalDocs:
      description: Team Chat guide
      url: https://docs.revoengine.com/operate/chat
  - name: Component deployments
    description: >-
      Custom Node.js runtime deployment attempts, readiness, activation, and
      rollback.
    externalDocs:
      description: Custom Node.js guide
      url: https://docs.revoengine.com/build/custom-nodejs
  - name: Components
    description: Components, elements, versions, validation, activation, and lifecycle.
    externalDocs:
      description: Components guide
      url: https://docs.revoengine.com/build/components
  - name: Config
    description: Instance configuration, usage, logs, and cache administration.
    externalDocs:
      description: Instance settings guide
      url: https://docs.revoengine.com/platform/instance-settings
  - name: Database Cache
    description: Instance Database cache values and statistics.
    externalDocs:
      description: Database Cache guide
      url: https://docs.revoengine.com/operate/database-cache
  - name: Database Views
    description: Database Views, previews, refreshes, exports, and controlled data actions.
    externalDocs:
      description: Database Views guide
      url: https://docs.revoengine.com/operate/database-views
  - name: Databases
    description: Database definitions, data, audits, exports, cloning, and lifecycle.
    externalDocs:
      description: Databases guide
      url: https://docs.revoengine.com/operate/databases
  - name: Endpoints
    description: >-
      Endpoint definitions, activation, validation, generated OpenAPI, and
      statistics.
    externalDocs:
      description: Endpoints guide
      url: https://docs.revoengine.com/operate/endpoints
  - name: Files
    description: Compatibility file listing, preview, download, and deletion operations.
    externalDocs:
      description: Files compatibility guide
      url: https://docs.revoengine.com/operate/files
  - name: Groups
    description: Groups, membership, avatars, and lifecycle.
    externalDocs:
      description: Groups guide
      url: https://docs.revoengine.com/operate/groups
  - name: Me
    description: Current user profile, keys, avatar, and session information.
    externalDocs:
      description: Authentication guide
      url: https://docs.revoengine.com/developers/authentication
  - name: Preferences
    description: User and instance preference values.
    externalDocs:
      description: Platform UI guide
      url: https://docs.revoengine.com/platform/ui-tour
  - name: Role Groups
    description: Role groups, members, assigned roles, and lifecycle.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Roles
    description: Available platform roles and role details.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Search
    description: Cross-domain search over objects visible to the caller.
    externalDocs:
      description: Search and discovery guide
      url: https://docs.revoengine.com/platform/search
  - name: Secrets
    description: >-
      Secret definitions, revisions, activation, reveal, disable, and
      destruction.
    externalDocs:
      description: Secrets guide
      url: https://docs.revoengine.com/operate/secrets
  - name: Storage
    description: >-
      Storage workspaces, folders, objects, upload sessions, signed access, and
      lifecycle.
    externalDocs:
      description: Storage guide
      url: https://docs.revoengine.com/operate/storage
externalDocs:
  description: Documentation
  url: https://docs.revoengine.com
paths:
  /api/v1/endpoints:
    post:
      tags:
        - Endpoints
      summary: Create API template.
      description: |2-

            ROLES: ENDPOINT_WRITE,ENDPOINT_ADMIN
            USER: true
            SERVICE ACCOUNT: true
            
      operationId: EndpointController_createApiTemplate
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointRequestDto'
      responses:
        '201':
          description: Job scheduled.
        '403':
          description: Forbidden.
        '404':
          description: Not found.
      security:
        - bearer: []
components:
  schemas:
    EndpointRequestDto:
      type: object
      properties:
        name:
          type: string
          description: Name.
        active:
          type: boolean
          default: true
          description: >-
            Whether the endpoint is active immediately after creation. Set false
            for validate-before-activate rollouts.
        category:
          type: string
          description: Category.
        desc:
          type: string
          description: Description.
        metadata:
          type: object
          description: >-
            Optional resource metadata. Values may use any JSON type. Maximum 16
            KiB and 64 top-level keys. Top-level keys starting with "__" are
            reserved for backend use.
        componentId:
          type: string
          description: Component identifier.
        componentVersion:
          type: number
          description: >-
            Exact low-code component version to pin for a stable rollout.
            CUSTOM_NODEJS endpoints always execute the component active runtime
            revision and must omit this field.
        timeout:
          type: number
          description: >-
            Endpoint execution timeout in seconds. The effective maximum is
            resolved at runtime from the current instance quota.
          minimum: 1
          default: 60
          example: 60
        path:
          type: string
          description: Normalized path (e.g. /api/v1/users/:userId, /_/auth, or /users/@)
          maxLength: 1024
        method:
          type: string
          description: Method.
          enum:
            - GET
            - POST
            - PUT
            - PATCH
            - DELETE
        options:
          description: >-
            Endpoint runtime options stored as loose JSONB. Custom low-code
            input values live under "input"; first-class keys such as "guard",
            "componentSchemaId", "componentSchemaVersion",
            "componentSchemaElement", "popResult", "httpCode", "legacyResults",
            and "memory" live at the options root.
          default:
            input: {}
            hideRequest: false
            hideResponse: false
            legacyResults: false
            skipLibs: false
            memory: 32
          allOf:
            - $ref: '#/components/schemas/EndpointOptionsDto'
      required:
        - name
        - path
        - method
    EndpointOptionsDto:
      type: object
      properties:
        skipLibs:
          type: boolean
          description: >-
            Skip loading shared execution libraries when the component does not
            need them.
          example: false
        legacyResults:
          type: boolean
          description: >-
            Return legacy-shaped results for backward-compatible execution
            consumers.
          example: false
        hideRequest:
          type: boolean
          description: Hide the request payload from persisted execution history.
          example: true
        hideResponse:
          type: boolean
          description: Hide the response payload from persisted execution history.
          example: false
        memory:
          type: number
          description: Memory budget in megabytes reserved for the execution.
          example: 512
        input:
          type: object
          description: >-
            Custom low-code template input values exposed through api.input()
            and context.inputs.templateInputs.
        guard:
          description: >-
            Static endpoint input guard schema stored inside endpoint options
            JSONB.
          example:
            whitelist: true
            whitelistErrors: false
            schema:
              type: object
              objectSchema:
                - property: body
                  schema:
                    type: object
                    objectSchema:
                      - property: from
                        schema:
                          type: string
                          required: true
                          regex: ^[A-Z]{3}$
                      - property: to
                        schema:
                          type: string
                          required: true
                          regex: ^[A-Z]{3}$
                      - property: amount
                        schema:
                          type: number
                          required: true
                          min: 0
          allOf:
            - $ref: '#/components/schemas/ValidatorSchema'
        response:
          type: object
          description: Static response returned by endpoints without a component.
        httpCode:
          type: number
          description: Successful HTTP response code used for endpoint result responses.
          minimum: 200
          maximum: 299
        noResult:
          type: boolean
          description: Suppress endpoint result body when true.
        popResult:
          type: string
          description: >-
            Return only one case-sensitive named component result. The API
            normalizes the first character to uppercase.
        customValidateResponse:
          type: object
          description: Custom validation error response body.
        validateResponse:
          type: number
          description: HTTP status code returned when guard validation fails.
        validateHideResponse:
          type: boolean
          description: Hide guard validation error details from the response.
        includeLibs:
          description: Runtime libraries to include for endpoint execution.
          type: array
          items:
            type: string
        excludeLibs:
          description: Runtime libraries to exclude from endpoint execution.
          type: array
          items:
            type: string
        componentSchemaId:
          type: string
          description: Validate endpoint input with a JSON validator schema component.
        componentSchemaElement:
          type: string
          description: Schema component element to validate endpoint input with.
          minLength: 1
          maxLength: 32
        componentSchemaVersion:
          type: number
          description: >-
            Schema component version. If omitted, the latest active schema
            component version is used.
    ValidatorSchema:
      type: object
      properties:
        whitelist:
          type: boolean
          default: true
          description: Reject properties not declared by the schema.
        whitelistErrors:
          type: boolean
          default: false
          description: Return validation errors for rejected properties.
        schema:
          description: Root validator property.
          allOf:
            - $ref: '#/components/schemas/ValidatorProperty'
      required:
        - whitelistErrors
        - schema
    ValidatorProperty:
      type: object
      properties:
        type:
          type: string
          enum:
            - string
            - number
            - boolean
            - object
            - array
            - date
            - any
          description: Validator value type.
        required:
          type: boolean
          description: Whether this property must be present.
        regex:
          type: string
          description: Optional regular expression for string values.
        min:
          type: number
          description: Optional numeric minimum.
        max:
          type: number
          description: Optional numeric maximum.
        objectSchema:
          description: Object fields expressed as property/schema entries.
          type: array
          items:
            $ref: '#/components/schemas/ValidatorObject'
        arraySchema:
          description: Schema applied to every array item.
          allOf:
            - $ref: '#/components/schemas/ValidatorProperty'
      required:
        - type
    ValidatorObject:
      type: object
      properties:
        property:
          type: string
          description: Object property name.
        schema:
          description: Schema for the named object property.
          allOf:
            - $ref: '#/components/schemas/ValidatorProperty'
      required:
        - property
        - schema
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      description: Bearer JWT token or API Key (sk-*).
      type: http

````