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

# Get Workflows by ID

> Retrieves a single workflow record by ID. Requires both JWT and x-api-key.



## OpenAPI

````yaml get /workflows/{workflow_id}
openapi: 3.1.0
info:
  title: Playbook API Documentation
  description: >-
    This is the documentation for the Playbook API. You can use this API to use
    our service programmatically, this is done by using your API key. <br/> You
    can view your API key using the 'User' tab on https://beta.playbook3d.com/.
  version: '1.0'
servers: []
security: []
tags: []
paths:
  /workflows/{workflow_id}:
    get:
      tags:
        - workflows
      summary: Get Workflow by ID
      description: >-
        Retrieves a single workflow record by ID. Requires both JWT and
        x-api-key.
      operationId: get_workflow_by_id
      parameters:
        - name: workflow_id
          in: path
          description: The UUID of the workflow you want to retrieve.
          required: true
          schema:
            type: string
            format: uuid
        - name: x-api-key
          in: header
          description: >-
            Your API key. This is required by most endpoints to access the API
            programmatically. You can view your x-api-key using the 'Profile'
            tab on the website.
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: Bearer token for authentication (JWT).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Workflow retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  workflow:
                    type: object
                    description: A JSON object representing the found workflow.
                example:
                  workflow:
                    id: 123e4567-e89b-12d3-a456-426614174000
                    name: Example Workflow
                    team_id: 41480ee5-14ff-4f9e-89bf-91b0a8e50e77
                    canvas_type: 0
                    created_at: '2025-01-02T10:00:00Z'
        '401':
          description: Unauthorized. Check your JWT or API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: Unauthorized. Check your JWT or API key.
                example:
                  description: Unauthorized. Check your JWT or API key.
        '403':
          description: Forbidden. You do not have permission to access this workflow.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: >-
                      Forbidden. You do not have permission to access this
                      workflow.
                example:
                  description: >-
                    Forbidden. You do not have permission to access this
                    workflow.
        '404':
          description: Not Found. The requested workflow could not be found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: Not Found. The requested workflow could not be found.
                example:
                  description: Not Found. The requested workflow could not be found.
        '500':
          description: Internal Server Error. Something went wrong on the server.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: Internal Server Error. Something went wrong on the server.
                example:
                  description: Internal Server Error. Something went wrong on the server.
      x-codeSamples:
        - lang: cURL
          source: |-
            curl -X GET \
              -H 'Authorization: Bearer $API_KEY' \
              -H 'Accept: application/json' \
              '$BASE_URL/workflows/$workflow_id'
        - lang: Python
          source: >-
            import requests


            headers = {
                'x-api-key': '<YOUR_API_KEY>',
                'Authorization': 'Bearer <YOUR_JWT_TOKEN>',
                'Accept': 'application/json'
            }

            resp =
            requests.get(f"https://example.com/workflows/{{workflow_id}}",
            headers=headers)

            print(resp.status_code, resp.json())
        - lang: JavaScript
          source: |-
            fetch(`https://example.com/workflows/${workflow_id}`, {
              method: 'GET',
              headers: {
                'x-api-key': '<YOUR_API_KEY>',
                'Authorization': 'Bearer <YOUR_JWT_TOKEN>',
                'Accept': 'application/json'
              }
            }).then(res => res.json())
              .then(data => console.log(data))
              .catch(err => console.error(err));
        - lang: C#
          source: >-
            // Using HttpClient

            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Add("x-api-key", "<YOUR_API_KEY>");

            client.DefaultRequestHeaders.Authorization = new
            AuthenticationHeaderValue("Bearer", "<YOUR_JWT_TOKEN>");


            var response = await
            client.GetAsync($"https://example.com/workflows/{workflow_id}");

            string content = await response.Content.ReadAsStringAsync();

            Console.WriteLine(response.StatusCode);

            Console.WriteLine(content);

````