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

# Get a workflow schema

> Returns the schema for a workflow, including required fields, required variables, and variable properties. Use this to understand what parameters are needed when creating a request for this workflow.



## OpenAPI

````yaml GET /v1/workflows/{id}/schema
openapi: 3.1.0
info:
  title: SimpleDocs API
  version: 1.0.0
  description: >-
    The SimpleDocs API lets you programmatically manage repository documents,
    workflows, requests, and webhooks.


    All endpoints are scoped to the company associated with your OAuth
    application.


    **Rate limiting:** 600 requests per minute per IP address.


    **Base URL:** `https://app.simpledocs.com/api`
servers:
  - url: https://app.simpledocs.com/api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Obtain access tokens via OAuth2 client credentials
  - name: Repository Documents
    description: Upload and manage documents in your repository
  - name: Workflows
    description: List workflows and retrieve their schemas
  - name: Requests
    description: Create and track legal requests
  - name: Webhooks
    description: Register webhooks to receive event notifications
paths:
  /v1/workflows/{id}/schema:
    get:
      tags:
        - Workflows
      summary: Get a workflow schema
      description: >-
        Returns the schema for a workflow, including required fields, required
        variables, and variable properties. Use this to understand what
        parameters are needed when creating a request for this workflow.
      operationId: getWorkflowSchema
      parameters:
        - $ref: '#/components/parameters/hashId'
      responses:
        '200':
          description: The workflow schema.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowSchema'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    hashId:
      name: id
      in: path
      required: true
      description: The resource's hash ID.
      schema:
        type: string
        example: 0dbhXg
  schemas:
    WorkflowSchema:
      type: object
      description: >-
        Describes the fields and variables required to create a request for this
        workflow.
      properties:
        name:
          type: string
          example: Vendor Agreement
        description:
          type: string
          nullable: true
        required_fields:
          type: array
          items:
            type: string
          description: Top-level fields that must be provided when creating a request.
          example:
            - workflow_id
            - requester_email
            - counterparty_name
            - counterparty_email
            - counterparty_organization_name
        required_variables:
          type: array
          items:
            type: string
          description: Variable names that must be included in the `variables` JSON.
          example:
            - purpose
        variables_properties:
          type: object
          description: >-
            A map of variable names to their type definitions, including whether
            they are required and any available options.
          additionalProperties:
            type: object
            properties:
              required:
                type: boolean
              properties:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - string
                      - number
                      - integer
                      - boolean
                      - object
                      - array
                  format:
                    type: string
                  options:
                    type: array
                    items:
                      type: string
                  suggestions:
                    type: array
                    items:
                      type: string
    RFC9457Error:
      type: object
      description: >-
        Error responses follow [RFC
        9457](https://www.rfc-editor.org/rfc/rfc9457) Problem Details format.
      properties:
        type:
          type: string
          description: A machine-readable error type identifier.
          example: parameter_missing
        status:
          type: integer
          example: 400
        title:
          type: string
          example: Bad Request
        detail:
          type: string
          description: A human-readable explanation of the error.
          example: File or URL is required
        instance:
          type: string
          description: The request path that generated the error.
          example: /api/v1/repository_documents
        request_id:
          type: string
          description: A unique identifier for the request, useful for support.
  responses:
    Unauthorized:
      description: The access token is missing, invalid, expired, or revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RFC9457Error'
          examples:
            expired:
              summary: Token expired
              value:
                type: token_expired
                status: 401
                title: Token Expired
                detail: The access token has expired.
                instance: /api/v1/workflows
                request_id: abc-123
            revoked:
              summary: Token revoked
              value:
                type: token_revoked
                status: 401
                title: Token Revoked
                detail: The access token has been revoked.
                instance: /api/v1/workflows
                request_id: abc-123
            invalid:
              summary: Invalid token
              value:
                type: invalid_token
                status: 401
                title: Invalid Token
                detail: The access token is invalid.
                instance: /api/v1/workflows
                request_id: abc-123
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RFC9457Error'
          example:
            type: request_not_found
            status: 404
            title: Request not found
            detail: The request you are trying to access does not exist.
            instance: /api/v1/requests/abc123
            request_id: abc-123
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Obtain a Bearer token via the [Create access
        token](/api-reference/authentication/create-token) endpoint using the
        OAuth2 client credentials flow.

````