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

# Update an org-level playbook

> Update a playbook for an organization.

## Permissions

Requires a service user with the `ManageAccountPlaybooks` permission for the specified organization.


## OpenAPI

````yaml v3-openapi.yaml PUT /v3/organizations/{org_id}/playbooks/{playbook_id}
openapi: 3.1.0
info:
  description: Devin v3 API with Service User authentication and RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3/organizations/{org_id}/playbooks/{playbook_id}:
    put:
      tags:
        - playbooks
      summary: Update an org-level playbook
      description: Update a playbook for an organization.
      operationId: >-
        handle_update_playbook_v3_organizations__org_id__playbooks__playbook_id__put
      parameters:
        - description: 'Playbook ID (prefix: playbook-)'
          in: path
          name: playbook_id
          required: true
          schema:
            example: playbook-abc123def456
            title: Playbook Id
            type: string
        - description: 'Organization ID (prefix: org-)'
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaybookCreateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaybookResponse'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Unprocessable Content
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Too Many Requests
components:
  schemas:
    PlaybookCreateRequest:
      properties:
        body:
          title: Body
          type: string
        macro:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Playbook macro identifier. Must start with '!' followed by one or
            more letters, digits, underscores, or hyphens. Example: '!my_macro'
            or '!my-macro'
          title: Macro
        structured_output_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: >-
            JSON Schema (Draft 7) that sessions using this playbook will produce
            as structured output. Max 64KB. Must be self-contained (no external
            $ref).
          title: Structured Output Schema
        title:
          title: Title
          type: string
      required:
        - title
        - body
      title: PlaybookCreateRequest
      type: object
    PlaybookResponse:
      properties:
        access_type:
          enum:
            - enterprise
            - org
          title: Access Type
          type: string
        body:
          title: Body
          type: string
        created_at:
          title: Created At
          type: integer
        created_by:
          title: Created By
          type: string
        macro:
          anyOf:
            - type: string
            - type: 'null'
          title: Macro
        org_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Org Id
        playbook_id:
          title: Playbook Id
          type: string
        structured_output_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Structured Output Schema
        title:
          title: Title
          type: string
        updated_at:
          title: Updated At
          type: integer
        updated_by:
          title: Updated By
          type: string
      required:
        - playbook_id
        - title
        - body
        - macro
        - created_by
        - updated_by
        - created_at
        - updated_at
        - access_type
        - org_id
      title: PlaybookResponse
      type: object
    ProblemDetail:
      description: >-
        RFC 9457 application/problem+json error body for the v3 API.


        detail is retained from the legacy {"detail": ...} body for back-compat;
        the

        other members are additive. errors carries field-level validation
        failures

        (422 only).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: A human-readable explanation specific to this occurrence.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Field-level validation errors (422 responses only).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: A URI reference (the request path) for this occurrence.
          title: Instance
        status:
          description: The HTTP status code.
          title: Status
          type: integer
        title:
          description: A short, human-readable summary of the problem type.
          title: Title
          type: string
        type:
          default: about:blank
          description: A URI reference identifying the problem type.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Service User credential (prefix: cog_)'
      scheme: bearer
      type: http

````