REST API for the Slateo platform — account-member level access to your projects, tasks, customers, and more.
Download OpenAPI specification:
REST API for the Slateo platform (excludes admin and client routes)
The Slateo API is account-member level: every request acts as a specific member of a specific Slateo account, scoped to that member's role and permissions -- the same rules that apply inside the Slateo app itself.
This reference covers what an authenticated member can do: projects, tasks, documents, customers, and the rest of the account's data. It does not cover account creation, cross-account listing, or the web app's own login flow -- those aren't reachable with an API key.
New here? Start with Quickstart. For how requests are authenticated, see Authentication.
Get an API key -- available from Slateo app settings. Session auth only; an API key can't be used to create another API key.
Make a request -- every endpoint is under /api and needs an Authorization: Bearer <api-key> header:
curl https://app.slateo.io/api/users/me \
-H "Authorization: Bearer slateo_..."
Explore the reference -- endpoints are grouped by resource in the sidebar (Tasks, Projects, Customers, ...). See Authentication for details on scoping and permissions.
Requests are authenticated with a Slateo API key, sent as a bearer token:
Authorization: Bearer slateo_...
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone": "string",
- "phone_verified": true,
- "avatar_url": "string",
- "color": "string",
- "auth_source": "string",
- "preferences": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| accountId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "type": "org",
- "client_type": "app",
- "website_url": "string",
- "color": "string",
- "logo_url": "string",
- "timezone": "string",
- "currency": "string",
- "preferences": {
- "invoice_config": {
- "tax_calculation_mode": "inclusive",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0
}
], - "branding": {
- "logo_url": "string",
- "letterhead_url": "string",
- "content_margin_top": 0,
- "content_margin_bottom": 0,
- "company_name": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "accent_color": "string",
- "footer_text": "string"
}
}
}, - "task_counter": 0,
- "account_plan": {
- "id": "string",
- "name": "string",
- "project_limit": 0,
- "user_limit": 0,
- "workstream_limit": 0,
- "customer_limit": 0,
- "deal_limit": 0,
- "pipeline_limit": 0,
- "invoice_limit": 0,
- "product_management_limit": 0,
- "ai_workflow_tier": "basic",
- "task_board_tier": "basic",
- "support_tier": "none",
- "custom_integrations": true,
- "dedicated_account_manager": true,
- "onboarding_training": true,
- "is_paid": true,
- "subscription_period": "monthly",
- "payment_provider": "string",
- "payment_provider_plan_id": "string",
- "payment_provider_subscription_id": "string"
}, - "created_by_user_id": "209f54c4-4c33-43bc-9c6a-ef4c65ad7473",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| accountId required | string <uuid> |
| name | string |
| website_url | string |
| client_type | string (AccountClientType) Enum: "app" "restora" "site_management" "plantops" "venueops" Which product surface this account belongs to. Drives which system automations get lazily seeded (e.g. delivery-verification automations only seed for restora/site_management/plantops/venueops). |
| color | string |
| logo_url | string |
| timezone | string |
| currency | string ISO 4217 currency code used as the account's default currency. |
object |
{- "name": "string",
- "website_url": "string",
- "client_type": "app",
- "color": "string",
- "logo_url": "string",
- "timezone": "string",
- "currency": "string",
- "preferences": {
- "invoice_config": {
- "tax_calculation_mode": "inclusive",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0
}
], - "branding": {
- "logo_url": "string",
- "letterhead_url": "string",
- "content_margin_top": 0,
- "content_margin_bottom": 0,
- "company_name": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "accent_color": "string",
- "footer_text": "string"
}
}, - "delivery_photo_verification": {
- "enabled": true,
- "radius_meters": 0
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "type": "org",
- "client_type": "app",
- "website_url": "string",
- "color": "string",
- "logo_url": "string",
- "timezone": "string",
- "currency": "string",
- "preferences": {
- "invoice_config": {
- "tax_calculation_mode": "inclusive",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0
}
], - "branding": {
- "logo_url": "string",
- "letterhead_url": "string",
- "content_margin_top": 0,
- "content_margin_bottom": 0,
- "company_name": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "accent_color": "string",
- "footer_text": "string"
}
}
}, - "task_counter": 0,
- "account_plan": {
- "id": "string",
- "name": "string",
- "project_limit": 0,
- "user_limit": 0,
- "workstream_limit": 0,
- "customer_limit": 0,
- "deal_limit": 0,
- "pipeline_limit": 0,
- "invoice_limit": 0,
- "product_management_limit": 0,
- "ai_workflow_tier": "basic",
- "task_board_tier": "basic",
- "support_tier": "none",
- "custom_integrations": true,
- "dedicated_account_manager": true,
- "onboarding_training": true,
- "is_paid": true,
- "subscription_period": "monthly",
- "payment_provider": "string",
- "payment_provider_plan_id": "string",
- "payment_provider_subscription_id": "string"
}, - "created_by_user_id": "209f54c4-4c33-43bc-9c6a-ef4c65ad7473",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Hard-deletes the account immediately if it has no tasks, documents, products, customers, deals, or invoices. Otherwise soft-deletes it and schedules a hard delete (cascading all account data) 90 days later. Requires the account.delete permission (OWNER role only).
| accountId required | string <uuid> |
{- "data": {
- "status": "hard_deleted",
- "scheduled_hard_delete_at": "2019-08-24T14:15:22Z"
}
}| accountId required | string <uuid> |
| fileName required | string |
| resource_type | string or null Enum: "task" "member" "comment" "product" "project" "bill" "bill_payment" "delivery" "delivery_line_item" "purchase_order" "purchase_requisition" "vendor" "material" "invoice" "deal" "customer" |
| resource_id | string |
| resource_field | string |
| mime_type | string Default: "application/octet-stream" |
| size | integer >= 0 Default: 0 |
{- "data": {
- "attachment_id": "4c76e620-6daa-46e6-9da1-9ac96abab601",
- "upload_url": "string",
- "file_path": "string"
}
}When filtering by resource_type=project together with resource_id, the result also includes
attachments on that project's tasks and on comments made on those tasks, in addition to attachments
on the project itself.
| accountId required | string <uuid> |
| filter | string
|
| sort_by | string Default: "created_at" Enum: "created_at" "size" "file_name" "status" |
| sort_order | string Default: "desc" Enum: "asc" "desc" |
When status is set to completed for an attachment with resource_type=delivery_line_item, and the account has preferences.delivery_photo_verification.enabled, the photo's EXIF GPS is checked against the line item's location and the result is stored under metadata.location_verification (gps, distance_meters, verified).
| accountId required | string <uuid> |
| attachmentId required | string <uuid> |
{ }{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone": "string",
- "phone_verified": true,
- "avatar_url": "string",
- "color": "string",
- "auth_source": "string",
- "preferences": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "role": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "project_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}string <email> | |
| role_id | string <uuid> |
| display_name | string |
| job_title | string |
| timezone | string IANA timezone (e.g. "America/Los_Angeles") reported by the creating device. |
{- "email": "user@example.com",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "job_title": "string",
- "timezone": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone": "string",
- "phone_verified": true,
- "avatar_url": "string",
- "color": "string",
- "auth_source": "string",
- "preferences": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "role": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone": "string",
- "phone_verified": true,
- "avatar_url": "string",
- "color": "string",
- "auth_source": "string",
- "preferences": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "role": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "account": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "type": "org",
- "client_type": "app",
- "website_url": "string",
- "color": "string",
- "logo_url": "string",
- "timezone": "string",
- "currency": "string",
- "preferences": {
- "invoice_config": {
- "tax_calculation_mode": "inclusive",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0
}
], - "branding": {
- "logo_url": "string",
- "letterhead_url": "string",
- "content_margin_top": 0,
- "content_margin_bottom": 0,
- "company_name": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "accent_color": "string",
- "footer_text": "string"
}
}
}, - "task_counter": 0,
- "account_plan": {
- "id": "string",
- "name": "string",
- "project_limit": 0,
- "user_limit": 0,
- "workstream_limit": 0,
- "customer_limit": 0,
- "deal_limit": 0,
- "pipeline_limit": 0,
- "invoice_limit": 0,
- "product_management_limit": 0,
- "ai_workflow_tier": "basic",
- "task_board_tier": "basic",
- "support_tier": "none",
- "custom_integrations": true,
- "dedicated_account_manager": true,
- "onboarding_training": true,
- "is_paid": true,
- "subscription_period": "monthly",
- "payment_provider": "string",
- "payment_provider_plan_id": "string",
- "payment_provider_subscription_id": "string"
}, - "created_by_user_id": "209f54c4-4c33-43bc-9c6a-ef4c65ad7473",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "projects": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "visibility": "account",
- "default": true,
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "membership_role_id": "8c6767c0-479c-4ff3-885e-81c5013f6422",
- "membership_role": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}, - "last_used_at": "2019-08-24T14:15:22Z"
}
]
}, - "insights": {
- "hasProducts": true,
- "showDocuments": true
}, - "account_permissions": [
- "string"
]
}
}| memberId required | string <uuid> |
| display_name | string |
| avatar_url | string |
| job_title | string |
| color | string |
| timezone | string |
| preferences | object |
{- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "preferences": { }
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "user_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone": "string",
- "phone_verified": true,
- "avatar_url": "string",
- "color": "string",
- "auth_source": "string",
- "preferences": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "role": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}
}| memberId required | string <uuid> |
| token required | string |
| platform | string Enum: "ios" "android" "web" |
{- "token": "string",
- "platform": "ios"
}| scope_type | string (MembershipScopeType) Enum: "project" "product" "workstream" "document" |
| scope_id | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "scope_type": "project",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f",
- "workstream_access_type": "all",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| member_id required | string <uuid> |
| role_id | string <uuid> |
| scope_type required | string (MembershipScopeType) Enum: "project" "product" "workstream" "document" |
| scope_id required | string <uuid> |
| workstream_access_type | string Enum: "all" "selected" |
{- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "scope_type": "project",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f",
- "workstream_access_type": "all"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "scope_type": "project",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f",
- "workstream_access_type": "all",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| membershipId required | string <uuid> |
| role_id | string <uuid> |
| workstream_access_type | string Enum: "all" "selected" |
{- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "workstream_access_type": "all"
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| description | string |
| scope_type required | string (RoleScopeType) Enum: "account" "project" "product" |
| type | string (RoleType) Enum: "internal" "external" |
| color | string |
{- "name": "string",
- "description": "string",
- "scope_type": "account",
- "type": "internal",
- "color": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}| accountRoleId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "scope_type": "account",
- "type": "internal",
- "default": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "permission_key": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "visibility": "account",
- "default": true,
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| color | string |
| visibility | string Enum: "account" "members" |
| preferences | object |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
| enabled_cycle_categories | Array of strings Items Enum: "phase" "release" "sprint" "milestone" |
Array of objects Additional existing account members to add to the newly created project | |
Array of objects Custom project-scoped roles to create alongside the project. Role names matching a default role (ADMIN, MEMBER, GUEST) are ignored. |
{- "name": "string",
- "color": "string",
- "visibility": "account",
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "enabled_cycle_categories": [
- "phase"
], - "members": [
- {
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "role": "string"
}
], - "roles": [
- {
- "name": "string",
- "description": "string",
- "permission_keys": [
- "string"
]
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "visibility": "account",
- "default": true,
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "visibility": "account",
- "default": true,
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| projectId required | string <uuid> |
| name | string |
| visibility | string Enum: "account" "members" |
| preferences | object |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
{- "name": "string",
- "visibility": "account",
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}| projectId required | string <uuid> |
| category required | string Enum: "phase" "release" "sprint" |
| project_cycle_id required | string or null <uuid> The project cycle to mark as current for this category, or null to clear it. |
{- "category": "phase",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "visibility": "account",
- "default": true,
- "preferences": { },
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "entity_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "workstream",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "order": 0,
- "stage_type": "backlog",
- "workflow_template_id": "88ac5e9d-338d-4e25-9346-fb5a807fedcf",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "approvers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": null,
- "name": null,
- "description": null,
- "entity_id": null,
- "allowed_participants": [ ],
- "created_by_member_id": null,
- "created_at": null,
- "updated_at": null
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "start_event_name": "string",
- "start_event_key": "string",
- "start_event_is_system": true,
- "end_event_name": "string",
- "end_event_key": "string",
- "end_event_is_system": true
}
]
}
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a new Entity (type "workstream") and a Workstream pointing to it, in one call. There is no way to attach a Workstream to an already-existing Entity.
| project_id required | string <uuid> |
| name required | string |
| description | string or null |
required | object |
{- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "name": "string",
- "description": "string",
- "workflow_template": {
- "stages": [
- {
- "name": "string",
- "description": "string",
- "stage_type": "backlog",
- "color": "string"
}
]
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "entity_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "workstream",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "order": 0,
- "stage_type": "backlog",
- "workflow_template_id": "88ac5e9d-338d-4e25-9346-fb5a807fedcf",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "approvers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- null
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "start_event_name": "string",
- "start_event_key": "string",
- "start_event_is_system": true,
- "end_event_name": "string",
- "end_event_key": "string",
- "end_event_is_system": true
}
]
}
}
}
}| workstreamId required | string <uuid> |
{ }{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "entity_details": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "workstream",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "order": 0,
- "stage_type": "backlog",
- "workflow_template_id": "88ac5e9d-338d-4e25-9346-fb5a807fedcf",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "approvers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- null
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "start_event_name": "string",
- "start_event_key": "string",
- "start_event_is_system": true,
- "end_event_name": "string",
- "end_event_key": "string",
- "end_event_is_system": true
}
]
}
}
}
}| workstreamId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| workstreamId required | string <uuid> |
| name required | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| workstreamId required | string <uuid> |
| typeId required | string <uuid> |
| name | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| project_id | string <uuid> |
| workstream_id | string <uuid> |
| assigned_to_member_id | string <uuid> |
| participant_member_id | string <uuid> Matches tasks where the given member_id is a task_user_participant (in addition to, not instead of, assigned_to_member_id). |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| type | string (TaskType) Enum: "bundle" "task" "subtask" |
| project_cycle_id | string A |
| milestone_id | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| title required | string |
| description | string |
| type | string (TaskType) Enum: "bundle" "task" "subtask" |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| project_id required | string <uuid> |
| entity_id required | string <uuid> |
| assigned_to_member_id | string <uuid> |
| parent_id | string or null <uuid> |
| project_cycle_id | string or null <uuid> |
| milestone_id | string or null <uuid> |
| feature_id | string or null <uuid> |
| due_at | string <date-time> |
| roadmap_item_id | string <uuid> |
| source_id | string |
| source_type | string |
| source_metadata | object |
Array of objects (RequirementDocument) | |
Array of objects (CustomFieldValueInput) |
{- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "source_id": "string",
- "source_type": "string",
- "source_metadata": { },
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}context (source_id/source_type/source_metadata) applies to every task in the batch —
unlike POST /tasks, per-task source_id/source_type/source_metadata and
custom_fields aren't supported here.
Array of objects | |
object Applied to every task in the batch. |
{- "tasks": [
- {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "type": "bundle",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "labels": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
], - "context": {
- "source_id": "string",
- "source_type": "string",
- "source_metadata": { }
}
}Applies the same field updates to every task in task_ids. Each task is processed
independently — permission (task.update, scoped per task's project) and update
errors are per-task and don't block the rest of the batch. The response is an array
with one entry per requested task, in order, reporting per-task success or failure.
| task_ids required | Array of strings <uuid> [ items <uuid > ] |
| title | string |
| description | string or null |
| type | string (TaskType) Enum: "bundle" "task" "subtask" |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| assigned_to_member_id | string or null <uuid> |
| due_at | string or null <date-time> |
| resolved_at | string or null <date-time> |
| project_cycle_id | string or null <uuid> |
| milestone_id | string or null <uuid> |
| roadmap_item_id | string or null |
| feature_id | string or null |
| parent_id | string or null |
{- "task_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "string",
- "feature_id": "string",
- "parent_id": "string"
}{- "data": [
- {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "success": true,
- "task": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "error": "string"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Moves every task in task_ids to workflow_template_stage_id. Each task is
processed independently through the same stage-condition and approval checks as
POST /tasks/{taskId}/workflow_stages (see that endpoint's description) — one
task's failure (missing permission, unmet conditions, unmet approvals) does not
block or roll back the others. The response is an array with one entry per
requested task, in order, reporting per-task success or failure.
| task_ids required | Array of strings <uuid> [ items <uuid > ] |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| start_event_note | string Free-text note attached to the newly-entered stage's start event, if the target stage has one configured. |
| end_event_note | string Free-text note attached to the previous stage's end event, if it has one configured. |
| bypass_approvals | boolean Requires the |
{- "task_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "start_event_note": "string",
- "end_event_note": "string",
- "bypass_approvals": true
}{- "data": [
- {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "success": true,
- "task": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "error": "string",
- "status": 0
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| taskId required | string <uuid> |
| title | string |
| description | string |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| assigned_to_member_id | string <uuid> |
| due_at | string <date-time> |
| project_cycle_id | string or null <uuid> |
| milestone_id | string or null <uuid> |
| feature_id | string or null <uuid> |
{- "title": "string",
- "description": "string",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_at": "2019-08-24T14:15:22Z",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50"
}| taskId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "content": "string",
- "author_member_id": "4a7d22bb-e8d8-4ea0-8227-dec7ee17e089",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "tasklet_id": "80ac0a1c-81a6-490a-b5a2-29c95422c54c",
- "idea_id": "513dcbd6-3206-4305-8a7e-8651161eebfb",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| taskId required | string <uuid> |
| content required | string |
{- "content": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "content": "string",
- "author_member_id": "4a7d22bb-e8d8-4ea0-8227-dec7ee17e089",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "tasklet_id": "80ac0a1c-81a6-490a-b5a2-29c95422c54c",
- "idea_id": "513dcbd6-3206-4305-8a7e-8651161eebfb",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| taskId required | string <uuid> |
| label_ids required | Array of strings <uuid> [ items <uuid > ] |
{- "label_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}Moves the task to workflow_template_stage_id. Before the move is applied, the backend:
/entity-workflow-templates/{workflowTemplateId}/entity-workflow-template-stages/{workflowTemplateStageId}/conditions).
If any condition fails, responds 422 with the list of failures — this check cannot be bypassed..../approvers endpoint)
and whether they've all approved (see GET .../workflow_stages/{stageId}/approvals). If approvals are
missing, responds 422 unless bypass_approvals: true is sent — bypassing requires the
task.stage.bypass_approval permission, otherwise responds 403.| taskId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| start_event_note | string Free-text note attached to the newly-entered stage's start event, if the target stage has one configured. |
| end_event_note | string Free-text note attached to the previous stage's end event, if it has one configured. |
| bypass_approvals | boolean Requires the |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "start_event_note": "string",
- "end_event_note": "string",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Returns one entry per participation type required to approve entry into this stage, whether it's satisfied, and by whom.
| taskId required | string <uuid> |
| stageId required | string <uuid> |
{- "data": [
- {
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "name": "string",
- "satisfied": true,
- "approvals": [
- {
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "approved_at": "2019-08-24T14:15:22Z"
}
], - "requested": true,
- "requested_by_member_id": "63fea44b-a845-4ce1-86fb-a1173ddcec3b",
- "requested_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Records approval on behalf of entity_user_participation_type_id. The approving member must
hold that participation type on this task (via the task's participants) and the participation
type must be configured as a required approver for the stage, otherwise 403/400.
| taskId required | string <uuid> |
| stageId required | string <uuid> |
| entity_user_participation_type_id required | string <uuid> |
| comment | string or null |
{- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "comment": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "approved_by_member_id": "b99944fd-9560-4338-afdc-b1ed80317035",
- "comment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Read-only dry run of the two checks POST .../workflow_stages performs before moving a task:
stage-entry conditions (evaluateConditions) and required-approver satisfaction
(getApprovalStatus). Does not move the task or record anything. eligible is true only
when both stage_conditions.passed is true and every entry in approvals is satisfied.
Note that bypass_approvals (available on the actual move endpoint) is not reflected here —
this reports the unbypassed eligibility.
| taskId required | string <uuid> |
| stageId required | string <uuid> |
{- "data": {
- "eligible": true,
- "stage_conditions": {
- "passed": true,
- "failures": [
- {
- "condition": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "field_source": "custom_field",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "task_field": "string",
- "operator": "equals",
- "value": null,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "actual_value": null,
- "reason": "string"
}
]
}, - "approvals": [
- {
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "name": "string",
- "satisfied": true,
- "approvals": [
- {
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "approved_at": "2019-08-24T14:15:22Z"
}
], - "requested": true,
- "requested_by_member_id": "63fea44b-a845-4ce1-86fb-a1173ddcec3b",
- "requested_at": "2019-08-24T14:15:22Z"
}
]
}
}| taskId required | string <uuid> |
| member_id required | string <uuid> |
| participation_type_id | string <uuid> |
{- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "participation_type_id": "126528fa-07da-43d8-8f06-0346eb2ecc74"
}Returns links in both directions: rows where this task is the source (direction: outgoing,
link_type as stored) and rows where it's the target (direction: incoming). The scheduling
types (finish_to_start, start_to_start, start_to_finish, finish_to_finish) keep the same
link_type in both directions — use direction to tell predecessor from successor. duplicates
inverts to is_duplicated_by; relates_to stays relates_to.
| taskId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "link_type": "string",
- "direction": "outgoing",
- "task": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a directional link from this task to linked_task_id of type link_type. Both tasks
must belong to the caller's account. Fails 400 if linked_task_id is the same task, 404 if
it doesn't exist in this account, and 409 if this exact (task, linked task, type) link already
exists.
| taskId required | string <uuid> |
| linked_task_id required | string <uuid> |
| link_type required | string (TaskLinkType) Enum: "finish_to_start" "start_to_start" "start_to_finish" "finish_to_finish" "duplicates" "relates_to" |
{- "linked_task_id": "f058b6f0-fc6a-463d-9ff4-7b21347211ea",
- "link_type": "finish_to_start"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "link_type": "string",
- "direction": "outgoing",
- "task": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z"
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "body": "string",
- "status": "open",
- "priority": "low",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "due_at": "2019-08-24T14:15:22Z",
- "snooze_until": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "resolved_by_member_id": "a8c87071-513f-47db-bb36-6c92b81e8f6f",
- "external_source": "string",
- "external_id": "string",
- "external_url": "string",
- "created_via": "slack",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| title required | string |
| body | string |
| task_id | string <uuid> |
| assigned_to_member_id | string <uuid> |
| priority | string (TaskletPriority) Enum: "low" "medium" "high" "critical" |
| due_at | string <date-time> |
{- "title": "string",
- "body": "string",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "priority": "low",
- "due_at": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "body": "string",
- "status": "open",
- "priority": "low",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "due_at": "2019-08-24T14:15:22Z",
- "snooze_until": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "resolved_by_member_id": "a8c87071-513f-47db-bb36-6c92b81e8f6f",
- "external_source": "string",
- "external_id": "string",
- "external_url": "string",
- "created_via": "slack",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| id required | string <uuid> |
| title | string |
| body | string |
| status | string (TaskletStatus) Enum: "open" "done" "snoozed" "cancelled" |
| priority | string (TaskletPriority) Enum: "low" "medium" "high" "critical" |
| assigned_to_member_id | string <uuid> |
| due_at | string <date-time> |
| snooze_until | string <date-time> |
{- "title": "string",
- "body": "string",
- "status": "open",
- "priority": "low",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_at": "2019-08-24T14:15:22Z",
- "snooze_until": "2019-08-24T14:15:22Z"
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "votes": [
- {
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "vote_type": "up",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| title required | string |
| description | string |
| product_id required | string <uuid> |
{- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "votes": [
- {
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "vote_type": "up",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| product_id required | string <uuid> |
| start_date | string <date-time> |
| end_date | string <date-time> |
{- "name": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| initiativeId required | string <uuid> |
| name | string |
| start_date | string <date-time> |
| end_date | string <date-time> |
{- "name": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "objective_cycle_id": "cfbba3a3-49ce-46d7-91a7-216179217e20",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "key_results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "objective_id": "a5f9b33c-8c7c-450f-8b99-e52aa06d137d",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "metric_type": "number",
- "target_value": 0,
- "current_value": 0,
- "baseline_value": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| title required | string |
| description | string |
| product_id required | string <uuid> |
| objective_cycle_id required | string <uuid> |
{- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "objective_cycle_id": "cfbba3a3-49ce-46d7-91a7-216179217e20"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "objective_cycle_id": "cfbba3a3-49ce-46d7-91a7-216179217e20",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "key_results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "objective_id": "a5f9b33c-8c7c-450f-8b99-e52aa06d137d",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "metric_type": "number",
- "target_value": 0,
- "current_value": 0,
- "baseline_value": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| objectiveId required | string <uuid> |
| title required | string |
| description | string |
| metric_type required | string (KeyResultMetricType) Enum: "number" "percentage" "currency" |
| target_value required | number |
| current_value | number |
| baseline_value | number |
{- "title": "string",
- "description": "string",
- "metric_type": "number",
- "target_value": 0,
- "current_value": 0,
- "baseline_value": 0
}| objectiveId required | string <uuid> |
| keyResultId required | string <uuid> |
| title required | string |
| description | string |
| metric_type required | string (KeyResultMetricType) Enum: "number" "percentage" "currency" |
| target_value required | number |
| current_value | number |
| baseline_value | number |
{- "title": "string",
- "description": "string",
- "metric_type": "number",
- "target_value": 0,
- "current_value": 0,
- "baseline_value": 0
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| product_id required | string <uuid> |
| start_date | string <date-time> |
| end_date | string <date-time> |
{- "name": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}| objectiveCycleId required | string <uuid> |
| name | string |
| start_date | string <date-time> |
| end_date | string <date-time> |
{- "name": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z"
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "owner_member_id": "b0a041db-c5b2-49a1-b3f7-48acec826805",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "logo_url": "string",
- "visibility": "account",
- "links": [
- {
- "type": "string",
- "url": "string",
- "typeId": "string"
}
], - "context": {
- "vision": "string",
- "goals": "string",
- "target_audience": "string",
- "problem_statement": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| description | string |
| logo_url | string |
| visibility | string Enum: "account" "members" |
| owner_member_id | string <uuid> |
Array of objects (ProductLink) | |
object (ProductContext) |
{- "name": "string",
- "description": "string",
- "logo_url": "string",
- "visibility": "account",
- "owner_member_id": "b0a041db-c5b2-49a1-b3f7-48acec826805",
- "links": [
- {
- "type": "string",
- "url": "string",
- "typeId": "string"
}
], - "context": {
- "vision": "string",
- "goals": "string",
- "target_audience": "string",
- "problem_statement": "string"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "owner_member_id": "b0a041db-c5b2-49a1-b3f7-48acec826805",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "logo_url": "string",
- "visibility": "account",
- "links": [
- {
- "type": "string",
- "url": "string",
- "typeId": "string"
}
], - "context": {
- "vision": "string",
- "goals": "string",
- "target_audience": "string",
- "problem_statement": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "owner_member_id": "b0a041db-c5b2-49a1-b3f7-48acec826805",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "logo_url": "string",
- "visibility": "account",
- "links": [
- {
- "type": "string",
- "url": "string",
- "typeId": "string"
}
], - "context": {
- "vision": "string",
- "goals": "string",
- "target_audience": "string",
- "problem_statement": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| productId required | string <uuid> |
| name | string |
| description | string |
| logo_url | string |
| visibility | string Enum: "account" "members" |
| owner_member_id | string <uuid> |
Array of objects (ProductLink) | |
object (ProductContext) |
{- "name": "string",
- "description": "string",
- "logo_url": "string",
- "visibility": "account",
- "owner_member_id": "b0a041db-c5b2-49a1-b3f7-48acec826805",
- "links": [
- {
- "type": "string",
- "url": "string",
- "typeId": "string"
}
], - "context": {
- "vision": "string",
- "goals": "string",
- "target_audience": "string",
- "problem_statement": "string"
}
}| productId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| productId required | string <uuid> |
| title required | string |
| description | string |
{- "title": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| productId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "initiative_id": "0a7d3437-c543-4aeb-80b3-0a1ef16d2ec1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "roadmap_planned_start_date": "2019-08-24T14:15:22Z",
- "roadmap_planned_end_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_start_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_end_date": "2019-08-24T14:15:22Z",
- "roadmap_estimated_start_date": "2019-08-24T14:15:22Z",
- "roadmap_estimated_end_date": "2019-08-24T14:15:22Z",
- "audience": [
- "string"
], - "source": [
- "string"
], - "confidence": 0,
- "effort": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| productId required | string <uuid> |
| title required | string |
| description | string |
| feature_id | string <uuid> |
| initiative_id | string <uuid> |
| roadmap_planned_start_date | string <date-time> |
| roadmap_planned_end_date | string <date-time> |
| audience | Array of strings |
| confidence | integer |
| effort | integer |
{- "title": "string",
- "description": "string",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "initiative_id": "0a7d3437-c543-4aeb-80b3-0a1ef16d2ec1",
- "roadmap_planned_start_date": "2019-08-24T14:15:22Z",
- "roadmap_planned_end_date": "2019-08-24T14:15:22Z",
- "audience": [
- "string"
], - "confidence": 0,
- "effort": 0
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "initiative_id": "0a7d3437-c543-4aeb-80b3-0a1ef16d2ec1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "roadmap_planned_start_date": "2019-08-24T14:15:22Z",
- "roadmap_planned_end_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_start_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_end_date": "2019-08-24T14:15:22Z",
- "roadmap_estimated_start_date": "2019-08-24T14:15:22Z",
- "roadmap_estimated_end_date": "2019-08-24T14:15:22Z",
- "audience": [
- "string"
], - "source": [
- "string"
], - "confidence": 0,
- "effort": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| productId required | string <uuid> |
| roadmapItemId required | string <uuid> |
| title | string |
| description | string |
| feature_id | string or null <uuid> |
| initiative_id | string or null <uuid> |
| roadmap_planned_start_date | string <date-time> |
| roadmap_planned_end_date | string <date-time> |
| roadmap_actual_start_date | string <date-time> |
| roadmap_actual_end_date | string <date-time> |
| confidence | integer |
| effort | integer |
{- "title": "string",
- "description": "string",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "initiative_id": "0a7d3437-c543-4aeb-80b3-0a1ef16d2ec1",
- "roadmap_planned_start_date": "2019-08-24T14:15:22Z",
- "roadmap_planned_end_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_start_date": "2019-08-24T14:15:22Z",
- "roadmap_actual_end_date": "2019-08-24T14:15:22Z",
- "confidence": 0,
- "effort": 0
}| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "phase",
- "label": "string",
- "color": "string",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "parent_project_cycle_id": "004a3774-9f56-4dc7-9d8e-a0fb64154480",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| project_id required | string <uuid> |
| category required | string Enum: "phase" "release" "sprint" |
| label required | string |
| color | string or null |
| description | string or null |
| start_date required | string <date-time> |
| end_date required | string <date-time> |
| parent_project_cycle_id | string or null <uuid> |
{- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "category": "phase",
- "label": "string",
- "color": "string",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "parent_project_cycle_id": "004a3774-9f56-4dc7-9d8e-a0fb64154480"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "phase",
- "label": "string",
- "color": "string",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "parent_project_cycle_id": "004a3774-9f56-4dc7-9d8e-a0fb64154480",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
}| projectCycleId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "phase",
- "label": "string",
- "color": "string",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "parent_project_cycle_id": "004a3774-9f56-4dc7-9d8e-a0fb64154480",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
}| projectCycleId required | string <uuid> |
| label | string |
| color | string or null |
| description | string or null |
| start_date | string <date-time> |
| end_date | string <date-time> |
| parent_project_cycle_id | string or null <uuid> |
{- "label": "string",
- "color": "string",
- "description": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "parent_project_cycle_id": "004a3774-9f56-4dc7-9d8e-a0fb64154480"
}| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "target_date": "2019-08-24T14:15:22Z",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| project_id required | string <uuid> |
| title required | string |
| target_date required | string <date-time> |
| description | string or null |
{- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "title": "string",
- "target_date": "2019-08-24T14:15:22Z",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "target_date": "2019-08-24T14:15:22Z",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "target_date": "2019-08-24T14:15:22Z",
- "description": "string",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}
}| milestoneId required | string <uuid> |
| title | string |
| target_date | string <date-time> |
| description | string or null |
{- "title": "string",
- "target_date": "2019-08-24T14:15:22Z",
- "description": "string"
}Each document's title/content/context/type/status/version reflect its current published version.
| project_id | string <uuid> |
| product_id | string <uuid> |
| type | string (DocumentType) Enum: "general" "feedback" "requirement" |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "visibility": "public",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates the document with version 1, published immediately.
| title required | string |
| content | string or null |
| type | string (DocumentType) Enum: "general" "feedback" "requirement" |
| project_id | string or null <uuid> |
| product_id | string or null <uuid> |
| context | object |
{- "title": "string",
- "content": "string",
- "type": "general",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "context": { }
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "visibility": "public",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z"
}
}Returns the document's current published version.
| documentId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "visibility": "public",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z"
}
}Edits the current published version's fields in place. This does not create a new version or change the version number — for that, use POST /documents/{documentId}/versions. project_id/product_id are container fields on the document itself and update the same way either way.
| documentId required | string <uuid> |
| title | string |
| content | string |
| type | string (DocumentType) Enum: "general" "feedback" "requirement" |
| project_id | string or null <uuid> |
| product_id | string or null <uuid> |
| context | object |
{- "title": "string",
- "content": "string",
- "type": "general",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "context": { }
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "visibility": "public",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z"
}
}Includes the current published version plus all archived (superseded) versions, newest version number first.
| documentId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Archives the current published version and creates the next one (version + 1), published immediately. All fields are optional and default to the current version's values if omitted, so calling this with an empty body is a pure snapshot/clone; passing any of them sets the new version's content in the same call instead of requiring a follow-up PATCH.
| documentId required | string <uuid> |
| title | string |
| content | string |
| type | string (DocumentType) Enum: "general" "feedback" "requirement" |
| context | object |
{- "title": "string",
- "content": "string",
- "type": "general",
- "context": { }
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "visibility": "public",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z"
}
}| documentId required | string <uuid> |
| versionId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "version": 0,
- "status": "published",
- "title": "string",
- "content": "string",
- "context": { },
- "type": "general",
- "edited_by_member_id": "fb37617b-3b09-48e7-987d-9fad202db276",
- "published_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "subject_type": "string",
- "subject_id": "80e197be-61ad-4068-b4ff-a483fb5c18f9",
- "subject_version": "string",
- "scope_type": "string",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f",
- "acknowledged_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| subject_type required | string |
| subject_id required | string <uuid> |
| subject_version required | string |
| scope_type | string or null |
| scope_id | string or null <uuid> |
{- "subject_type": "string",
- "subject_id": "80e197be-61ad-4068-b4ff-a483fb5c18f9",
- "subject_version": "string",
- "scope_type": "string",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "subject_type": "string",
- "subject_id": "80e197be-61ad-4068-b4ff-a483fb5c18f9",
- "subject_version": "string",
- "scope_type": "string",
- "scope_id": "5d3fe357-12dd-4f62-b004-6d1fb3b8454f",
- "acknowledged_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| title required | string |
| description | string |
| project_id | string or null <uuid> |
| product_id | string or null <uuid> |
| status | string Enum: "draft" "published" "closed" |
| success_message | string |
Array of objects (FormField) |
{- "title": "string",
- "description": "string",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| form_id required | string <uuid> |
| title | string |
| description | string |
| status | string Enum: "draft" "published" "closed" |
| success_message | string |
Array of objects (FormField) |
{- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
]
}| form_id required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "respondent_info": { },
- "response": { },
- "source": "string",
- "metadata": { },
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Authenticated counterpart to POST /public/forms/{form_id}/responses. That endpoint is for anonymous external submissions (e.g. a customer feedback form) and never links to a resource. This one is for a logged-in member executing a form against a resource they're looking at -- e.g. an SOP checklist (see SopTemplate) executed against a maintenance request or housekeeping task -- so it records who submitted it and what it's attached to, and can fire the form_response_submitted Automation trigger.
response is validated against the form's fields (required fields enforced, respecting conditional visibility) the same way the public endpoint validates it.
| form_id required | string <uuid> |
| response required | object field id -> submitted value, keyed by the form's FormField.id. |
| resource_type | string or null Value: "task" When set (with resource_id), also dispatches the form_response_submitted Automation trigger for that task's entity_type. |
| resource_id | string or null <uuid> |
{- "response": { },
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "respondent_info": { },
- "response": { },
- "source": "string",
- "metadata": { },
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| resource_type | string When set, excludes fields whose resource_types is non-empty and doesn't include this value. |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| key required | string |
| description | string |
| field_type required | string (CustomFieldType) Enum: "text" "number" "date" "boolean" "select" "multi_select" "url" "email" "phone" "money" "member" "form" "workstream" "project" "customer" "customer.person" |
object (CustomFieldConfig) | |
| resource_types | Array of strings or null Enum: "task" "deal" "customer" "product" "invoice" Restricts which resource types this field can attach to (e.g. ["deal"]). Omit/null to apply to all resource types. |
| is_required | boolean |
| show_on_pdf | boolean When true, renders this field's value on generated PDFs for resources that support them (currently only Invoice). Defaults to false. |
{- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "show_on_pdf": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customFieldId required | string <uuid> |
| name | string |
| description | string |
object (CustomFieldConfig) | |
| resource_types | Array of strings or null Enum: "task" "deal" "customer" "product" "invoice" |
| is_required | boolean |
| show_on_pdf | boolean When true, renders this field's value on generated PDFs for resources that support them (currently only Invoice). Defaults to false. |
| is_active | boolean |
{- "name": "string",
- "description": "string",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "show_on_pdf": true,
- "is_active": true
}| workflowTemplateId required | string <uuid> |
| stage_ids | Array of strings <uuid> [ items <uuid > ] |
{- "stage_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}start_event_key/end_event_key (and start_event_name/end_event_name) must each be
unique across every stage's start/end event in this workflow template. is_system is never
client-settable -- system events are seeded internally (e.g. the "Delivered" event on a
delivery workflow's "done" stage).
| workflowTemplateId required | string <uuid> |
| name required | string |
| description | string |
| color | string |
| start_event_name | string or null |
| start_event_key | string or null Stable identifier for the stage's start event, unique across the workflow template. |
| end_event_name | string or null |
| end_event_key | string or null Stable identifier for the stage's end event, unique across the workflow template. |
{- "name": "string",
- "description": "string",
- "color": "string",
- "start_event_name": "string",
- "start_event_key": "string",
- "end_event_name": "string",
- "end_event_key": "string"
}| workflowTemplateId required | string <uuid> |
| workflowTemplateStageId required | string <uuid> |
| name | string |
| description | string |
| color | string |
| start_event_name | string or null |
| start_event_key | string or null |
| end_event_name | string or null |
| end_event_key | string or null |
{- "name": "string",
- "description": "string",
- "color": "string",
- "start_event_name": "string",
- "start_event_key": "string",
- "end_event_name": "string",
- "end_event_key": "string"
}Returns the built-in task fields plus the account's active custom fields, each with its data type and the condition operators valid for that data type. Use this to build the condition-builder UI.
| workflowTemplateId required | string <uuid> |
{- "data": [
- {
- "source": "custom_field",
- "field": "string",
- "label": "string",
- "data_type": "text",
- "options": [
- {
- "id": "string",
- "label": "string"
}
], - "allowed_operators": [
- "equals"
]
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| workflowTemplateId required | string <uuid> |
| workflowTemplateStageId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "field_source": "custom_field",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "task_field": "string",
- "operator": "equals",
- "value": null,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}A task can only move into this stage once all of its conditions are satisfied (see
POST /tasks/{taskId}/workflow_stages). The operator must be valid for the target
field's data type — fetch valid fields/operators from GET .../condition-fields first.
| workflowTemplateId required | string <uuid> |
| workflowTemplateStageId required | string <uuid> |
| field_source required | string (StageConditionFieldSource) Enum: "custom_field" "task_field" |
| custom_field_id | string <uuid> Required when field_source is custom_field. |
| task_field | string Required when field_source is task_field. One of the fields returned by GET /entity-workflow-templates/{workflowTemplateId}/condition-fields. |
| operator required | string (StageConditionOperator) Enum: "equals" "not_equals" "contains" "not_contains" "is_empty" "is_not_empty" "gt" "gte" "lt" "lte" "in" "not_in" |
| value | any |
{- "field_source": "custom_field",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "task_field": "string",
- "operator": "equals",
- "value": null
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "field_source": "custom_field",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "task_field": "string",
- "operator": "equals",
- "value": null,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| workflowTemplateId required | string <uuid> |
| workflowTemplateStageId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Once one or more approvers are configured for a stage, a task cannot move into that stage until
a member holding each required participation type on the task has approved via
POST /tasks/{taskId}/workflow_stages/{stageId}/approvals (or the mover has the
task.stage.bypass_approval permission).
| workflowTemplateId required | string <uuid> |
| workflowTemplateStageId required | string <uuid> |
| entity_user_participation_type_id required | string <uuid> |
{- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Returns every entity (workstream, bundle, and deal_pipeline) the account can create tasks against, each with its workflow_template and stages (including each stage's required approvers) nested.
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "workstream",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "color": "string",
- "order": 0,
- "stage_type": "backlog",
- "workflow_template_id": "88ac5e9d-338d-4e25-9346-fb5a807fedcf",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "approvers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "participation_type": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- null
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "start_event_name": "string",
- "start_event_key": "string",
- "start_event_is_system": true,
- "end_event_name": "string",
- "end_event_key": "string",
- "end_event_is_system": true
}
]
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Works for any entity type, including the singleton entities backing procurement/deal/facility task workflows (e.g. purchase_requisition, purchase_order, bill, deal_pipeline), not just workstreams. Each type is returned with its allowed_participants nested (empty array means unrestricted).
| entityId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| entityId required | string <uuid> |
| name required | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| entityId required | string <uuid> |
| typeId required | string <uuid> |
| name | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "allowed_participants": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}The configured allow-list of members eligible to be assigned this participation type on a task. An empty list means unrestricted (any account member may be assigned).
| entityId required | string <uuid> |
| typeId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Once one or more allowed participants are configured for a participation type, only those
members may be assigned that type via POST /tasks/{taskId}/participants; the API returns
403 for any other member. Adding the first entry switches the type from unrestricted to restricted.
| entityId required | string <uuid> |
| typeId required | string <uuid> |
| member_id required | string <uuid> |
{- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entity_user_participation_type_id": "23f2e07a-d7b4-45d9-8d71-31226db54e3f",
- "member_id": "435a4844-006a-4cfc-a644-e8eb2dd2ca43",
- "membership": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
- "display_name": "string",
- "avatar_url": "string",
- "job_title": "string",
- "color": "string",
- "timezone": "string",
- "status": "invited",
- "slack_user_id": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Does not retroactively affect members already assigned that participation type on existing tasks.
| entityId required | string <uuid> |
| typeId required | string <uuid> |
| allowedParticipantId required | string <uuid> |
Includes each customer's contacts.
| filter | string
|
| sort_by | string Enum: "name" "status" "created_at" |
| sort_order | string Enum: "asc" "desc" |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Includes the customer's contacts in the response.
Optionally accepts a contacts array to create contacts in the same request. An individual
customer can have at most one contact: the request is rejected with a 400 if type is (or
defaults to) individual and more than one contact is supplied.
| name required | string |
| type | string Default: "business" Enum: "business" "individual" An individual customer can have at most one contact. Defaults to |
| status | string Defaults to the first entry in the account's customer_status_options if omitted. |
| preferences | object |
object Shallow-merged into preferences.billing_details; lets callers set billing fields without resending the whole preferences object. | |
| customer_account_id | string <uuid> |
Array of objects Contacts to create alongside this customer. |
{- "name": "string",
- "type": "business",
- "status": "string",
- "preferences": { },
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}, - "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "contacts": [
- {
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Purely a config write — does not alter the status field on already-created customers.
| statuses required | Array of strings non-empty |
{- "statuses": [
- "string"
]
}{- "data": {
- "statuses": [
- "string"
]
}
}Includes the customer's contacts.
| customerId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Includes the customer's contacts in the response.
Optionally accepts a contacts array to create contacts in the same request — useful when
changing type from individual to business and adding contacts at the same time. An
individual customer can have at most one contact: the request is rejected with a 400 if
applying type and contacts together (accounting for any contacts the customer already
has) would leave an individual customer with more than one contact.
| customerId required | string <uuid> |
| name | string |
| type | string Enum: "business" "individual" |
| status | string or null |
| preferences | object |
object Shallow-merged into preferences.billing_details; lets callers set billing fields without resending the whole preferences object. | |
Array of objects Contacts to create alongside this update. |
{- "name": "string",
- "type": "business",
- "status": "string",
- "preferences": { },
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}, - "contacts": [
- {
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Only customers with type "unknown" (auto-created from an unrecognized inbound WhatsApp
sender) can be merged. If target_contact_id is given, the unknown customer's contact
methods (e.g. its WhatsApp phone number) are folded into that existing contact and the
unknown customer's own contact is removed; otherwise the unknown customer's contact is
re-parented onto the target customer as a new contact (rejected with 400 if the target is
an "individual" customer that would end up with more than one contact). All of the unknown
customer's CustomerInteraction and WhatsappMessage history is re-pointed to the target
customer so nothing is lost, then the unknown customer record is deleted. Returns the
updated target customer with its contacts.
| customerId required | string <uuid> |
| target_customer_id required | string <uuid> The existing customer to merge this "unknown" customer into. |
| target_contact_id | string <uuid> An existing contact on the target customer to fold this customer's contact methods into. Omit to add this customer's contact as a new contact on the target customer instead. |
{- "target_customer_id": "9a7db571-de2c-4560-a242-b038e423cb7f",
- "target_contact_id": "d21b38de-63b2-4b14-8b04-5c0d17bd89a0"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customerId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}An individual customer can have at most one contact.
| customerId required | string <uuid> |
| first_name required | string |
| last_name required | string |
| role | string or null |
Array of objects (ContactMethod) | |
| is_primary | boolean |
{- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customerId required | string <uuid> |
| contactId required | string <uuid> |
| first_name | string |
| last_name | string |
| role | string or null |
Array of objects (ContactMethod) | |
| is_primary | boolean |
{- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customerId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| customerId required | string <uuid> |
| contact_id | string <uuid> |
| type required | string (CustomerInteractionType) Enum: "call" "email" "meeting" "note" "whatsapp" "instagram" |
| subject | string or null |
| content | string or null |
| occurred_at | string <date-time> |
{- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customerId required | string <uuid> |
| interactionId required | string <uuid> |
| type | string (CustomerInteractionType) Enum: "call" "email" "meeting" "note" "whatsapp" "instagram" |
| subject | string or null |
| content | string or null |
| occurred_at | string <date-time> |
{- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| filter | string
|
| sort_by | string Enum: "name" "created_at" |
| sort_order | string Enum: "asc" "desc" |
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| type | string Default: "business" Enum: "business" "individual" |
| category | string or null Free-text service/supply category (e.g. "hvac_maintenance", "electrician"). No fixed enum. |
| tax_type | string or null |
| tax_id | string or null |
| billing_address | object |
| notes | string or null |
| preferences | object |
Array of objects |
{- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "notes": "string",
- "preferences": { },
- "contacts": [
- {
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Contacts are managed via the dedicated /vendors/{vendorId}/contacts endpoints, not through this endpoint.
| vendorId required | string <uuid> |
| name | string |
| type | string Enum: "business" "individual" |
| category | string or null Free-text service/supply category (e.g. "hvac_maintenance", "electrician"). No fixed enum. |
| tax_type | string or null |
| tax_id | string or null |
| billing_address | object |
| notes | string or null |
| preferences | object |
{- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "notes": "string",
- "preferences": { }
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| vendorId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| vendorId required | string <uuid> |
| first_name required | string |
| last_name required | string |
| role | string or null |
Array of objects (ContactMethod) | |
| is_primary | boolean |
{- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
}| vendorId required | string <uuid> |
| vendorContactId required | string <uuid> |
| first_name | string |
| last_name | string |
| role | string or null |
Array of objects (ContactMethod) | |
| is_primary | boolean |
{- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
}Historical purchase records for materials bought from this vendor, as a union across purchase order line items (line_items JSONB on purchase_order_detail), delivery_line_item, and bill_line_item -- one row per line item, not deduplicated by material. Includes the price paid at the time of purchase (unit_price, normalized to a decimal amount; bill line items store unit_amount_cents which is divided by 100). Purchase orders/deliveries/bills carry their own vendor_id independent of each other (a delivery or bill need not originate from a PO), so all three sources are queried regardless of whether they're linked.
| vendorId required | string <uuid> |
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "material_name": "string",
- "material_sku": "string",
- "source_type": "purchase_order",
- "source_task_id": "b35bfd1f-7440-4b82-b05a-344d469d1482",
- "quantity": 0,
- "unit": "string",
- "unit_price": 0,
- "currency": "string",
- "purchased_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Lists tasks joined with their bill_detail and vendor. Bills all live in the account's single, lazily provisioned "Bills" entity (workflow stages Pending Approval -> Approved -> Cleared).
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- null
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Bills entity (plus its bill_detail row), lazily provisioning the entity and its Pending Approval / Approved / Cleared workflow on first use. vendor_id must refer to a vendor owned by this account. bill_number (our internal number, distinct from vendor_bill_number) is auto-generated from the account's current bill numbering settings (see /bills/settings/numbering) if omitted, snapshotted at creation time.
| title required | string |
| description | string |
| vendor_id required | string <uuid> |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
required | object (Money) |
Array of objects (BillLineItem) | |
| purchase_order_task_id | string or null <uuid> |
| vendor_bill_number | string or null The vendor's own invoice/bill reference number, entered manually. |
| bill_number | string or null Our internal bill number. Auto-generated from account settings if omitted; pass a value to override. |
| bill_date | string or null <date> |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "vendor_bill_number": "string",
- "bill_number": "string",
- "bill_date": "2019-08-24",
- "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters bill_number on already-created bills. Only affects the internally generated bill_number, not vendor_bill_number.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}Returns account-wide stats for the bills overview dashboard: counts and value totals by status (grouped by currency, never summed across currencies), count and value of flagged bills, average clearance time, a breakdown by workflow stage (ordered by stage_order), bills due in the next 14 days that are not yet cleared, and the top 10 highest-value bills that are not yet cleared. Returns zeroed/empty fields if the account has no bill yet (the Bills entity is provisioned lazily on first bill creation).
| filter | string Same |
{- "data": {
- "total_bills": 0,
- "pending_approval_bills": 0,
- "approved_bills": 0,
- "cleared_bills": 0,
- "flagged_bills": 0,
- "pending_approval_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "approved_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "cleared_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "flagged_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "avg_clearance_days": 0,
- "bills_by_stage": [
- {
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "stage_name": "string",
- "stage_order": 0,
- "bill_count": 0,
- "value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
]
}
], - "due_soon": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": null,
- "first_name": null,
- "last_name": null,
- "role": null,
- "contact_methods": [ ],
- "is_primary": null
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "top_open_bills": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": null,
- "first_name": null,
- "last_name": null,
- "role": null,
- "contact_methods": [ ],
- "is_primary": null
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}
}Returns total bill amount for the time range, plus the same total broken down by status
(total_value, pending_approval_value, cleared_value, flagged_value) and grouped two ways:
by_category (stock vs. other_charges, derived from whether each line item carries a material_id)
and by_vendor. Values are grouped by currency, never summed across currencies. Each by_category /
by_vendor group also carries status: the current workflow stage name of the least-progressed
bill in that group (e.g. if any bill in the group is still "Pending Approval", the group's status
is "Pending Approval"), ignoring cancelled bills. Each by_category group also carries
distinct_count (distinct materials for "stock", line item count for "other_charges"), and each
by_vendor group carries material_count (distinct materials across that vendor's bills).
Currently only supported for client_type
site_management, plantops, and venueops -- the requesting account's client_type must match
the path parameter, and the path parameter must currently be site_management, plantops, or
venueops (other client types don't have a defined category grouping yet). Returns zeroed/empty
fields if the account has no bill yet.
| clientType required | string (AccountClientType) Enum: "app" "restora" "site_management" "plantops" "venueops" Must match the requesting account's client_type. Only |
| filter | string Same |
{- "data": {
- "total_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "pending_approval_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "cleared_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "flagged_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "by_category": [
- {
- "category": "stock",
- "value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "status": "string",
- "distinct_count": 0
}
], - "by_vendor": [
- {
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor_name": "string",
- "value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "status": "string",
- "material_count": 0
}
]
}
}Same shape as GET /bills/summary/{clientType}, but scoped to one vendor: total_value,
pending_approval_value, cleared_value, flagged_value (all for this vendor's bills only), plus
by_resource -- grouped by material_id instead of the stock/other_charges split (each distinct
material gets its own row, and all line items with no material_id collapse into a single
"other_charges" row). Values are grouped by currency, never summed across currencies. Each
by_resource group also carries status: the current workflow stage name of the least-progressed
bill in that group, ignoring cancelled bills, and item_count: the number of line items in the
group. Currently only supported for client_type site_management, plantops, and venueops --
the requesting account's client_type must match the path parameter. Returns zeroed/empty fields if
the vendor has no bill yet.
| clientType required | string (AccountClientType) Enum: "app" "restora" "site_management" "plantops" "venueops" Must match the requesting account's client_type. Only |
| vendorId required | string <uuid> |
| filter | string Same |
{- "data": {
- "total_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "pending_approval_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "cleared_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "flagged_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "by_resource": [
- {
- "resource_type": "material",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "material_name": "string",
- "value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "status": "string",
- "item_count": 0
}
]
}
}Same shape as GET /bills/summary/{clientType}/vendor/{vendorId}, but account-wide instead of
scoped to one vendor, and restricted to stock line items: total_value, pending_approval_value,
cleared_value, flagged_value (across all bills matching the filter), plus by_material -- one row
per distinct material_id. Unlike by_resource on the vendor-scoped endpoint, line items with no
material_id ("other_charges") are excluded entirely rather than collapsed into a group. Values are
grouped by currency, never summed across currencies. Each by_material group also carries status:
the current workflow stage name of the least-progressed bill in that group, ignoring cancelled
bills, and item_count: the number of line items tagged with that material_id. Currently only
supported for client_type site_management, plantops, and venueops -- the requesting account's
client_type must match the path parameter. Returns zeroed/empty fields if the account has no bill yet.
| clientType required | string (AccountClientType) Enum: "app" "restora" "site_management" "plantops" "venueops" Must match the requesting account's client_type. Only |
| filter | string Same |
{- "data": {
- "total_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "pending_approval_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "cleared_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "flagged_value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "by_material": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "material_name": "string",
- "value": [
- {
- "amount_cents": 0,
- "currency": "string"
}
], - "status": "string",
- "item_count": 0
}
]
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| billId required | string <uuid> |
| title | string |
| description | string |
| vendor_id | string <uuid> |
| location_id | string or null <uuid> Must refer to a location owned by this account. Pass null to unlink. |
object (Money) | |
Array of objects (BillLineItem) | |
| purchase_order_task_id | string or null <uuid> |
| vendor_bill_number | string or null |
| bill_number | string or null |
| bill_date | string or null <date> |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "vendor_bill_number": "string",
- "bill_number": "string",
- "bill_date": "2019-08-24",
- "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint (same approval/condition rules apply, see
/tasks/{taskId}/workflow_stages). A bill has no separate status field — its current workflow
stage (Pending Approval / Approved / Cleared) is its status. Entering the stage the entity's
system "cleared" event is bound to fires that event (defaults to the "Cleared" stage, but is
user-configurable via the entity's workflow template events).
| billId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the bill.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| billId required | string <uuid> |
| reason | string or null |
{- "reason": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| billId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "bill_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "vendor_bill_number": "string",
- "bill_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "description": "string",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
]
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bill_task_id": "ff42482c-ed67-4b74-a6ba-95d79e993277",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
- "delivery": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "bill_date": "2019-08-24",
- "is_flagged": true,
- "flag_reason": "string",
- "flagged_by_member_id": "25d2780a-086e-47f0-852b-3a70b35bc732",
- "flagged_at": "2019-08-24T14:15:22Z",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "purchase_units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "usage_type": "consumable",
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| sku | string or null |
| base_unit required | string |
| category | string or null |
| reorder_point | number or null |
| usage_type | string Default: "consumable" Enum: "consumable" "reusable" |
{- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "usage_type": "consumable"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "purchase_units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "usage_type": "consumable",
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "purchase_units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "usage_type": "consumable",
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| materialId required | string <uuid> |
| name required | string |
| sku | string or null |
| base_unit required | string |
| category | string or null |
| reorder_point | number or null |
| usage_type | string Default: "consumable" Enum: "consumable" "reusable" |
| is_active | boolean |
{- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "usage_type": "consumable",
- "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "purchase_units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "usage_type": "consumable",
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Soft delete -- sets is_active to false. Materials are referenced by the stock ledger (RESTRICT), so they are never hard-deleted.
| materialId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "sku": "string",
- "base_unit": "string",
- "category": "string",
- "reorder_point": 0,
- "purchase_units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "usage_type": "consumable",
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| materialId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}A material can have any number of purchase units, each with its own conversion_factor. unit must differ from the material's base_unit and be unique for this material.
| materialId required | string <uuid> |
| unit required | string Must differ from the material's base_unit, and be unique per material. |
| conversion_factor required | number Must be > 0. |
{- "unit": "string",
- "conversion_factor": 0
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| materialId required | string <uuid> |
| purchaseUnitId required | string <uuid> |
| unit required | string Must differ from the material's base_unit, and be unique per material. |
| conversion_factor required | number Must be > 0. |
{- "unit": "string",
- "conversion_factor": 0
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "unit": "string",
- "conversion_factor": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Line items that already reference this unit string are unaffected (they store the unit as plain text, not a foreign key) -- but new PO/Delivery line items can no longer use it.
| materialId required | string <uuid> |
| purchaseUnitId required | string <uuid> |
Requires a paid plan (AccountPlan.is_paid) -- see the note on POST /automations.
| entity_type | string Filter to automations targeting this entity_type. |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "entity_type": "string",
- "trigger_type": "stage_entered",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true,
- "is_system": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}The whole Automations API is a paid-plan feature (AccountPlan.is_paid) -- enforced for every session type, including the normal in-app cookie session, not just programmatic (API key/MCP) access.
Validated against the account's actual data, not just shape: entity_type must have an existing workflow template, trigger_config.workflow_template_stage_id (for stage_entered) must be a real stage on it, action types/resources/operations must be ones this API supports, and conditions must reference real task fields or custom fields with operators valid for their data type.
entity_type "booking" is validated differently (see AutomationInput.entity_type): no workflow-template lookup, trigger_type must be booking_status_changed, actions must be generate_booking_operational_tasks, and conditions are rejected outright rather than silently accepted-but-never-evaluated.
| name required | string |
| entity_type required | string Must have an existing entity + workflow template on this account (these are created lazily,
e.g. by the first delivery/PO/deal/maintenance-request/housekeeping-task) -- except
|
| trigger_type required | string (AutomationTriggerType) Enum: "stage_entered" "task_created" "task_updated" "task_deleted" "form_response_submitted" "booking_status_changed" The first four are Task-lifecycle triggers, evaluated for any Task-backed entity_type. The last two are special-cased:
|
object Required | |
(AutomationConditionGroup (object or null)) or (AutomationConditionRule (object or null)) Not supported for entity_type "booking" -- omit, or the request is rejected with a 400. | |
required | Array of objects (AutomationAction) non-empty |
| enabled | boolean Default: true |
{- "name": "string",
- "entity_type": "string",
- "trigger_type": "stage_entered",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "entity_type": "string",
- "trigger_type": "stage_entered",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true,
- "is_system": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| automationId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "entity_type": "string",
- "trigger_type": "stage_entered",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true,
- "is_system": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}entity_type cannot be changed after creation -- create a new automation instead. System automations (is_system) can be updated/disabled like any other.
| automationId required | string <uuid> |
| name | string |
object | |
(AutomationConditionGroup (object or null)) or (AutomationConditionRule (object or null)) A node is either a condition group (logic + rules, up to 5 levels deep) or a single rule (field_source + operator) -- never both. | |
Array of objects (AutomationAction) non-empty | |
| enabled | boolean |
{- "name": "string",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "entity_type": "string",
- "trigger_type": "stage_entered",
- "trigger_config": { },
- "conditions": {
- "logic": "AND",
- "rules": [
- null
]
}, - "actions": [
- {
- "type": "create_stock_transaction",
- "config": { }
}
], - "enabled": true,
- "is_system": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}System automations (is_system) can be deleted like any other -- but note a deleted one may
reappear the next time its underlying entity is lazily re-seeded (e.g. the next delivery
created triggers the delivery-automation seed check again). Use PATCH { enabled: false }
instead if you want the change to stick.
| automationId required | string <uuid> |
Ordered ran_at desc. This is how to answer "did this automation fire, and what happened" -- pending/processing/success/failed/skipped runs are all recorded here. One row per action, not per firing -- an automation with N actions produces N rows per trigger event, correlated by AutomationRun.trigger_group_id (a "skipped" row, with action_type null, is the exception: one row for the whole automation when conditions didn't pass or the hop depth was exceeded).
| automationId required | string <uuid> |
| limit | integer Default: 50 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "automation_id": "64fb5f73-6415-4f56-8e9e-ca06539f09ac",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "trigger_group_id": "9598f91c-8a5e-4f16-9eeb-3c15c53ec36f",
- "status": "pending",
- "action_type": "string",
- "action_config": { },
- "action_index": 0,
- "trigger_snapshot": { },
- "result": { },
- "error": "string",
- "ran_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Flat list of the account's locations. Use parent_id to reconstruct the location breakdown structure client-side.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| parent_id | string or null <uuid> |
| latitude | number or null <float> |
| longitude | number or null <float> |
| type | string or null |
{- "name": "string",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "latitude": 0.1,
- "longitude": 0.1,
- "type": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| locationId required | string <uuid> |
| name required | string |
| parent_id | string or null <uuid> |
| latitude | number or null <float> |
| longitude | number or null <float> |
| type | string or null |
| is_active | boolean |
{- "name": "string",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "latitude": 0.1,
- "longitude": 0.1,
- "type": "string",
- "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Soft delete -- sets is_active to false. Locations are referenced by the stock ledger (RESTRICT) and by child locations.
| locationId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}The raw inventory ledger. Order is transaction_at desc, then created_at desc. Each row's
reference_type/reference_id is hydrated into a reference object -- see
StockTransaction.reference for the shape per reference_type (e.g. a "delivery" reference
includes its purchase_order, purchase_requisition, and vendor).
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "OPENING_BALANCE",
- "purchase_unit": "string",
- "purchase_quantity": 0,
- "purchase_rate": 0,
- "base_unit": "string",
- "base_quantity": 0,
- "base_rate": 0,
- "currency": "string",
- "transaction_at": "2019-08-24T14:15:22Z",
- "reference_type": "string",
- "reference_id": "97c1ff22-6e4f-4821-b1d3-5236781d37b8",
- "reference": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "reason": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Any StockTransaction type can be posted here -- no type is restricted from manual creation,
and no type is restricted by the material's usage_type (e.g. ISSUE/RETURN_TO_STORE and
CONSUMPTION can both be posted for reusable or consumable materials alike). Set
reference_type/reference_id (e.g. "task" + a task id) to record what an ISSUE or
CONSUMPTION was for; leave them null for ad-hoc postings not tied to a specific task. Any
posting that would take a material/location combo negative is rejected unless the account's
preferences.allow_negative_stock is true. Note: RECEIPT rows are also posted automatically
(asynchronously, within about a minute) by the system Automation on the Delivery "Verified"
stage (tagged reference_type=delivery) -- see GET /automations -- posting RECEIPT here
manually for the same delivery would double-count.
| material_id required | string <uuid> |
| location_id | string or null <uuid> |
| type required | string Enum: "OPENING_BALANCE" "RECEIPT" "ISSUE" "CONSUMPTION" "ADJUSTMENT_IN" "ADJUSTMENT_OUT" "WASTAGE" "TRANSFER_IN" "TRANSFER_OUT" "RETURN_TO_SUPPLIER" "RETURN_TO_STORE" Any type can be posted here, including RECEIPT -- but the Delivery "Verified" stage action also auto-posts RECEIPT rows (reference_type=delivery), so only post RECEIPT manually for stock that didn't arrive through a Delivery, to avoid double-counting. Not restricted by the material's usage_type: ISSUE (out, expected back -- pair with RETURN_TO_STORE) and CONSUMPTION (out, permanently used up) can both be posted for any material. |
| purchase_unit | string or null Must resolve to the material's base_unit or one of its configured purchase units. Required together with purchase_quantity; omit both to enter base_quantity directly instead. |
| purchase_quantity | number or null Denominated in purchase_unit. Required if purchase_unit is given. |
| purchase_rate | number or null Price per purchase_unit. |
| base_quantity | number Denominated in the material's base_unit. Required if purchase_unit is not given. |
| base_rate | number or null Price per base_unit. |
| currency | string or null |
| transaction_at required | string <date-time> |
| reference_type | string or null e.g. "task", to record what an ISSUE or CONSUMPTION was for. Optional -- ad-hoc postings can leave this null. |
| reference_id | string or null <uuid> |
| reason | string or null |
| note | string or null |
{- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "OPENING_BALANCE",
- "purchase_unit": "string",
- "purchase_quantity": 0,
- "purchase_rate": 0,
- "base_quantity": 0,
- "base_rate": 0,
- "currency": "string",
- "transaction_at": "2019-08-24T14:15:22Z",
- "reference_type": "string",
- "reference_id": "97c1ff22-6e4f-4821-b1d3-5236781d37b8",
- "reason": "string",
- "note": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "OPENING_BALANCE",
- "purchase_unit": "string",
- "purchase_quantity": 0,
- "purchase_rate": 0,
- "base_unit": "string",
- "base_quantity": 0,
- "base_rate": 0,
- "currency": "string",
- "transaction_at": "2019-08-24T14:15:22Z",
- "reference_type": "string",
- "reference_id": "97c1ff22-6e4f-4821-b1d3-5236781d37b8",
- "reference": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "reason": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Returns SUM(base_quantity) grouped by material_id + location_id. No daily snapshot table -- always derived from the ledger.
| filter | string
|
{- "data": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "base_quantity": "string"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| stockTransactionId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "OPENING_BALANCE",
- "purchase_unit": "string",
- "purchase_quantity": 0,
- "purchase_rate": 0,
- "base_unit": "string",
- "base_quantity": 0,
- "base_rate": 0,
- "currency": "string",
- "transaction_at": "2019-08-24T14:15:22Z",
- "reference_type": "string",
- "reference_id": "97c1ff22-6e4f-4821-b1d3-5236781d37b8",
- "reference": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "reason": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists tasks joined with their purchase_requisition_detail. Purchase requisitions all live in the account's single, lazily provisioned "Purchase Requisitions" entity (workflow stages Requested -> Approved -> Partially Ordered -> Ordered -> Partially Received -> Fulfilled). Once a purchase requisition is Approved, "Partially Ordered"/"Ordered"/"Partially Received"/"Fulfilled" are moved into automatically by the update_purchase_requisition_progress automation (see AutomationAction) as purchase orders raised against it are acknowledged and their deliveries are received -- see POST /purchase-orders/{purchaseOrderId}/stage. Accounts that skip purchase orders entirely can instead link a delivery straight to the purchase requisition (Delivery's purchase_requisition_task_id) -- the same automation then moves the PR directly from Approved to "Partially Received"/"Fulfilled" (skipping the ordering stages, since there's no PO) as those deliveries are received -- see POST /deliveries/{deliveryId}/stage.
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_requisition_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Purchase Requisitions entity (plus its purchase_requisition_detail row), lazily provisioning the entity and its workflow on first use. pr_number, if omitted, is auto-generated from the account's current purchase requisition numbering settings (see /purchase-requisitions/settings/numbering) and is snapshotted at creation time -- later prefix/counter changes never retroactively affect already-created purchase requisitions.
| title required | string |
| description | string |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
| pr_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (PurchaseRequisitionLineItem) |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_requisition_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters pr_number on already-created purchase requisitions.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}| purchaseRequisitionId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_requisition_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| purchaseRequisitionId required | string <uuid> |
| title required | string |
| description | string |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
| pr_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (PurchaseRequisitionLineItem) |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_requisition_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint (same approval/condition rules apply).
| purchaseRequisitionId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the purchase_requisition.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_requisition_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "pr_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "note": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Lists tasks joined with their purchase_order_detail and vendor. Purchase orders all live in the account's single, lazily provisioned "Purchase Orders" entity (workflow stages Draft -> Sent -> Acknowledged -> Partially Received -> Fulfilled).
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_order_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Purchase Orders entity (plus its purchase_order_detail row), lazily provisioning the entity and its workflow on first use. purchase_requisition_task_id, if given, must refer to a task owned by this account (not required to be a purchase requisition -- a PO does not strictly require a requisition). po_number, if omitted, is auto-generated from the account's current purchase order numbering settings (see /purchase-orders/settings/numbering) and is snapshotted at creation time -- later prefix/counter changes never retroactively affect already-created purchase orders.
| title required | string |
| description | string |
| vendor_id | string or null <uuid> |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
| purchase_requisition_task_id | string or null <uuid> |
| po_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (PurchaseOrderLineItem) |
| expected_delivery_date | string or null <date> |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_order_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters po_number on already-created purchase orders.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}| purchaseOrderId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_order_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| purchaseOrderId required | string <uuid> |
| title required | string |
| description | string |
| vendor_id | string or null <uuid> |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
| purchase_requisition_task_id | string or null <uuid> |
| po_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (PurchaseOrderLineItem) |
| expected_delivery_date | string or null <date> |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_order_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint. Note: two system-bound transitions already happen automatically as a byproduct of other actions -- POST .../send moves a PO to "Sent", and an automation (see update_purchase_order_fulfillment in AutomationAction) auto-moves a linked PO to "Partially Received" / "Fulfilled" as its deliveries are marked delivered. This endpoint remains available for moving a PO to any stage manually (e.g. "Acknowledged" or "Cancelled"), same as Bill today. Moving a PO into "Acknowledged", "Partially Received", or "Fulfilled" (whether via this endpoint or the automated transitions above) also fires update_purchase_requisition_progress, which rolls the PO's linked purchase requisition (if any) forward through "Partially Ordered" / "Ordered" / "Partially Received" / "Fulfilled" based on the aggregate ordered/delivered quantities of every non-cancelled PO raised against it.
| purchaseOrderId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the purchase_order.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "purchase_order_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "po_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "quantity": 0,
- "unit": "string",
- "unit_cost": 0,
- "currency": "string"
}
], - "expected_delivery_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Lists tasks joined with their delivery_detail. Deliveries all live in the account's single, lazily provisioned "Deliveries" entity (workflow stages Planned -> Expected -> Received -> Verified -> Closed).
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Deliveries entity (plus its delivery_detail row), lazily provisioning the entity and its workflow on first use. purchase_order_task_id and purchase_requisition_task_id are both optional and mutually exclusive -- set at most one, to link this delivery either to a Purchase Order or, for accounts that skip POs entirely, directly to a Purchase Requisition; whichever is given must refer to a task owned by this account. For deliveries with no purchase order, vendor_id/amount can be set directly on the delivery instead -- e.g. so a "create bill on stage change" automation has a vendor and amount to read. delivery_number, if omitted, is auto-generated from the account's current delivery numbering settings (see /deliveries/settings/numbering) and is snapshotted at creation time -- later prefix/counter changes never retroactively affect already-created deliveries.
| title required | string |
| description | string |
| purchase_order_task_id | string or null <uuid> Optional link to the Purchase Order this delivery fulfills. Mutually exclusive with purchase_requisition_task_id. |
| purchase_requisition_task_id | string or null <uuid> Optional direct link to the Purchase Requisition this delivery fulfills, for accounts that skip Purchase Orders entirely. Mutually exclusive with purchase_order_task_id -- setting both is rejected. |
| vendor_id | string or null <uuid> For deliveries with no purchase_order_task_id, since a PO-linked delivery's vendor is derived from the PO. Must refer to a vendor owned by this account. |
object (Money) | |
| delivery_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (DeliveryLineItem) |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters delivery_number on already-created deliveries.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| deliveryId required | string <uuid> |
| title required | string |
| description | string |
| purchase_order_task_id | string or null <uuid> Optional link to the Purchase Order this delivery fulfills. Mutually exclusive with purchase_requisition_task_id. |
| purchase_requisition_task_id | string or null <uuid> Optional direct link to the Purchase Requisition this delivery fulfills, for accounts that skip Purchase Orders entirely. Mutually exclusive with purchase_order_task_id -- setting both is rejected. |
| vendor_id | string or null <uuid> For deliveries with no purchase_order_task_id, since a PO-linked delivery's vendor is derived from the PO. Must refer to a vendor owned by this account. |
object (Money) | |
| delivery_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
required | Array of objects (DeliveryLineItem) |
| notes | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint. Moving into the stage configured with the
create_stock_receipt action (currently "Verified") automatically posts one RECEIPT
StockTransaction per delivery_detail line item, in the same transaction. This is idempotent --
re-entering the stage will not double-post -- and the stage/action mapping is data
(EntityWorkflowTemplateStage.actions), not hardcoded, so it can be reassigned to a different
stage later without a code change.
| deliveryId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the delivery.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "delivery_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "purchase_order_task_id": "7c776152-0a17-416d-a60e-8bb19184c771",
- "purchase_requisition_task_id": "ec4ba24c-4e87-4c37-acbe-d457bd07ae98",
- "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c",
- "vendor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "type": "business",
- "category": "string",
- "tax_type": "string",
- "tax_id": "string",
- "billing_address": { },
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true
}
], - "notes": "string",
- "preferences": { },
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "delivery_number": "string",
- "line_items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0,
- "material_id": "fba2a54e-bc4a-4e2a-8ad4-84dcfe66dea1",
- "description": "string",
- "quantity": 0,
- "unit": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "unit_cost": 0,
- "currency": "string"
}
], - "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}The account's equipment/facility register, nested under Location.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| location_id required | string <uuid> Must refer to a location owned by this account. |
| category required | string (AssetCategory) Enum: "hvac" "electrical" "plumbing" "generator" "lift" "av_equipment" "furniture" "fire_safety" "other" |
| serial_number | string or null |
| model | string or null |
| manufacturer | string or null |
| purchase_date | string or null <date> |
| warranty_expires_at | string or null <date> |
| status | string (AssetStatus) Default: "active" Enum: "active" "under_maintenance" "retired" |
| criticality | string (AssetCriticality) Default: "medium" Enum: "low" "medium" "high" Informational today -- intended to drive future SLA/escalation defaults for maintenance requests against this asset. |
{- "name": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| assetId required | string <uuid> |
| name | string |
| location_id | string <uuid> |
| category | string (AssetCategory) Enum: "hvac" "electrical" "plumbing" "generator" "lift" "av_equipment" "furniture" "fire_safety" "other" |
| serial_number | string or null |
| model | string or null |
| manufacturer | string or null |
| purchase_date | string or null <date> |
| warranty_expires_at | string or null <date> |
| status | string (AssetStatus) Default: "active" Enum: "active" "under_maintenance" "retired" |
| criticality | string (AssetCriticality) Default: "medium" Enum: "low" "medium" "high" Informational today -- intended to drive future SLA/escalation defaults for maintenance requests against this asset. |
{- "name": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Soft delete -- sets status to "retired" rather than removing the row, since assets are referenced by maintenance request history.
| assetId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists tasks joined with their maintenance_request_detail. Maintenance requests all live in the account's single, automatically provisioned "Maintenance Requests" entity (workflow Reported -> Assigned -> In Progress -> Resolved -> Cancelled).
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- null
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Maintenance Requests entity (plus its maintenance_request_detail row). Either asset_id or location_id must be provided -- area-level requests (e.g. "washroom inspection") use location_id instead of a specific asset. maintenance_request_number, if omitted, is auto-generated from the account's current maintenance request numbering settings (see /maintenance-requests/settings/numbering) and is snapshotted at creation time.
| title required | string |
| description | string |
| asset_id | string or null <uuid> Either asset_id or location_id must be provided. |
| location_id | string or null <uuid> |
| maintenance_request_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
| request_type required | string (MaintenanceRequestType) Enum: "breakdown" "complaint" "preventive" "inspection" |
| severity | string (MaintenanceRequestSeverity) Default: "medium" Enum: "low" "medium" "high" "critical" |
| reported_by_member_id | string or null <uuid> |
| reported_by_customer_id | string or null <uuid> |
| sop_template_id | string or null <uuid> Must refer to an SOP template owned by this account. |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters maintenance_request_number on already-created maintenance requests.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}| maintenanceRequestId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Updates Task fields (title, description, priority, due_at, assigned_to_member_id) and/or maintenance_request_detail fields. Workflow stage transitions go through POST .../stage; comments and attachments go through the Tasks API (/tasks/{taskId}/...), not this endpoint.
| maintenanceRequestId required | string <uuid> |
| title | string |
| description | string |
| asset_id | string or null <uuid> |
| location_id | string or null <uuid> |
| maintenance_request_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
| request_type | string (MaintenanceRequestType) Enum: "breakdown" "complaint" "preventive" "inspection" |
| severity | string (MaintenanceRequestSeverity) Default: "medium" Enum: "low" "medium" "high" "critical" |
| sop_template_id | string or null <uuid> |
| resolution_notes | string or null |
| resolved_at | string or null <date-time> |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint (same approval/condition rules apply).
| maintenanceRequestId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the maintenance_request.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage-details endpoint. Unlike POST .../stage, this does not move the maintenance request to a different stage -- it edits metadata on a stage instance already in workflow_stages or still planned in next_workflow_stages.
| maintenanceRequestId required | string <uuid> |
| taskWorkflowStageId required | string <uuid> The id of a specific TaskWorkflowStage instance (not a workflow_template_stage_id) -- either an already-entered stage (current or a past visit) or a still-planned one from next_workflow_stages. |
| planned_start_at | string or null <date-time> |
| planned_end_at | string or null <date-time> |
| estimated_duration_value | number or null Must be provided together with estimated_duration_unit. |
| estimated_duration_unit | string or null Enum: "hours" "days" |
| progress | integer [ 0 .. 100 ] |
{- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "estimated_duration_value": 0,
- "estimated_duration_unit": "hours",
- "progress": 100
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "maintenance_request_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "asset": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "category": "hvac",
- "serial_number": "string",
- "model": "string",
- "manufacturer": "string",
- "purchase_date": "2019-08-24",
- "warranty_expires_at": "2019-08-24",
- "status": "active",
- "criticality": "low",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "maintenance_request_number": "string",
- "request_type": "breakdown",
- "severity": "low",
- "reported_by_member_id": "356a03fa-2868-4675-8be7-f0389d4767d8",
- "reported_by_customer_id": "48689b84-0d51-4ccd-a902-c6c1dbebeec7",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "resolution_notes": "string",
- "resolved_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Lists tasks joined with their housekeeping_task_detail. Housekeeping tasks all live in the account's single, automatically provisioned "Housekeeping Tasks" entity (workflow Scheduled -> In Progress -> Completed -> Skipped).
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": null,
- "label": null,
- "value": null
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in the account's Housekeeping Tasks entity (plus its housekeeping_task_detail row). housekeeping_task_number, if omitted, is auto-generated from the account's current housekeeping task numbering settings (see /housekeeping-tasks/settings/numbering) and is snapshotted at creation time.
| title required | string |
| description | string |
| location_id required | string <uuid> Must refer to a location owned by this account. |
| housekeeping_task_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
| checklist_form_id | string or null <uuid> |
| scheduled_for required | string <date> |
| booking_id | string or null <uuid> |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters housekeeping_task_number on already-created housekeeping tasks.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}| housekeepingTaskId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Updates Task fields (title, description, priority, due_at, assigned_to_member_id) and/or housekeeping_task_detail fields. Workflow stage transitions go through POST .../stage; comments and attachments go through the Tasks API (/tasks/{taskId}/...), not this endpoint.
| housekeepingTaskId required | string <uuid> |
| title | string |
| description | string |
| location_id | string <uuid> |
| housekeeping_task_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
| checklist_form_id | string or null <uuid> |
| scheduled_for | string <date> |
| booking_id | string or null <uuid> |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint (same approval/condition rules apply).
| housekeepingTaskId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the housekeeping_task.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage-details endpoint. Unlike POST .../stage, this does not move the housekeeping task to a different stage -- it edits metadata on a stage instance already in workflow_stages or still planned in next_workflow_stages.
| housekeepingTaskId required | string <uuid> |
| taskWorkflowStageId required | string <uuid> The id of a specific TaskWorkflowStage instance (not a workflow_template_stage_id) -- either an already-entered stage (current or a past visit) or a still-planned one from next_workflow_stages. |
| planned_start_at | string or null <date-time> |
| planned_end_at | string or null <date-time> |
| estimated_duration_value | number or null Must be provided together with estimated_duration_unit. |
| estimated_duration_unit | string or null Enum: "hours" "days" |
| progress | integer [ 0 .. 100 ] |
{- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "estimated_duration_value": 0,
- "estimated_duration_unit": "hours",
- "progress": 100
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "housekeeping_task_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "housekeeping_task_number": "string",
- "checklist_form_id": "13afa894-affb-4c23-8535-50b1cd054451",
- "checklist_form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "scheduled_for": "2019-08-24",
- "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
- "booking": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}An SOP is a Form (its fields are the checklist steps) plus linkage/purpose metadata -- see SopTemplate.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| category required | string (SopTemplateCategory) Enum: "maintenance" "housekeeping" "inspection" "opening_closing" |
| asset_category | string or null |
| booking_timing | string or null (SopTemplateBookingTiming) Enum: "pre_event" "post_event" Set to run this SOP as a booking-triggered checklist at that point in a booking's lifecycle (see POST /bookings and the booking_status_changed Automation trigger). Null for SOPs not tied to bookings. |
| form_id required | string <uuid> Must refer to a form owned by this account. |
| is_active | boolean |
{- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| sopTemplateId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| sopTemplateId required | string <uuid> |
| name | string |
| category | string (SopTemplateCategory) Enum: "maintenance" "housekeeping" "inspection" "opening_closing" |
| asset_category | string or null |
| booking_timing | string or null (SopTemplateBookingTiming) Enum: "pre_event" "post_event" Set to run this SOP as a booking-triggered checklist at that point in a booking's lifecycle (see POST /bookings and the booking_status_changed Automation trigger). Null for SOPs not tied to bookings. |
| form_id | string <uuid> |
| is_active | boolean |
{- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Soft delete -- sets is_active to false, since SOP templates are referenced by maintenance request/recurring schedule history.
| sopTemplateId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Generic, domain-agnostic recurring-task scheduler -- not facilities-specific. Facilities PM/housekeeping schedules (see RecurringOperationalSchedule) are the first consumer of this, built as a thin wrapper on top, not a special case baked into this model.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}A cron scans every 5 minutes for due recurrences (next_run_at in the past, is_active) and spawns one Task from task_template per firing, then advances next_run_at.
| name required | string |
| frequency required | string Enum: "daily" "weekly" "monthly" custom_cron is rejected -- only daily/weekly/monthly are implemented (see TaskRecurrenceFrequency). |
| interval | integer >= 1 |
| days_of_week | Array of integers or null[ items [ 0 .. 6 ] ] |
| day_of_month | integer or null [ 1 .. 31 ] |
| next_run_at required | string <date-time> |
| ends_at | string or null <date-time> |
required | object (TaskRecurrenceTemplate) Template for the Task (plus optional domain-specific detail row) a TaskRecurrence spawns each time it fires. Mirrors POST /tasks's input shape, minus due_at (computed at spawn time from due_offset_days) and fields that don't make sense to template. TaskRecurrence itself has no domain knowledge -- detail_type/detail_payload are looked up in a handler registry that facilities (or any future feature) registers into; "maintenance_request_detail" and "housekeeping_task_detail" are the two registered today (see RecurringOperationalSchedule, which builds this template automatically from a simpler asset/location + timing input). |
| is_active | boolean Default: true |
{- "name": "string",
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 1,
- "next_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| taskRecurrenceId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| taskRecurrenceId required | string <uuid> |
| name | string |
| frequency | string Enum: "daily" "weekly" "monthly" |
| interval | integer >= 1 |
| days_of_week | Array of integers or null[ items [ 0 .. 6 ] ] |
| day_of_month | integer or null [ 1 .. 31 ] |
| next_run_at | string <date-time> |
| ends_at | string or null <date-time> |
object (TaskRecurrenceTemplate) Template for the Task (plus optional domain-specific detail row) a TaskRecurrence spawns each time it fires. Mirrors POST /tasks's input shape, minus due_at (computed at spawn time from due_offset_days) and fields that don't make sense to template. TaskRecurrence itself has no domain knowledge -- detail_type/detail_payload are looked up in a handler registry that facilities (or any future feature) registers into; "maintenance_request_detail" and "housekeeping_task_detail" are the two registered today (see RecurringOperationalSchedule, which builds this template automatically from a simpler asset/location + timing input). | |
| is_active | boolean |
{- "name": "string",
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 1,
- "next_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "is_active": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Facilities-specific preventive-maintenance/housekeeping schedules -- thin wrappers around a TaskRecurrence (see RecurringOperationalSchedule), giving proper FK columns for facilities queries like "PM schedules for asset X" instead of reaching into TaskRecurrence's generic JSONB template.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_recurrence_id": "79f0842e-a662-4189-b846-ae8607d6e360",
- "task_recurrence": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "schedule_type": "preventive_maintenance",
- "target_type": "asset",
- "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a TaskRecurrence (with a task_template built from schedule_type/target/sop_template_id) and this wrapper row around it, in one transaction. schedule_type "preventive_maintenance" spawns maintenance-request tasks with request_type "preventive"; "housekeeping" spawns housekeeping tasks, using the linked SOP's form as checklist_form_id if sop_template_id is set.
| name required | string Used as both the underlying TaskRecurrence's name and the title of each task it spawns. |
| schedule_type required | string (RecurringOperationalScheduleType) Enum: "preventive_maintenance" "housekeeping" |
| target_type required | string (RecurringOperationalTargetType) Enum: "asset" "location" |
| target_id required | string <uuid> Must refer to an asset or location (per target_type) owned by this account. |
| sop_template_id | string or null <uuid> For schedule_type housekeeping, used as the spawned task's checklist_form_id (via the SOP's form_id). Must refer to an SOP template owned by this account. |
| frequency required | string Enum: "daily" "weekly" "monthly" |
| interval | integer >= 1 |
| days_of_week | Array of integers or null[ items [ 0 .. 6 ] ] |
| day_of_month | integer or null [ 1 .. 31 ] |
| next_run_at required | string <date-time> |
| ends_at | string or null <date-time> |
| assigned_to_member_id | string <uuid> |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
{- "name": "string",
- "schedule_type": "preventive_maintenance",
- "target_type": "asset",
- "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 1,
- "next_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "priority": "high"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_recurrence_id": "79f0842e-a662-4189-b846-ae8607d6e360",
- "task_recurrence": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "schedule_type": "preventive_maintenance",
- "target_type": "asset",
- "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| scheduleId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_recurrence_id": "79f0842e-a662-4189-b846-ae8607d6e360",
- "task_recurrence": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "schedule_type": "preventive_maintenance",
- "target_type": "asset",
- "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Only scheduling fields (frequency, interval, next_run_at, ends_at, is_active, ...) can be changed -- target/sop_template are fixed at creation (create a new schedule to change what's targeted). Delegates to the underlying TaskRecurrence.
| scheduleId required | string <uuid> |
| is_active | boolean |
| frequency | string Enum: "daily" "weekly" "monthly" |
| interval | integer >= 1 |
| days_of_week | Array of integers or null[ items [ 0 .. 6 ] ] |
| day_of_month | integer or null [ 1 .. 31 ] |
| next_run_at | string <date-time> |
| ends_at | string or null <date-time> |
{- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 1,
- "next_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "task_recurrence_id": "79f0842e-a662-4189-b846-ae8607d6e360",
- "task_recurrence": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "is_active": true,
- "frequency": "daily",
- "interval": 1,
- "days_of_week": [
- 6
], - "day_of_month": 0,
- "cron_expression": "string",
- "next_run_at": "2019-08-24T14:15:22Z",
- "last_run_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "task_template": {
- "title": "string",
- "description": "string",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "type": "bundle",
- "priority": "high",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "due_offset_days": 0,
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
], - "detail_type": "maintenance_request_detail",
- "detail_payload": { }
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "schedule_type": "preventive_maintenance",
- "target_type": "asset",
- "target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
- "sop_template_id": "509744fe-18db-4787-b961-91e337a8f6aa",
- "sop_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "name": "string",
- "category": "maintenance",
- "asset_category": "string",
- "booking_timing": "pre_event",
- "form_id": "46af4ef5-2c18-4098-9bc5-c048fb90b843",
- "form": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "status": "draft",
- "success_message": "string",
- "fields": [
- {
- "id": "string",
- "type": "text",
- "label": "string",
- "required": true,
- "config": {
- "options": [
- "string"
], - "placeholder": "string",
- "taskField": "string",
- "description": "string"
}
}
], - "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Returns account-wide stats for the facilities overview dashboard: maintenance requests by workflow stage, open requests by severity, open/overdue counts, upcoming and overdue preventive-maintenance schedule counts, housekeeping tasks by stage and completion rate over the last 30 days, and an equipment-downtime proxy per asset over the last 30 days. Returns zeroed/empty fields if the account has no maintenance request yet.
| location_id | string <uuid> Scopes maintenance-request and housekeeping stats to this location. Note this only matches area-level maintenance requests (location_id set directly) -- asset-scoped breakdown requests aren't filtered by their asset's location. Also scopes the preventive-maintenance counts to preventive_maintenance schedules whose target_type is "location" and target_id matches. |
{- "data": {
- "maintenance_requests_by_stage": [
- {
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "stage_name": "string",
- "stage_order": 0,
- "count": 0
}
], - "open_maintenance_requests_by_severity": [
- {
- "severity": "low",
- "count": 0
}
], - "open_maintenance_request_count": 0,
- "overdue_maintenance_request_count": 0,
- "upcoming_preventive_maintenance_count": 0,
- "overdue_preventive_maintenance_count": 0,
- "housekeeping_tasks_by_stage": [
- {
- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "stage_name": "string",
- "stage_order": 0,
- "count": 0
}
], - "scheduled_housekeeping_task_count_last_30_days": 0,
- "completed_housekeeping_task_count_last_30_days": 0,
- "housekeeping_completion_rate_last_30_days": 0,
- "equipment_downtime_hours_by_asset_last_30_days": [
- {
- "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
- "downtime_hours": 0
}
], - "total_equipment_downtime_hours_last_30_days": 0
}
}Lists the account's bookable resources (restaurant tables or event halls).
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| type required | string Enum: "restaurant_table" "event_hall" |
| capacity | integer or null |
| notes | string or null |
| layout_id | string or null <uuid> Must refer to a booking_resource_layout owned by this account. |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
{- "name": "string",
- "type": "restaurant_table",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}required | Array of objects (BookingResourceInput) non-empty |
{- "resources": [
- {
- "name": "string",
- "type": "restaurant_table",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}
]
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| resourceId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| resourceId required | string <uuid> |
| name | string |
| type | string Enum: "restaurant_table" "event_hall" |
| capacity | integer or null |
| notes | string or null |
| layout_id | string or null <uuid> Must refer to a booking_resource_layout owned by this account. Pass null to unassign. |
| location_id | string or null <uuid> Must refer to a location owned by this account. Pass null to unassign. |
{- "name": "string",
- "type": "restaurant_table",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists bookings (restaurant reservations or event hall bookings) for the account.
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a booking, optionally reserving one or more booking resources (e.g. two tables for a large party). If resource_ids is set, rejects the request with 409 if any of the resources already has a non-cancelled/no_show booking overlapping the requested [start_time, end_time) range. Each resource_id must refer to a booking_resource owned by this account; customer_id must refer to a customer owned by this account (provider_account_id); location_id must refer to a root location (parent_id is null) owned by this account.
| resource_ids | Array of strings <uuid> [ items <uuid > ] Booking resources to reserve for this booking. Each must be owned by this account. |
| location_id | string <uuid> Must refer to a root location (parent_id is null) owned by this account. |
| customer_id | string <uuid> |
| start_time required | string <date-time> |
| end_time required | string <date-time> |
| party_size required | integer |
| status | string (BookingStatus) Enum: "pending" "confirmed" "seated" "completed" "cancelled" "no_show" |
object (Money) | |
object (Money) | |
| deposit_paid_at | string <date-time> |
| notes | string or null |
{- "resource_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "notes": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}If resource_ids is passed, it fully replaces the booking's current set of resources (pass an empty array to clear all resources). If resource_ids, start_time, or end_time changes (and the booking has one or more resources), re-runs the overlap check against those resources' other non-cancelled/no_show bookings.
| bookingId required | string <uuid> |
| resource_ids | Array of strings <uuid> [ items <uuid > ] Replaces the booking's full set of resources. Omit to leave resources unchanged. |
| location_id | string or null <uuid> Must refer to a root location (parent_id is null) owned by this account. Pass null to unlink. |
| customer_id | string or null <uuid> |
| start_time | string <date-time> |
| end_time | string <date-time> |
| party_size | integer |
| status | string (BookingStatus) Enum: "pending" "confirmed" "seated" "completed" "cancelled" "no_show" |
object (Money) | |
object (Money) | |
| deposit_paid_at | string or null <date-time> |
| cancellation_reason | string or null |
| notes | string or null |
{- "resource_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resources": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "customer": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "business",
- "status": "string",
- "provider_account_id": "1c1210f9-f4df-4924-9b8f-9c709c2c2c6b",
- "customer_account_id": "94d11de5-c19a-403b-bfd6-219437a0391d",
- "created_by_provider_member_id": "f33fd9fc-6af4-4e09-9807-f554ae0374bf",
- "created_by_customer_member_id": "bfd98977-7275-4b86-aaae-9de63cd3be9b",
- "contacts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "first_name": "string",
- "last_name": "string",
- "role": "string",
- "contact_methods": [
- {
- "type": "email",
- "label": "string",
- "value": "string"
}
], - "is_primary": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "preferences": {
- "billing_details": {
- "billing_address": {
- "line1": "string",
- "line2": "string",
- "city": "string",
- "state": "string",
- "postal_code": "string",
- "country": "string"
}, - "tax_id": "string",
- "default_currency": "string",
- "payment_terms_days": 0
}
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "party_size": 0,
- "status": "pending",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "deposit_paid_at": "2019-08-24T14:15:22Z",
- "cancellation_reason": "string",
- "notes": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists the account's booking resource layouts (floor plans / seating charts), including each layout's items (and each item's linked booking resource, if any).
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}| name required | string |
| description | string or null |
| background_image_url | string or null |
| canvas_width | integer Defaults to 1000. |
| canvas_height | integer Defaults to 800. |
| location_id | string or null <uuid> Must refer to a location owned by this account. |
{- "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Returns the layout together with its items (and each item's linked booking resource, if any).
| layoutId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| layoutId required | string <uuid> |
| name | string |
| description | string or null |
| background_image_url | string or null |
| canvas_width | integer |
| canvas_height | integer |
| location_id | string or null <uuid> Must refer to a location owned by this account. Pass null to unlink. |
{- "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Adds a single draggable item (table, chair, wall, decoration, ...) to the layout's canvas.
| layoutId required | string <uuid> |
| resource_id | string or null <uuid> Must refer to a booking_resource owned by this account. |
| item_type required | string (BookingResourceLayoutItemType) Enum: "table" "chair" "bar" "stage" "wall" "door" "plant" "text" "custom" |
| label | string or null |
| shape | string (BookingResourceLayoutItemShape) Enum: "rectangle" "circle" |
required | object (BookingResourceLayoutItemPosition) |
| z_index | integer |
{- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| layoutId required | string <uuid> |
required | Array of objects (BookingResourceLayoutItemInput) non-empty |
{- "items": [
- {
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Intended for drag-and-drop editors: pass the new position (and optionally z_index) for any number of existing items in one call to persist the whole canvas arrangement at once.
| layoutId required | string <uuid> |
required | Array of objects (BookingResourceLayoutItemPositionUpdate) non-empty |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| layoutId required | string <uuid> |
| itemId required | string <uuid> |
| resource_id | string or null <uuid> |
| item_type | string (BookingResourceLayoutItemType) Enum: "table" "chair" "bar" "stage" "wall" "door" "plant" "text" "custom" |
| label | string or null |
| shape | string (BookingResourceLayoutItemShape) Enum: "rectangle" "circle" |
object (BookingResourceLayoutItemPosition) | |
| z_index | integer |
{- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "location": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "name": "string",
- "type": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "is_active": true,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "name": "string",
- "description": "string",
- "background_image_url": "string",
- "canvas_width": 0,
- "canvas_height": 0,
- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "resource": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
- "type": "restaurant_table",
- "name": "string",
- "capacity": 0,
- "notes": "string",
- "layout_id": "118c4a32-91d1-4a21-89a4-a345ccd91280",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "item_type": "table",
- "label": "string",
- "shape": "rectangle",
- "position": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "rotation": 0
}, - "z_index": 0,
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists tasks joined with their deal_detail, customer, and contact. If pipeline_id is given, scopes
to that one deal_pipeline entity; otherwise scopes to the union of all of the account's deal_pipeline
entities. Returns an empty list if no pipeline has been created yet (the default pipeline is
provisioned lazily on first deal creation).
| pipeline_id | string <uuid> Restrict the list to deals in this deal_pipeline entity. Omit to list deals across all of the account's pipelines. |
| filter | string
|
| limit | integer <= 100 Default: 20 |
| offset | integer Default: 0 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deal_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "actual_close_at": "2019-08-24",
- "status": "open",
- "lost_reason": "string",
- "source": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a Task in a deal_pipeline entity (plus its deal_detail row). Targets pipeline_id if given
(must be a pipeline owned by this account); otherwise targets the account's default pipeline, lazily
provisioning one named "Sales Pipeline" on first use. No Project is involved; deal permissions are
account-scoped. Fails with 400 if the account's deal_limit plan limit has been reached. deal_number,
if omitted, is auto-generated from the account's current deal numbering settings (see
/deals/settings/numbering) and is snapshotted at creation time -- later prefix/counter changes
never retroactively affect already-created deals.
| title required | string |
| description | string |
| customer_id | string <uuid> |
| contact_id | string <uuid> |
| deal_number | string or null Auto-generated from account settings if omitted; pass a value to override. |
object (Money) | |
| probability | integer [ 0 .. 100 ] |
| expected_close_at | string <date> |
| source | string |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
| pipeline_id | string <uuid> Target deal_pipeline entity. Defaults to the account's first (oldest) pipeline, auto-provisioning one named "Sales Pipeline" if none exists yet. |
{- "title": "string",
- "description": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "source": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "pipeline_id": "ec036e81-7903-4e4d-bbfa-ac8516341cf0"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deal_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "actual_close_at": "2019-08-24",
- "status": "open",
- "lost_reason": "string",
- "source": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}A manual settings action -- purely a config write, never alters deal_number on already-created deals.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deal_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "actual_close_at": "2019-08-24",
- "status": "open",
- "lost_reason": "string",
- "source": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| dealId required | string <uuid> |
| title | string |
| description | string |
| customer_id | string or null <uuid> |
| contact_id | string or null <uuid> |
| deal_number | string or null |
object (Money) | |
| probability | integer [ 0 .. 100 ] |
| expected_close_at | string or null <date> |
| lost_reason | string or null |
| source | string or null |
| priority | string (TaskPriority) Enum: "high" "medium" "low" |
| due_at | string <date-time> |
| assigned_to_member_id | string <uuid> |
{- "title": "string",
- "description": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "lost_reason": "string",
- "source": "string",
- "priority": "high",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deal_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "actual_close_at": "2019-08-24",
- "status": "open",
- "lost_reason": "string",
- "source": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Thin wrapper over the task workflow-stage endpoint (same approval/condition rules apply, see
/tasks/{taskId}/workflow_stages). If the target stage's stage_type is done, deal_detail.status
becomes won; if cancelled, it becomes lost — both set actual_close_at to today.
| dealId required | string <uuid> |
| workflow_template_stage_id required | string <uuid> |
| planned_start_at | string <date-time> |
| planned_end_at | string <date-time> |
| actual_start_at | string <date-time> |
| bypass_approvals | boolean Requires the deal.stage.bypass_approval permission. |
{- "workflow_template_stage_id": "79ea45b2-4be3-4980-a12d-3fd314348625",
- "planned_start_at": "2019-08-24T14:15:22Z",
- "planned_end_at": "2019-08-24T14:15:22Z",
- "actual_start_at": "2019-08-24T14:15:22Z",
- "bypass_approvals": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "type": "bundle",
- "priority": "high",
- "number": 0,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
- "project_cycle_id": "a7f1ef39-8229-4259-be51-bc431d04a93e",
- "milestone_id": "09ca5787-2524-40b3-af3c-ff5db9ab83d2",
- "roadmap_item_id": "6c886391-cd90-4135-a4b4-24f0dbf94111",
- "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50",
- "due_at": "2019-08-24T14:15:22Z",
- "resolved_at": "2019-08-24T14:15:22Z",
- "requirement_documents": [
- {
- "type": "internal",
- "id": "string",
- "url": "string",
- "metadata": { }
}
], - "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81",
- "source_type": "string",
- "source_metadata": { },
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deal_detail": {
- "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "probability": 100,
- "expected_close_at": "2019-08-24",
- "actual_close_at": "2019-08-24",
- "status": "open",
- "lost_reason": "string",
- "source": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| dealId required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}The interaction is attributed to the deal's linked customer (deal_detail.customer_id); fails 400 if the deal has no linked customer.
| dealId required | string <uuid> |
| contact_id | string <uuid> |
| type required | string (CustomerInteractionType) Enum: "call" "email" "meeting" "note" "whatsapp" "instagram" |
| subject | string or null |
| content | string or null |
| occurred_at | string <date-time> |
{- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "type": "call",
- "subject": "string",
- "content": "string",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Lists the account's deal_pipeline entities, oldest first, each including its workflow_template and stages.
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "deal_pipeline",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stage_type": "backlog",
- "color": "string",
- "order": 0
}
]
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a new deal_pipeline entity with its own workflow. Fails with 400 if the account's pipeline_limit plan limit has been reached.
| name required | string |
| description | string or null |
object Defaults to the standard "Prospecting → Qualified → Proposal → Negotiation → Closed Won/Lost" stages if omitted. |
{- "name": "string",
- "description": "string",
- "workflow_template": {
- "name": "string",
- "stages": [
- {
- "name": "string",
- "stage_type": "backlog",
- "color": "string"
}
]
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "deal_pipeline",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stage_type": "backlog",
- "color": "string",
- "order": 0
}
]
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| pipelineId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "deal_pipeline",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stage_type": "backlog",
- "color": "string",
- "order": 0
}
]
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| pipelineId required | string <uuid> |
| name | string |
| description | string or null |
{- "name": "string",
- "description": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "deal_pipeline",
- "owner_account_id": "69db1bf4-16fa-476c-b388-f19190587e90",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "workflow_template": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "stage_type": "backlog",
- "color": "string",
- "order": 0
}
]
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Invoices are a standalone resource (not backed by Task/Entity, unlike Deals). Each entry includes computed balance_due, is_overdue, and display_number fields alongside stored data, plus any custom_fields values (resource_type "invoice").
| filter | string
|
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Creates a draft invoice for a customer. line_items must be non-empty and all share the same
currency; amount is server-computed from line_items (never accepted as direct input), including
any exclusive taxes in each line item's tax_config (added on top of quantity * unit_amount_cents);
inclusive taxes are assumed to already be part of unit_amount_cents and do not add further. Line items
and/or the invoice itself may carry a discount (percentage or flat, with an authoritative
amount_cents); line-item discounts are subtracted before exclusive tax, and the invoice-level discount
is subtracted from the running total last. The invoice number and number_prefix are assigned by a DB
trigger from the account's current invoice numbering settings (see /invoices/settings/numbering) and are
snapshotted at creation time — later prefix/counter changes never retroactively affect already-created
invoices. If due_date is omitted and the customer has preferences.billing_details.payment_terms_days
set, due_date is auto-computed from issue_date (or today) plus that many days. custom_fields, if
provided, are upserted against custom field definitions (must already exist, created via /custom-fields)
in the same transaction as the invoice itself.
| customer_id required | string <uuid> |
| contact_id | string <uuid> |
| deal_task_id | string <uuid> |
required | Array of objects (InvoiceLineItem) non-empty |
object or null | |
| issue_date | string <date> |
| due_date | string <date> |
| notes | string or null |
Array of objects (CustomFieldValueInput) Values to set for custom fields defined with resource_type "invoice" (or no resource_types restriction). Upserted after the invoice is created. |
{- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}A manual settings action (e.g. run once at the start of a new fiscal year to switch the prefix and restart numbering from 1). Purely a config write — never alters number_prefix/number on already-created invoices. If a reset produces a (prefix, number) combination that collides with an existing invoice, the next invoice created under that combination fails with a database uniqueness error.
| prefix | string non-empty |
| reset_counter_to | integer >= 0 |
{- "prefix": "string",
- "reset_counter_to": 0
}{- "data": {
- "prefix": "string",
- "counter": 0
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Only allowed while status is draft. Once an invoice has been sent, line_items/amount/discount/customer_id/ contact_id/deal_task_id/issue_date are locked — correct mistakes by voiding and creating a new invoice instead. due_date remains editable at any stage via this endpoint regardless of status (not locked). status itself is never settable here; it only changes via /send, /void, /payments, and /credit-notes. custom_fields values are upserted regardless of the invoice's draft-only restriction on the other fields.
| invoiceId required | string <uuid> |
| customer_id | string <uuid> |
| contact_id | string or null <uuid> |
| deal_task_id | string or null <uuid> |
Array of objects (InvoiceLineItem) non-empty | |
object or null | |
| issue_date | string or null <date> |
| due_date | string or null <date> |
| notes | string or null |
Array of objects (CustomFieldValueInput) Values to upsert for custom fields defined with resource_type "invoice" (or no resource_types restriction). |
{- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "custom_fields": [
- {
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "value": { }
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}draft -> sent only. Sets issue_date to today if not already set. Locks line_items/amount/customer_id/contact_id/deal_task_id for further edits.
| invoiceId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Allowed from draft, sent, or partially_paid. Cannot void a paid or already-void invoice.
| invoiceId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Only allowed once the invoice is sent or partially_paid (not draft, void, or already fully paid). Payment currency must match the invoice's currency. Rejects amount_cents greater than the remaining balance (amount minus sum of prior payments and issued credit notes). Status is recomputed automatically from payments plus issued credit notes combined: partially_paid once the combined total is short of the full amount, paid once it covers the full amount (a fully-offsetting credit note alone can settle an invoice with no payment).
| invoiceId required | string <uuid> |
| amount_cents required | integer >= 1 |
| currency required | string |
| paid_at | string <date> |
| method | string or null |
| note | string or null |
{- "amount_cents": 1,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Corrects a mistaken payment entry. Invoice status is recomputed downward afterward (e.g. paid -> partially_paid or partially_paid -> sent).
| invoiceId required | string <uuid> |
| paymentId required | string <uuid> |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "deal_task_id": "108d0e2d-f38c-482d-9609-5d73bdaccb57",
- "line_items": [
- {
- "description": "string",
- "quantity": 0,
- "unit_amount_cents": 0,
- "currency": "string",
- "tax_config": [
- {
- "tax_name": "string",
- "tax_rate": 0,
- "tax_amount_cents": 0,
- "tax_type": "inclusive"
}
], - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}
}
], - "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "discount": {
- "type": "percentage",
- "rate": 0,
- "amount_cents": 0
}, - "balance_due": {
- "amount_cents": 0,
- "currency": "string"
}, - "is_overdue": true,
- "status": "draft",
- "issue_date": "2019-08-24",
- "due_date": "2019-08-24",
- "notes": "string",
- "last_emailed_at": "2019-08-24T14:15:22Z",
- "last_emailed_to": "string",
- "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "amount_cents": 0,
- "currency": "string",
- "paid_at": "2019-08-24",
- "method": "string",
- "note": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "credit_notes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
- "number_prefix": "string",
- "number": 0,
- "display_number": "string",
- "amount": {
- "amount_cents": 0,
- "currency": "string"
}, - "reason": "string",
- "status": "issued",
- "issued_at": "2019-08-24",
- "refunded_at": "2019-08-24",
- "refund_method": "string",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "custom_fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
- "resource_type": "string",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "value": { },
- "custom_field": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "field_type": "text",
- "config": {
- "options": [
- {
- "id": "string",
- "label": "string",
- "color": "string"
}
]
}, - "resource_types": [
- "task"
], - "is_required": true,
- "is_active": true,
- "show_on_pdf": true,
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Generated on demand for each request (not cached or stored). Streams application/pdf with a Content-Disposition attachment header using the invoice's display_number as the filename. Any custom field values on the invoice whose custom field definition has show_on_pdf set to true are rendered on the PDF (as "Field name: value"); fields without show_on_pdf are stored but omitted from the PDF. Reflects the account's invoice branding settings (see /invoices/settings/branding): logo/letterhead images, accent color, custom company_name, and footer_text, if configured.
| invoiceId required | string <uuid> |
Generic follow-up reminders that can be attached to a task, deal, customer, or invoice. Deals are Task rows under the hood (keyed by DealDetail.task_id), so a deal's reminders use resource_type "deal" with that same task_id as resource_id. Shared reminders are visible to any member; private reminders are only returned to their creator or assignee.
| filter | string
|
| sort_by | string Enum: "due_at" "status" "resource_type" "resource_id" "assigned_to_member_id" "created_by_member_id" "created_at" "updated_at" |
| sort_order | string Enum: "asc" "desc" |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "title": "string",
- "note": "string",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "visibility": "shared",
- "status": "pending",
- "notified_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "completed_by_member_id": "1c6174d3-dd59-4d3f-a1da-2d6bfe1dd9a2",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Validates that resource_id refers to an existing task, deal, customer, or invoice on the account (for resource_type "deal", resource_id must be a task that has a DealDetail). Defaults assigned_to_member_id to the creator and visibility to "shared".
| resource_type required | string (ReminderResourceType) Enum: "task" "deal" "customer" "invoice" |
| resource_id required | string <uuid> |
| title required | string |
| note | string or null |
| due_at required | string <date-time> |
| assigned_to_member_id | string or null <uuid> Defaults to the creator if omitted. Ignored (always forced to the creator) when visibility is "private". |
| visibility | string (ReminderVisibility) Enum: "shared" "private" |
{- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "title": "string",
- "note": "string",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "visibility": "shared"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "title": "string",
- "note": "string",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "visibility": "shared",
- "status": "pending",
- "notified_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "completed_by_member_id": "1c6174d3-dd59-4d3f-a1da-2d6bfe1dd9a2",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Setting due_at reschedules the reminder and clears its notified state so it will fire again. Setting status to "completed" or "dismissed" stops it from firing. Setting assigned_to_member_id to a different member sends them a reminder_assigned notification. If the reminder's visibility is (or is being set to) "private", assigned_to_member_id is ignored and forced back to the creator. A reminder that is already "completed" or "dismissed" is locked — any request that doesn't reopen it by setting status to "pending" is rejected with 409.
| id required | string <uuid> |
| title | string |
| note | string or null |
| due_at | string <date-time> |
| assigned_to_member_id | string or null <uuid> |
| visibility | string (ReminderVisibility) Enum: "shared" "private" |
| status | string (ReminderStatus) Enum: "pending" "completed" "dismissed" |
{- "title": "string",
- "note": "string",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "visibility": "shared",
- "status": "pending"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "resource_type": "task",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "title": "string",
- "note": "string",
- "due_at": "2019-08-24T14:15:22Z",
- "assigned_to_member_id": "f762546b-4e22-4cbc-845d-0a241ae61391",
- "created_by_member_id": "c742fe81-82da-4d1c-bc66-d3a4986fbc98",
- "visibility": "shared",
- "status": "pending",
- "notified_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "completed_by_member_id": "1c6174d3-dd59-4d3f-a1da-2d6bfe1dd9a2",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Exchanges the code returned by Meta's client-side Embedded Signup flow for a long-lived access token, subscribes the app to the WABA's webhooks, and stores the connection on the account.
| code required | string The authorization code returned by Meta's WhatsApp Embedded Signup flow in the browser. |
| waba_id required | string The WhatsApp Business Account id selected during Embedded Signup. |
| phone_number_id required | string The phone number id selected during Embedded Signup. |
{- "code": "string",
- "waba_id": "string",
- "phone_number_id": "string"
}{- "data": {
- "connected": true,
- "phone_number": "string",
- "business_account_id": "string"
}
}Sends a free-form text message or an approved template message. Free-form text only
delivers within the 24-hour customer service window opened by the customer's last
inbound message; outside that window (including the first message to a customer),
use type "template" with a name from GET /whatsapp/templates. The destination number
is resolved from to, else the given contact's phone contact method, else rejected.
Always logs a CustomerInteraction (type "whatsapp") and a WhatsappMessage row, even
if the send to Meta fails (status is set to "failed" with the error recorded).
| customer_id required | string <uuid> |
| contact_id | string <uuid> Defaults to resolving the customer's contact phone number when omitted. |
| to | string Explicit destination phone number; overrides contact/customer lookup. |
| type | string Default: "text" Enum: "text" "template" |
| body | string Required when type is "text". Optional caption/summary when type is "template". |
| template_name | string Required when type is "template". Must be an approved template name from GET /whatsapp/templates. |
| template_language | string Required when type is "template", e.g. "en_US". |
| template_components | Array of objects WhatsApp template component parameters (header/body/button variables), passed through to the Graph API as-is. |
{- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "to": "string",
- "type": "text",
- "body": "string",
- "template_name": "string",
- "template_language": "string",
- "template_components": [
- { }
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "customer_interaction_id": "99a4f6b6-6716-4044-b598-8ee5a651c2b9",
- "direction": "inbound",
- "wa_message_id": "string",
- "from_number": "string",
- "to_number": "string",
- "message_type": "text",
- "template_name": "string",
- "body": "string",
- "media_url": "string",
- "status": "queued",
- "error": "string",
- "sent_by_member_id": "b1d53b71-3eec-44bc-bb78-529f0a4018e0",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customer_id required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "customer_interaction_id": "99a4f6b6-6716-4044-b598-8ee5a651c2b9",
- "direction": "inbound",
- "wa_message_id": "string",
- "from_number": "string",
- "to_number": "string",
- "message_type": "text",
- "template_name": "string",
- "body": "string",
- "media_url": "string",
- "status": "queued",
- "error": "string",
- "sent_by_member_id": "b1d53b71-3eec-44bc-bb78-529f0a4018e0",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Fetched live from Meta (not cached locally). Required for sending a message outside the 24-hour customer service window.
{- "data": [
- {
- "id": "string",
- "name": "string",
- "status": "string",
- "category": "string",
- "language": "string",
- "components": [
- { }
]
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Submits a template to Meta for review via the WhatsApp Business Account. Newly created templates start in "PENDING" status and are not usable for sending until Meta approves them; check GET /whatsapp/templates for the current status.
| name required | string^[a-z0-9_]+$ Lowercase letters, numbers, and underscores only, per Meta's template naming rules. |
| category required | string Enum: "MARKETING" "UTILITY" "AUTHENTICATION" |
| language required | string WhatsApp locale code, e.g. "en_US". |
| components required | Array of objects non-empty Template component definitions (HEADER/BODY/FOOTER/BUTTONS), passed through to the Graph API as-is. |
{- "name": "string",
- "category": "MARKETING",
- "language": "string",
- "components": [
- { }
]
}{- "data": {
- "id": "string",
- "status": "string",
- "category": "string"
}
}Called by Meta when configuring the webhook subscription. Authenticated via the hub.verify_token query param matching WHATSAPP_WEBHOOK_VERIFY_TOKEN, not member session.
| hub.mode | string |
| hub.verify_token | string |
| hub.challenge | string |
Authenticated via the X-Hub-Signature-256 header (HMAC of the body with WHATSAPP_APP_SECRET), not member session. Inbound messages are matched to a Contact by phone number and logged as a CustomerInteraction. If no Contact matches, a new Customer (type "unknown") and Contact are auto-created using the sender's WhatsApp profile name (falling back to their phone number) so the conversation is never dropped. Responds 200 immediately and processes the payload after acknowledging, per Meta's requirements.
Exchanges the code returned by Meta's client-side Facebook Login flow for a user access token, resolves the Instagram professional account connected to the given Facebook Page, subscribes the app to the page's messaging webhooks, and stores the connection on the account.
| code required | string The authorization code returned by Meta's Facebook Login flow in the browser. |
| page_id required | string The Facebook Page id selected during login; must have a connected Instagram professional account. |
{- "code": "string",
- "page_id": "string"
}{- "data": {
- "connected": true,
- "username": "string",
- "page_id": "string"
}
}Sends a free-form text DM. Instagram's messaging platform only allows replying within
the standard messaging window opened by the contact's last inbound DM — there is no
template mechanism to message someone cold, unlike WhatsApp. The recipient is resolved
from to, else the igsid captured from the given contact's most recent inbound message,
else rejected. Always logs a CustomerInteraction (type "instagram") and an
InstagramMessage row, even if the send to Meta fails (status is set to "failed" with the
error recorded).
| customer_id required | string <uuid> |
| contact_id | string <uuid> Defaults to resolving the igsid captured from the contact's most recent inbound DM when omitted. |
| to | string Explicit destination igsid; overrides contact/customer lookup. |
| body required | string |
{- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "to": "string",
- "body": "string"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "customer_interaction_id": "99a4f6b6-6716-4044-b598-8ee5a651c2b9",
- "direction": "inbound",
- "ig_message_id": "string",
- "from_igsid": "string",
- "to_igsid": "string",
- "message_type": "text",
- "body": "string",
- "media_url": "string",
- "status": "queued",
- "error": "string",
- "sent_by_member_id": "b1d53b71-3eec-44bc-bb78-529f0a4018e0",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| customer_id required | string <uuid> |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "customer_interaction_id": "99a4f6b6-6716-4044-b598-8ee5a651c2b9",
- "direction": "inbound",
- "ig_message_id": "string",
- "from_igsid": "string",
- "to_igsid": "string",
- "message_type": "text",
- "body": "string",
- "media_url": "string",
- "status": "queued",
- "error": "string",
- "sent_by_member_id": "b1d53b71-3eec-44bc-bb78-529f0a4018e0",
- "occurred_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "total_count": 0,
- "has_more": true,
- "message": "string"
}Called by Meta when configuring the webhook subscription. Authenticated via the hub.verify_token query param matching INSTAGRAM_WEBHOOK_VERIFY_TOKEN, not member session.
| hub.mode | string |
| hub.verify_token | string |
| hub.challenge | string |
Authenticated via the X-Hub-Signature-256 header (HMAC of the body with INSTAGRAM_APP_SECRET), not member session. Inbound messages are matched to a Contact by resolving the sender's Instagram username. If no Contact matches, a new Customer (type "unknown") and Contact are auto-created using the sender's Instagram display name (falling back to their username, then their igsid if the username can't be resolved) so the conversation is never dropped. Responds 200 immediately and processes the payload after acknowledging, per Meta's requirements.