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

# Reserve an available case manager

> Reserves an available case manager for a case, creating a temporary hold that will expire if not confirmed. The system automatically selects a case manager from the available pool. Requires `roster.case_managers.assigner` permission.



## OpenAPI

````yaml api-reference/roster.yaml post /case-managers/reserve
openapi: 3.0.3
info:
  title: roster
  description: >-
    The Roster service keeps a list of all available arbitrators and case
    managers. Other parts of the system use it to pick the right people for new
    cases.
  version: 1.0.0
servers:
  - url: https://roster.platform.arb.inc
security: []
tags:
  - name: /
  - name: arbitrators
  - name: case-managers
paths:
  /case-managers/reserve:
    post:
      tags:
        - case-managers
      summary: Reserve an available case manager
      description: >-
        Reserves an available case manager for a case, creating a temporary hold
        that will expire if not confirmed. The system automatically selects a
        case manager from the available pool. Requires
        `roster.case_managers.assigner` permission.
      operationId: reserveCaseManager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - caseID
              properties:
                caseID:
                  type: string
                  minLength: 1
                  maxLength: 36
                  description: Unique identifier of the case requiring a case manager
                  example: 2025-08-00292
      responses:
        '200':
          description: Successfully reserved a case manager
          content:
            application/json:
              schema:
                type: object
                properties:
                  reservationID:
                    type: string
                    format: uuid
                    description: Unique identifier of the reservation
                    example: 2720f109-0caf-4c62-af22-5d08c853711c
                  userID:
                    type: string
                    format: uuid
                    description: UUID of the case manager user
                    example: 3a91c8f2-1d4e-4b7a-9c2e-5f6d8e9a0b1c
                  organizationID:
                    type: string
                    format: uuid
                    nullable: true
                    description: UUID of the case manager's organization, null if none
                    example: 4b82d9f3-2e5f-4c8b-0d3f-6g7e9f0a1c2d
                  expires:
                    type: string
                    format: date-time
                    description: Time when the reservation will expire if not confirmed
                    example: '2025-08-15T10:30:00.000Z'
        '409':
          description: Case manager already assigned to this case
          content:
            text/plain:
              schema:
                type: string
                example: case manager already assigned to this case
        '410':
          description: No case managers available
          content:
            text/plain:
              schema:
                type: string
                example: no case managers are available
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      description: access token
      scheme: bearer
      bearerFormat: JWT

````