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.

Operations 4

GET /v0/people Assembled List People #
POST /v0/people Assembled Create People #
GET /v0/people/{id} Assembled Get Person #
PATCH /v0/people/{id} Assembled Update Person #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/assembled-people-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

assembled-people-api-openapi.yml Raw ↑
openapi: 3.2.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:
    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
    PersonIdPath:
      in: path
      name: id
      required: true
      schema:
        type: string
      description: Assembled person ID.
  schemas:
    Error:
      type: object
      properties:
        type:
          type: string
        message:
          type: string
        request_id:
          type: string
    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
    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
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key
      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'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic