---
title: "Create users in workspace"
method: POST
path: "/workspaces/{workspace_id}/users"
tags: ["workspaces", "users"]
---

# Create users in workspace

`POST /workspaces/{workspace_id}/users`

Bulk-creates placeholder agent users in a partner-managed workspace. Each request specifies a count of users to create. For every user the platform: assigns the agent role and activated status, creates a non-login, system-managed email `<user_id>-<workspace-id>@partners.timelines.ai`, assigns the user to the workspace's Default group, consumes one seat from the workspace.
 The operation is all-or-nothing: if there are not enough available seats to satisfy count, the request fails with a seats_full error and no users are created. On success the response returns updated seat counters and the list of created users, including their identifiers and metadata needed for downstream QR-link generation.

## Path parameters

- `workspace_id` string, required

## Headers

- `X-TL-Partner-Id` string, required

## Request body

- PartnerAPIUserRequest — Request payload for bulk-creating placeholder agent users in a workspace. The count field specifies how many users to provision in a single all-or-nothing operation, subject to available seats in the workspace.
  - `count` integer, required — Number of users to create

## Response `201`

Users created

- PartnerAPIUsersResponse — Response payload for bulk user creation. Contains the workspace_id, updated seat counters (seats_total and seats_available), and the list of created users with their identifiers and metadata. This response is typically consumed to track which agents were provisioned for QR-link generation.
  - `workspace_id` string, required — Unique identifier for the workspace
  - `seats_total` integer, required — Total number of seats in the workspace
  - `seats_available` integer, required — Number of available seats in the workspace
  - `users` PartnerAPIUser[], required
    - `user_id` integer, required — Unique identifier for the user
    - `display_name` string, required — Display name of the user
    - `role` string — Role of the user in the workspace
    - `email` string, required — Email address of the user
    - `status` string, required — Status of the user
    - `created_at` string, date-time, required — Timestamp of user creation

## Other responses

- `409` — Seats are full

---

[API](https://skmtc.dev/initechsoftware/apis/partner-api.md) · [All operations](https://skmtc.dev/initechsoftware/apis/partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/initechsoftware/partner-api/revisions/f5ac60374320/schema)
