Workspaces API¶
Manage workspaces and team members for collaborative invoice management.
Create Workspace¶
Request:
Response:
{
"data": {
"id": "wsp_01ABC",
"name": "Engineering Team",
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
}
}
Try it
List Workspaces¶
Response:
{
"data": [
{
"id": "wsp_01ABC",
"name": "Engineering Team",
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
}
}
Try it
Get Workspace¶
Response:
{
"data": {
"id": "wsp_01ABC",
"name": "Engineering Team",
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T10:00:00Z"
}
}
Try it
Update Workspace¶
Request:
Response:
{
"data": {
"id": "wsp_01ABC",
"name": "Product Team",
"created_at": "2026-07-20T10:00:00Z",
"updated_at": "2026-07-20T15:30:00Z"
}
}
Try it
Delete Workspace¶
Response:
Try it
Workspace Members¶
Add Member¶
Request:
| Field | Required | Description |
|---|---|---|
email |
Yes | Email address of the user to invite |
role |
No | One of owner, admin, member (default: member) |
Response: returns the full member list for the workspace, including the newly added member.
{
"data": [
{
"id": "wsm_01DEF",
"workspace_id": "wsp_01ABC",
"email": "teammate@acme.com",
"role": "member",
"created_at": "2026-07-20T10:05:00Z"
}
]
}
Try it
List Members¶
Response:
{
"data": [
{
"id": "wsm_01DEF",
"workspace_id": "wsp_01ABC",
"email": "teammate@acme.com",
"role": "member",
"created_at": "2026-07-20T10:05:00Z"
}
]
}
Try it
Update Member Role¶
Request:
Response (the updated member object is returned directly, not wrapped in a data envelope):
{
"id": "wsm_01DEF",
"workspace_id": "wsp_01ABC",
"email": "teammate@acme.com",
"role": "admin",
"created_at": "2026-07-20T10:05:00Z"
}
Try it
Remove Member¶
Response:
Try it
Idempotency¶
Create and update endpoints accept an Idempotency-Key header. If you retry a request with the same key, the original response is returned instead of creating a duplicate resource.
curl -X POST https://invoicepdfs.com/api/v1/workspaces \
-H "Authorization: Bearer inv_live_abc123..." \
-H "Idempotency-Key: unique-request-id-456" \
-H "Content-Type: application/json" \
-d '{"name": "Engineering Team"}'
Roles¶
| Role | Permissions |
|---|---|
owner |
Full access, manage billing, delete workspace |
admin |
Manage members, create/edit all resources |
member |
Create and manage own invoices and resources |