Assembled Requirements API

Create and list staffing requirements that express how many agents are needed by queue, site, team, or skill across time intervals. Requirement types describe the family of need (for example, headcount vs. occupancy targets). Requirements feed AI scheduling and real-time staffing recommendations.

Assembled Requirements API is one of 12 APIs that Assembled publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Requirements, Coverage, and Staffing. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

assembled-requirements-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Assembled Requirements API
  description: |
    Create and list staffing requirements that express how many agents are
    needed by queue, site, team, or skill across time intervals.

    Requirement types describe the family of need (for example, headcount
    vs. occupancy targets). Requirements feed AI scheduling and real-time
    staffing recommendations.
  version: '2026-05-24'
  contact:
    name: Assembled Support
    url: https://support.assembled.com
servers:
  - url: https://api.assembledhq.com
    description: Production Server
security:
  - BasicAuth: []
tags:
  - name: Requirements
  - name: Requirement Types
paths:
  /v0/requirements:
    get:
      summary: Assembled List Requirements
      operationId: listRequirements
      tags: [Requirements]
      parameters:
        - in: query
          name: start_time
          required: true
          schema: { type: string, format: date-time }
        - in: query
          name: end_time
          required: true
          schema: { type: string, format: date-time }
        - in: query
          name: queue_ids
          schema: { type: string }
      responses:
        '200':
          description: Requirements
          content:
            application/json:
              schema:
                type: object
                properties:
                  requirements:
                    type: array
                    items: { $ref: '#/components/schemas/Requirement' }
    post:
      summary: Assembled Create Requirement
      operationId: createRequirement
      tags: [Requirements]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/RequirementInput' }
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Requirement' }
  /v0/requirement_types:
    get:
      summary: Assembled List Requirement Types
      operationId: listRequirementTypes
      tags: [Requirement Types]
      responses:
        '200':
          description: Requirement types
          content:
            application/json:
              schema:
                type: object
                properties:
                  requirement_types:
                    type: array
                    items: { $ref: '#/components/schemas/RequirementType' }
components:
  securitySchemes:
    BasicAuth: { type: http, scheme: basic }
  schemas:
    Requirement:
      type: object
      properties:
        id: { type: string }
        requirement_type_id: { type: string }
        queue_id: { type: string, nullable: true }
        site_id: { type: string, nullable: true }
        team_id: { type: string, nullable: true }
        skill_id: { type: string, nullable: true }
        start_time: { type: string, format: date-time }
        end_time: { type: string, format: date-time }
        required_count: { type: number }
    RequirementInput:
      type: object
      required: [requirement_type_id, start_time, end_time, required_count]
      properties:
        requirement_type_id: { type: string }
        queue_id: { type: string }
        site_id: { type: string }
        team_id: { type: string }
        skill_id: { type: string }
        start_time: { type: string, format: date-time }
        end_time: { type: string, format: date-time }
        required_count: { type: number }
    RequirementType:
      type: object
      properties:
        id: { type: string }
        name: { type: string }
        description: { type: string }