Assembled People API

Manage agents (people) in the Assembled workforce. List, retrieve, create, and update agents along with their roles, channels, skills, and team assignments. The People API is the entry point for syncing agents between Assembled and upstream HRIS, identity, and CRM systems and is the canonical reference for who can be scheduled or routed to in Assembled.

Documentation

Specifications

Schemas & Data

Other Resources

🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-agent-profile-update-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-associate-agent-platforms-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-audit-schedule-changes-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-cancel-time-off-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-forecast-to-requirement-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-generate-report-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-ingest-conversations-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-manage-forecast-total-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-provision-agent-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-provision-queue-and-staff-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-request-time-off-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-review-working-hours-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-schedule-agent-shift-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-staff-agent-shift-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/assembled/refs/heads/main/arazzo/assembled-stream-agent-state-workflow.yml

OpenAPI Specification

assembled-people-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Assembled Activities People API
  description: 'Activities are the scheduled shifts, breaks, time-off blocks, training

    sessions, and meetings that make up an agent''s calendar in Assembled.


    The Activities API supports single and bulk activity creation, listing

    with rich filters, soft-delete semantics, and CRUD for activity types

    (the colour-coded categories shown on schedules). The event_changes

    endpoint surfaces an audit trail of schedule modifications.

    '
  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: People
  description: Agents managed inside Assembled
paths:
  /v0/people:
    get:
      summary: Assembled List People
      description: List all people (agents) in the Assembled workforce, optionally filtered by team, site, queue, or active status.
      operationId: listPeople
      tags:
      - People
      parameters:
      - $ref: '#/components/parameters/ApiVersionHeader'
      - in: query
        name: limit
        schema:
          type: integer
          default: 100
          maximum: 500
      - in: query
        name: offset
        schema:
          type: integer
          default: 0
      - in: query
        name: active
        schema:
          type: boolean
      responses:
        '200':
          description: A page of people
          content:
            application/json:
              schema:
                type: object
                properties:
                  people:
                    type: array
                    items:
                      $ref: '#/components/schemas/Person'
                  next_offset:
                    type: integer
                    nullable: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
    post:
      summary: Assembled Create People
      description: Create one or more people. Accepts a single person or a bulk array.
      operationId: createPeople
      tags:
      - People
      parameters:
      - $ref: '#/components/parameters/ApiVersionHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                people:
                  type: array
                  items:
                    $ref: '#/components/schemas/PersonInput'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  people:
                    type: array
                    items:
                      $ref: '#/components/schemas/Person'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v0/people/{id}:
    parameters:
    - $ref: '#/components/parameters/PersonIdPath'
    - $ref: '#/components/parameters/ApiVersionHeader'
    get:
      summary: Assembled Get Person
      description: Retrieve a specific person by Assembled person ID.
      operationId: getPerson
      tags:
      - People
      responses:
        '200':
          description: A person
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      summary: Assembled Update Person
      description: Partially update a person's attributes (name, email, role, channels, skills, teams, sites).
      operationId: updatePerson
      tags:
      - People
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonUpdate'
      responses:
        '200':
          description: Updated person
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    PersonIdPath:
      in: path
      name: id
      required: true
      schema:
        type: string
      description: Assembled person ID.
    ApiVersionHeader:
      in: header
      name: API-Version
      description: Date-based API version override (e.g. 2026-05-01). Defaults to your organization's pinned version.
      required: false
      schema:
        type: string
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Too many requests — 300 req/min default
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    PersonUpdate:
      type: object
      properties:
        name:
          type: string
        role_id:
          type: string
        channels:
          type: array
          items:
            type: string
        team_ids:
          type: array
          items:
            type: string
        site_id:
          type: string
        skill_ids:
          type: array
          items:
            type: string
        active:
          type: boolean
    Person:
      type: object
      properties:
        id:
          type: string
        email:
          type: string
          format: email
        name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        role_id:
          type: string
          nullable: true
        channels:
          type: array
          items:
            type: string
            enum:
            - phone
            - email
            - chat
            - sms
            - social
            - back_office
        team_ids:
          type: array
          items:
            type: string
        site_id:
          type: string
          nullable: true
        skill_ids:
          type: array
          items:
            type: string
        queue_ids:
          type: array
          items:
            type: string
        active:
          type: boolean
        platform_ids:
          type: object
          additionalProperties:
            type: string
          description: Associated identifiers from upstream platforms keyed by platform name (zendesk, salesforce, five9, etc.)
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    PersonInput:
      type: object
      required:
      - email
      - name
      properties:
        email:
          type: string
          format: email
        name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        role_id:
          type: string
        channels:
          type: array
          items:
            type: string
        team_ids:
          type: array
          items:
            type: string
        site_id:
          type: string
        skill_ids:
          type: array
          items:
            type: string
        active:
          type: boolean
          default: true
    Error:
      type: object
      properties:
        type:
          type: string
        message:
          type: string
        request_id:
          type: string
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic