canonical: https://jentic.com/apis/assembly.com/assembly

# Assembly API

Jentic publishes the only available OpenAPI specification for Assembly API, keeping it validated and agent-ready. Assembly is a client portal and collaboration platform that lets professional services firms work with clients, share files, manage tasks, and handle billing in one place. The API exposes 34 endpoints across clients, companies, files, tasks, billing, workspaces, internal users, and notes. Authentication is via an X-API-KEY header and all calls are scoped to a workspace.

## For AI agents

Manage client portals - clients, companies, tasks, files, and billing - across 34 Assembly collaboration endpoints.

## Scope

Does not handle email marketing, payments processing, or HR records - use for client portal collaboration, tasks, files, and billing reads only.

## Capabilities

- Create, update, and delete client records in a workspace
- Manage company records linked to multiple clients
- List internal team members and their roles
- Create, list, and update tasks tied to clients or projects
- Upload and list files shared with specific clients
- Pull billing records and invoices for a client
- Create and update notes attached to clients or workspaces

## Use cases

### Client Onboarding Automation

Convert a new sales-qualified deal into a fully provisioned Assembly client. POST /clients creates the client, POST /companies links the company record, and POST /notes attaches onboarding notes. Suitable for agencies, accountants, and consultancies bringing on multiple clients per week.

Example prompt: Create a new Assembly client for 'Acme Ltd', link the company record, and add an onboarding note with the kickoff date

### Task and Deliverable Tracking

Pull tasks via GET /tasks-style operations to surface overdue or unassigned client work. Agents can post status updates by creating notes via POST /notes and reassign work where needed. Useful for keeping multiple client engagements coordinated without manual status meetings.

Example prompt: List all tasks for client 'cli_42', filter to those overdue more than 3 days, and create a note summarising the blockers

### Billing and File Reconciliation

Use the Billing endpoints to pull invoices and the Files endpoints to confirm contract or work-product delivery. Agents can match billing records to delivered files for QA before invoices are sent, reducing back-office friction. Suitable for fixed-fee engagements where deliverable-to-invoice mapping matters.

Example prompt: List billing records for client 'cli_42' and match each invoice to the delivered files in the same period

### AI Agent for Client Operations

An agent integrated through Jentic can monitor client portals, summarise activity, and surface overdue tasks across many engagements at once - without holding the Assembly API key. Jentic stores the X-API-KEY in its vault and the agent uses Jentic's intent search to navigate the 34 endpoints by purpose.

Example prompt: Through Jentic, scan all clients with overdue tasks, generate a per-client status note, and post each note via POST /notes

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/clients` | List all clients |
| POST | `/clients` | Create a new client |
| PATCH | `/clients/{id}` | Update client information |
| GET | `/companies` | List all companies |
| POST | `/companies` | Create a new company |
| GET | `/internal-users` | List internal users |
| POST | `/notes` | Create a note |
| GET | `/notes` | List notes |

## Key resources

- **Clients** — Create, read, update, and delete client records
- **Companies** — Manage company records linked to clients
- **Tasks** — Manage tasks tied to clients and projects
- **Files** — Upload and list files shared with clients
- **Billing** — Read billing records and invoices
- **Workspaces** — Read workspace details
- **Notes** — Create and manage notes on records
- **Internal Users** — List internal team members

## Why Jentic

- **Setup:** Wiring Assembly by hand means handling its API-key auth and its workspace-scoped routing for client, company, and note calls. Through Jentic you install once, import the Assembly API from the API Directory, store the key once, and your agent calls it while Jentic injects the header.
- **Permission scoping:** Assembly reaches clients and companies through collection endpoints and request bodies rather than a resource id in the URL path, so limit the agent to the operations it needs, such as listing or creating clients. You choose the operations it may call, so patching a client is not included unless you add it.
- **Credential handling:** Your Assembly API key is stored once, encrypted, by your own Jentic One instance and injected as the X-API-KEY header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Assembly client', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without learning the workspace-scoped routing in advance.

## Related APIs

- **monday.com** — monday.com is a general-purpose work-management platform; Assembly is purpose-built as a client portal for professional services.
- **ClickUp** — ClickUp covers tasks, docs, and time tracking; Assembly focuses on the client-portal experience.
- **HubSpot** — HubSpot manages the sales pipeline that hands off to Assembly's client portal once the deal closes.

## FAQ

### Why is there no official OpenAPI spec for Assembly API?

Assembly does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Assembly API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Assembly API use?

The API uses an API key passed in the X-API-KEY header. Jentic stores the key in its credential vault and injects it as the X-API-KEY header at execution time so it never enters the agent's context.

### Can I create a new client through the Assembly API?

Yes. POST /clients accepts the client details and returns the new client ID. Use PATCH `/clients/{id}` to update contact information later, and DELETE `/clients/{id}` to remove a client. Companies can be linked separately via POST /companies.

### What are the rate limits for the Assembly API?

The OpenAPI specification does not document explicit rate limits. Implement exponential backoff on HTTP 429 responses and avoid polling /clients or /companies in tight loops - cache results where possible since these records change infrequently.

### How do I list overdue tasks through Jentic?

Search Jentic for 'list Assembly tasks' - the matching task-list operation will be returned. Load the operation schema, supply the client filter, and execute. Filter the response in the agent for tasks whose due_date is in the past.

### Can I attach notes to a client record?

Yes. POST /notes creates a note tied to a client or workspace, and GET /notes lists existing notes. Notes are useful for logging onboarding milestones, status updates, and call summaries against the client record.

### Can I limit what my agent is allowed to do with the Assembly API?

Yes. Because you run Jentic One yourself, your own rules decide which Assembly operations and which stored API key the agent may use. Assembly reaches clients and companies through collection endpoints and request bodies rather than a resource ID in the URL path, so you can restrict the agent to only the operations it needs, such as listing or creating clients. If you do not grant it, patching a client with PATCH `/clients/{id}` is not available to the agent.
