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

# Get API tool schema

> Returns the input variables an API tool declares, which are the names the execute call needs a value for. Call it before executing so the request body has every input.



## OpenAPI

````yaml /specs-prettified/realtime/openapi.stable.json get /v1/stable/api-tool/{toolID}/schema
openapi: 3.0.0
info:
  title: Realtime
  description: Realtime gateway API service
  version: 1.0.0
  contact: {}
servers:
  - url: https://realtime-api.voiceflow.com
security: []
tags: []
paths:
  /v1/stable/api-tool/{toolID}/schema:
    get:
      tags:
        - API Tool
      summary: Get API tool schema
      description: Returns the input variables an API tool declares, which are the
        names the execute call needs a value for. Call it before executing so
        the request body has every input.
      operationId: StableAPIToolController_getSchema
      parameters:
        - name: toolID
          required: true
          in: path
          schema:
            type: string
          x-vf-doc:
            description: The ID of the API tool whose inputs to list.
          description: The ID of the API tool whose inputs to list.
        - name: projectID
          required: true
          in: query
          schema:
            type: string
            description: The ID of the project to operate on.
        - name: environmentAlias
          required: true
          in: query
          schema:
            type: string
            description: The alias of the environment to operate on (e.g. `main`).
      responses:
        "200":
          description: Returns the API tool's inputs, sorted by name, each one a required
            string.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StableAPIToolSchemaReadResponse"
          x-vf-doc:
            description: Returns the API tool's inputs, sorted by name, each one a required
              string.
      security:
        - token: []
components:
  schemas:
    StableAPIToolSchemaReadResponse:
      type: object
      properties:
        inputs:
          type: array
          items:
            $ref: "#/components/schemas/StableExecuteInput"
          description: The inputs execute takes, one per input variable, sorted by name.
            Every one is a required string. A credential input usually gets its
            secret from the attachment's default; write that secret's name as
            {secret_name} in the value.
      required:
        - inputs
    StableExecuteInput:
      type: object
      properties:
        name:
          type: string
          description: The input name, used as its key in `inputs` when executing.
        type:
          type: string
          description: The JSON type the value must have, such as `string`, `number` or
            `boolean`. Always `string` for a function or an API tool, and `any`
            when an MCP tool does not say.
        required:
          type: boolean
          description: Whether execute needs a value for this input.
        description:
          nullable: true
          description: What the input holds, as the tool describes it.
          type: string
      required:
        - name
        - type
        - required
        - description
  securitySchemes:
    token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Voiceflow bearer token
````
