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

# Evaluate staffing read-only

> Requires ready source evidence; does not start a prediction or persist requirements. 1–14 inclusive dates.



## OpenAPI

````yaml /api-reference/workforce/openapi.json post /api/v1/workforce/scheduling-groups/{groupId}/requirements/evaluate
openapi: 3.1.0
info:
  title: Atlas workforce API
  version: 2026-10-preview
  description: >-
    Authenticated workforce staffing-to-draft operations. Released together with
    matching MCP operations. Deploy the reviewed native guard migrations before
    enabling this feature.
servers:
  - url: /
security:
  - AtlasIntegrationBearer: []
paths:
  /api/v1/workforce/scheduling-groups/{groupId}/requirements/evaluate:
    post:
      summary: Evaluate staffing read-only
      description: >-
        Requires ready source evidence; does not start a prediction or persist
        requirements. 1–14 inclusive dates.
      operationId: evaluate_staffing_requirements
      parameters:
        - name: X-Workspace-Id
          in: header
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            Selector within saved grants and current issuer authority; never
            grants authority.
        - name: groupId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StaffingEvaluationInput'
      responses:
        '200':
          description: >-
            Native evidence or exact command result. Unavailable evidence is
            explicitly labeled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StaffingEvaluation'
        '400':
          description: Missing or malformed transport fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing, invalid or expired bearer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Saved grant or current authority denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Scoped resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Stale source/revision or conflicting request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Body exceeds 64 KiB
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: Content-Type must be application/json
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid or unsupported input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Concurrent compute limit; retry after 5 seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Required evidence or service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    StaffingEvaluationInput:
      type: object
      properties:
        from:
          type: string
          format: date
        to:
          type: string
          format: date
        residual_unplanned_shrinkage:
          type: number
          minimum: 0
          exclusiveMaximum: 1
          description: >-
            Explicit residual unplanned loss after scheduled nonproductive time;
            never inferred from total shrinkage.
      required:
        - from
        - to
        - residual_unplanned_shrinkage
      additionalProperties: false
    StaffingEvaluation:
      type: object
      properties:
        sourceMode:
          enum:
            - prediction
            - manual
            - mixed
        intervals:
          type: array
          items:
            $ref: '#/components/schemas/PreparedDemandInterval'
        closedDates:
          type: array
          items:
            type: string
            format: date
        residualUnplannedShrinkage:
          type: number
          minimum: 0
          exclusiveMaximum: 1
        coverageContract:
          const: productive_supply_after_residual_vs_exact_net_requirement
        volumeRun:
          type:
            - object
            - 'null'
        ahtRun:
          type:
            - object
            - 'null'
        calendarSource:
          enum:
            - calendar
            - profile
        calendarId:
          type:
            - string
            - 'null'
      required:
        - sourceMode
        - intervals
        - closedDates
        - residualUnplannedShrinkage
        - coverageContract
      additionalProperties: true
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details: {}
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
      additionalProperties: false
    PreparedDemandInterval:
      type: object
      properties:
        date:
          type: string
          format: date
        startTs:
          type: string
          format: date-time
        endTs:
          type: string
          format: date-time
        localLabel:
          type: string
        slotMinutes:
          type: number
          minimum: 0
        offeredInteractions:
          type: number
          minimum: 0
        workloadSeconds:
          type: number
          minimum: 0
        effectiveAhtSeconds:
          type: number
          minimum: 0
        netRequiredAgents:
          type: number
          minimum: 0
        capped:
          type: boolean
        unrepresentable:
          type: boolean
      required:
        - date
        - startTs
        - endTs
        - slotMinutes
        - offeredInteractions
        - workloadSeconds
        - effectiveAhtSeconds
        - netRequiredAgents
        - capped
      additionalProperties: true
  securitySchemes:
    AtlasIntegrationBearer:
      type: http
      scheme: bearer
      bearerFormat: atlas_mcp_
      description: >-
        Existing Atlas integration connection with explicit api:connect plus
        appropriate native domain grants. atlas_ingest_ and browser cookies are
        not accepted.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.