WorkflowMax API V2 Specifications for WorkflowMax API V2 ## Sections • [Overview](https://api-docs.workflowmax.com/overview.md): Welcome to the WorkflowMax V2 API – a modern, developer-friendly API designed to help you build powerful integrations with WorkflowMax. Whether you’re automating workflows, building add-ons, or syncing data with other tools, this API gives you structured, secure, and flexible access to your account data. 🌟 What’s New in V2 The V2 API has been built from the ground up to replace the legacy XML‑based V1 API. Key improvements include: Modern JSON-based structure - V2 uses clean JSON formatting – making it easier to work with across today’s development environments. Smarter data retrieval - More endpoints now support filtering by lastModified timestamp, helping reduce the volume of API calls required to stay up-to-date. Customisable responses - Retrieve related data (e.g. custom fields, notes) in a single call, reducing the need for additional lookups. Broader data access - Endpoints are more complete, providing access to the full scope of data stored in WorkflowMax. Ongoing expansion - We’re continuing to add new endpoints, for example the upcoming support for adding bills to purchase orders. Webhooks support (coming soon) - Real-time event monitoring will be available via webhook subscriptions. Improved developer visibility (coming soon) - We’re enhancing our developer portal to give you better transparency over your API usage, including logs for each API call made. If V2 doesn't have your required endpoint, you may be able to use the V1 API instead. • [Authentication](https://api-docs.workflowmax.com/authentication.md): Before you get started Before you can start using OAuth with WorkflowMax, you will need to have: a developer/user account a WorkflowMax account to integrate with your developer application* *You must have full access to the “Authorize 3rd Party Full Access” privilege to integrate with a WorkflowMax account. How it works WorkflowMax supports the OAuth 2.0 Authorization Code grant type , which can be broken down into five basic steps: Your application opens a browser window to send the user to the OAuth 2.0 server. The user reviews the requested permissions and grants the application access. The user is redirected back to the application with an authorization code in the query string. The application sends a request to the OAuth 2.0 server to exchange the authorization code for an access token. Make calls against the API. Getting OAuth 2.0 tokens 1 Create a developer application Visit the WorkflowMax Developer Portal and sign in or register for a developer account. Once logged in, navigate to the application registration section. Provide necessary details such as your application's name, company or application URL, and the OAuth 2.0 redirect URI (ensure this is an HTTPS address). After submitting, you'll receive a Client ID and Client Secret - store these securely as they are essential for authentication. 2 Create the authorisation URL and direct the user to WorkflowMax's OAuth 2.0 server When sending a user to WorkflowMax's OAuth 2.0 server, the first step is creating the authorisation URL. This will identify your application and define the resources (scopes) it's requesting access to on behalf of the user. For further information, refer to this API endpoint . 3 WorkflowMax prompts the user for consent WorkflowMax displays a consent window to the user showing the name of your application and a short description of the WorkflowMax API services it's requesting permission to access. The user can then grant access to your app. If any errors occur or the user denies the request, we redirect back to your redirect_uri with an error parameter. Your application doesn't do anything at this stage. Once access is granted, the OAuth 2.0 server will send a request to the callback URI defined in the authorisation URL. 4 Handle the OAuth 2.0 server response When the user has completed the consent prompt from Step 2, the OAuth 2.0 server sends a GET request to the redirect URI specified in your authentication URL. If there are no issues and the user approves the access request, the request to the redirect URI will be returned with a code query parameter attached. If the user doesn't grant access, the request to the redirect URI will be returned with a query parameter outlining the error. 5 Exchange authorisation code for tokens After your application receives an authorisation code from the OAuth 2.0 server, it can exchange that code for an access and refresh token. For further information, refer to this API endpoint . All tokens received have an associated expiry time. Access tokens and refresh tokens can be exchanged prior to expiry. Token expiry times: access_token: 30 minutes refresh_token: 60 days. The access token is a JWT, which can be decoded to retrieve the authentication organisation's Org ID, which will be required to make API calls. If your JWT does not contain an Orgnisation ID, please check that you have completed step 4 correctly by passing the parameters in the body (not as headers). 6 Call the API Make calls against the WorkflowMax API by following the contracts in other sections of this guide. 7 Refresh token (as required) Access tokens expire after 30 minutes. Your application can refresh an access token without user interaction by using a refresh token. You get a refresh token by requesting the offline_access scope during the initial user authorisation. Refresh tokens expire after 60 days. For further information, refer to this API endpoint . • [Authorisation Request](https://api-docs.workflowmax.com/authentication/authorisation-request.md): When sending a user to WorkflowMax's OAuth 2.0 server, the first step is creating the authorisation URL. This will identify your application and define the resources (scopes) it's requesting access to on behalf of the user. • [Obtain Tokens](https://api-docs.workflowmax.com/authentication/obtain-tokens.md): After your application receives an authorisation code from the OAuth 2.0 server, it can exchange that code for an access and refresh token. • [Refresh Tokens](https://api-docs.workflowmax.com/authentication/refresh-tokens.md): Access tokens expire after 30 minutes. Your application can refresh an access token without user interaction by using a refresh token. You get a refresh token by requesting the offline_access scope during the initial user authorisation. Refresh tokens expire after 60 days. • [Base URL](https://api-docs.workflowmax.com/base-url.md): The Base URL section of the Default project API provides users with the foundational link to access all other endpoints and resources within the API. Use HTTPS for all API calls to ensure data is encrypted in transit. Combine the base URL with your desired endpoint - for example: GET https://api.workflowmax.com/v2/clients • [Rate Limiting](https://api-docs.workflowmax.com/rate-limiting.md): To maintain system reliability and fairness across all users, our API enforces rate limits per client–organisation pair. Each combination of Client ID and Account ID is allowed: 60 requests per 1-minute rolling window (roughly equivalent to 1 request per second, with short bursts permitted). If the limit is exceeded, the API responds with HTTP 429 Too Many Requests , including a Retry-After header specifying when to retry. Tip: Implement exponential back-off and jitter in your integration to reduce the likelihood of hitting rate limits during spikes. • [Response Format](https://api-docs.workflowmax.com/response-format.md): All WorkflowMax API responses are returned in JSON format, designed for consistency and ease of integration across modern tech stacks. Content-Type: application/json; charset=utf-8 Timestamps use UTC and ISO 8601 ( 2025-06-12T04:35:27Z ). IDs are returned as strings to preserve precision across languages. Successful responses are wrapped in a standard envelope: JSON { "data": { … }, // or an array for list endpoints "meta": { "request_id": "c1b3…", "pagination": { "page": 2, "per_page": 50, "total_pages": 8 } } } For list endpoints, you can use page and pagesize parameters to control pagination. • [Error Handling](https://api-docs.workflowmax.com/error-handling.md): The API uses standard HTTP status codes and structured error messages to help you diagnose and respond to problems programmatically. HTTP Status Code Meaning When it occurs 400 Bad request Malformed JSON, incorrect parameters 401 Unauthorised Malformed JSON, incorrect parameters 403 Forbidden Authenticated, but insufficient scope or org-level access 404 Not found Resource does not exist 409 Conflict Duplicate or conflicting request 422 Validation failed Field-level input errors 429 Too many requests Rate limit exceeded 500 Server error Internal system fault • [Feedback & Support](https://api-docs.workflowmax.com/support.md): We’re here to help if you encounter issues, have questions, or want to provide feedback as you build with the WorkflowMax API. Channel Contact Use Case Help Centre https://support.workflowmax.com/hc/en-us Technical issues, login problems, bug repor Status Page https://status.workflowmax.com/ Live updates on outages or disruptions Feature Suggestions https://workflowmaxbybluerock.ideas.userback.io/p/8hdPOvloNB Request new features or improvements When raising a support request, include the following details to help us resolve your issue faster: The request_id (found in the meta block of any API response) Your Client ID and Organisation ID The exact endpoint and timestamp (in UTC) Sample request and response bodies (with secrets removed) WorkflowMax is unable to assist with building or maintaining your API integration. Any guidance provided is general in nature and intended to support your understanding of how the WorkflowMax API operates. We recommend working with a qualified developer to implement and maintain your integration. • [GET Me](https://api-docs.workflowmax.com/me/get-v2-me.md): Returns the current authenticated user and organization context. • [Account](https://api-docs.workflowmax.com/account.md): Accounts in WorkflowMax, also referred to as account codes, are used to categorise income and expenses for jobs, costs, and invoicing. Each account typically includes attributes such as a unique code, name, and type (e.g., income or expense). These codes provide the link between WorkflowMax’s operational data and the financial reporting structure of the business, ensuring consistency and accuracy when tracking project-related revenue and costs. Users interact with account codes primarily in job costing and billing workflows. When costs are recorded or invoices are generated, the associated account codes determine how those amounts are categorised for reporting and, if applicable, exported to accounting software. This helps businesses align operational data with financial statements and enables accurate allocation of income and expenses. When WorkflowMax is integrated with Xero, account codes are synchronised from Xero and cannot be edited within WorkflowMax. In this scenario, Xero serves as the source of truth for financial account structures, ensuring seamless alignment between the two systems. If no Xero integration is enabled, account codes can be managed directly within WorkflowMax under General Settings , allowing organisations to define and maintain their own categorisation scheme. • [GET Accounts](https://api-docs.workflowmax.com/account/get-v2-accounts.md): Retrieves a list of all account codes available in the organisation. Each account includes details such as its unique code, name, type (income or expense), and metadata about when it was created or updated. This endpoint is useful for displaying available accounts when creating or managing costs, invoices, or financial reports. • [Role](https://api-docs.workflowmax.com/role.md): Roles in WorkflowMax define the access permissions and functional capabilities assigned to staff members. Each role determines what actions a user can perform—such as viewing jobs, creating invoices, or managing clients—ensuring that staff have appropriate access aligned with their responsibilities. By controlling permissions through roles, administrators can safeguard sensitive data while streamlining user experiences across teams. Key attributes of a role include its unique identifier and name. Organizations typically create standard roles (e.g., Administrator, Manager, Staff) to align with business hierarchies or job functions. Assigning staff to roles simplifies onboarding, maintains consistent access policies, and reduces the risk of unauthorized actions within the system. From an integration standpoint, the Roles API enables developers to retrieve or manage role definitions programmatically. This is particularly useful when synchronizing user access with external identity systems, automating staff provisioning, or auditing permission structures across platforms. Learn more at: https://support.workflowmax.com/hc/en-us/sections/28080950578713-Roles • [GET Roles](https://api-docs.workflowmax.com/role/get-v2-roles.md): Retrieves a list of all roles defined in the WorkflowMax account. Each entry includes identifiers and basic metadata such as the role name. This endpoint is useful when displaying available roles for staff assignment or synchronizing role data with external systems. • [Custom Field](https://api-docs.workflowmax.com/custom-field.md): Custom fields in WorkflowMax allow organisations to tailor their data structure by capturing additional information that is specific to their business needs. These fields can be added to core objects such as clients, jobs, tasks, and more, providing flexibility beyond the standard fields available in the platform. Custom fields support a range of field types including text, number, date, dropdowns, and checkboxes. They are commonly used for tracking internal notes, compliance data, or industry-specific details that are not captured by default. Within the WorkflowMax application, custom fields are defined at the account level and can be configured through the settings area. Once set up, they appear on the relevant object forms and are included in both the web interface and API responses where applicable. By using custom fields, teams can enhance their workflows, streamline reporting, and maintain consistent data capture across the organisation. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773394063129-About-custom-fields • [GET Custom Fields](https://api-docs.workflowmax.com/custom-field/get-v2-custom-fields.md): The GET Custom Fields endpoint retrieves the configuration of all custom fields defined in the account settings. This includes metadata such as field name, type, applicable object (e.g. job, client), and any predefined options. Use this endpoint to understand which custom fields are available and how to structure data for reads and writes. • [POST Custom Fields](https://api-docs.workflowmax.com/custom-field/post-v2-custom-fields.md): Creates a new custom field in WorkflowMax. This endpoint allows you to define additional data fields that can be applied to supported record types, enabling businesses to capture and manage information tailored to their specific workflows and reporting needs. • [PUT Custom Field {UUID}](https://api-docs.workflowmax.com/custom-field/post-custom-fields-copy.md): Creates a new custom field in WorkflowMax. This endpoint allows you to define additional data fields that can be applied to supported record types, enabling businesses to capture and manage information tailored to their specific workflows and reporting needs. • [Custom Rates](https://api-docs.workflowmax.com/custom-rates.md): The Custom Rates endpoints allow integrations to manage billing rate overrides at a granular level, supplementing the default rates defined for tasks and staff members. Client task custom rates let you set a specific billable rate for a task when it is performed for a particular client, overriding the task's standard rate regardless of how the organisation's task invoice rate is configured. Staff task custom rates let you override the base and billable rates for a specific staff member working on a specific task - useful where a staff member's standard rate is not appropriate for certain work types, such as administrative tasks. Historic rates provide a record of superseded billing rates for staff and tasks. Each historic rate is associated with an "applied up to" date, which determines the rate used when reporting on or billing work completed before a given point in time. This ensures that billing and reporting remain accurate when rates change over time, without retroactively affecting past work. Together, these endpoints give integrations precise control over how billable work is priced, supporting scenarios such as client-specific pricing agreements, role-based rate adjustments, and accurate financial reporting across rate changes. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24872345194009-Set-a-custom-task-rate-for-a-client , https://support.workflowmax.com/hc/en-us/articles/24872371961241-Set-a-custom-staff-rate-for-a-task , https://support.workflowmax.com/hc/en-us/articles/24773438496537-About-historic-billing-rates • [DELETE Custom Rates](https://api-docs.workflowmax.com/custom-rates/delete-cost-uuid-copy.md): Delete a single custom rate record. Use this endpoint to remove a client-specific task rate that is no longer applicable, retire an outdated staff or task rate override, or clean up historic rates that are no longer needed for billing or reporting purposes. • [PUT Custom Rates](https://api-docs.workflowmax.com/custom-rates/delete-custom-rates-copy.md): Creates or updates a single custom rate record. Use this endpoint to set up client-specific task rates for new pricing agreements, adjust staff or task rate overrides as billing requirements change, or maintain historic rates to ensure accurate reporting and billing across rate changes. • [Client](https://api-docs.workflowmax.com/business-structure.md): Client Settings in WorkflowMax allow businesses to configure how clients are categorized and managed within the system. These settings include attributes such as client types and business structure that provide structure to client data. By defining and maintaining these settings, organizations can create a consistent framework for organizing clients, enabling easier reporting, analysis, and workflow automation. Users typically configure Client Settings during setup or as their client base evolves, ensuring clients are classified in ways that align with business requirements. For example, Client Types might separate clients by industry or size, while Business Structures can be used to cluster related clients with the same organizational framework. This structured approach supports accurate reporting, streamlined client management, and better segmentation for billing, marketing, and performance tracking. From an integration perspective, the Client Settings API enables developers to access and maintain these classifications programmatically. This ensures that client categories in WorkflowMax remain consistent with external systems such as CRMs, ERPs, or data warehouses, allowing for smooth synchronization and reliable reporting across platforms. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773406711577-About-client-settings • [GET Business Structures](https://api-docs.workflowmax.com/business-structure/get-v2-businessstructures.md): Provides a list of all the business Strutures in settings • [GET Client Types](https://api-docs.workflowmax.com/business-structure/get-v2-clienttypes.md): Retrieves a list of all client types configured in the WorkflowMax account. This is commonly used when creating or updating clients to ensure they are classified consistently, or when syncing client classification options with external systems. The list provides a structured view of available client types, including name, payment term,s and markup rate. • [Cost](https://api-docs.workflowmax.com/cost.md): Costs in WorkflowMax represent predefined expense items that can be added to jobs, such as materials, subcontractor fees, or fixed external charges. Configured at the account level via the settings area, each cost item typically includes a description, unit price, and optional supplier details. These reusable cost items streamline data entry, ensure consistency across jobs, and support accurate quoting and invoicing. Once set up, they can be selected when managing job costs or building templates, helping teams track actual vs estimated spend with greater clarity. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773435381145-About-costs • [POST Cost](https://api-docs.workflowmax.com/cost/post-v2-costs.md): Creates a new cost entry in WorkflowMax, allowing you to record expenses such as materials, travel, subcontractor fees, or other non-time-based costs linked to jobs. This endpoint is typically used when new expenses are incurred and need to be reflected in job costing or invoicing workflows. It ensures that all relevant costs are captured and can be included in financial reports or billed to clients as needed. • [PUT Cost {UUID}](https://api-docs.workflowmax.com/cost/put-v2-costs-uuid.md): Updates an existing cost entry by its unique identifier — allowing changes to attributes such as description, quantity, unit cost, markup, or billable status. This endpoint is typically used to correct inaccurate cost data, adjust expense details, or reflect changes in supplier pricing. It ensures job cost records remain accurate and up-to-date for billing, profitability analyses, and reporting. • [DELETE Cost {UUID}](https://api-docs.workflowmax.com/cost/delete-v2-costs-uuid.md): Deletes a specific cost entry from the cost admin in the organization. This endpoint is typically used when a cost was added in error or needs to be removed due to changes in job expenses or procurement records. Removing the cost helps maintain accurate financial and job costing data. • [GET Costs](https://api-docs.workflowmax.com/cost/get-v2-costs.md): Retrieves a list of all cost items configured in the account settings. Each item includes details such as name, description, unit price, and any linked supplier information. Use this to display or manage available costs for quoting, job planning, or reporting. • [GET Cost {UUID}](https://api-docs.workflowmax.com/cost/get-v2-costs-uuid.md): Retrieves the configuration details of a specific cost item by its unique ID. The response includes all relevant attributes such as the cost name, unit price, and supplier reference. This is useful when editing or validating cost data for a specific item. • [Job](https://api-docs.workflowmax.com/job.md): In WorkflowMax, Job Settings define the default configuration applied to newly created jobs, helping businesses maintain consistency and reduce manual setup effort. These settings can include defaults such as job category, job status, and template associations. By standardising these parameters, organisations ensure that all jobs start with the same foundational structure, making project tracking and reporting more reliable. Users typically configure Job Settings during the initial system setup or when refining operational processes. Adjustments to these settings allow administrators to align job creation with evolving business requirements, such as introducing, updating job categories, or modifying approval workflows. Because these settings apply automatically to all new jobs (unless overridden), they play a central role in shaping how work is managed across the organisation. From an integration perspective, the Job Settings API enables developers to retrieve the organisation’s default job parameters programmatically. This is particularly useful for ensuring external systems—such as CRM or project intake tools—can create jobs in WorkflowMax that are pre-configured with the correct defaults, maintaining data integrity and streamlining the job lifecycle. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773464118553-About-job-settings • [GET Job Templates](https://api-docs.workflowmax.com/job/get-v2-job-templates.md): Retrieves a list of all job templates configured in the WorkflowMax account. Each template includes its name, default phases, tasks, costs, milestones, and other structural settings that are applied when creating new jobs. This endpoint is useful for populating template pickers in external systems, synchronising standard job structures, or automating job creation with pre-defined configurations. • [GET Job Categories](https://api-docs.workflowmax.com/job/get-job-categories.md): Retrieves a list of all job categories configured in the account settings. Each category includes attributes such as the category name and any associated metadata. This endpoint is useful for displaying available categories when creating or managing jobs via the API. • [GET Job Statuses](https://api-docs.workflowmax.com/job/get-v2-job-status.md): Retrieves a list of all job statuses configured in the account settings. Each status includes attributes such as the status name, status type and display preference in the workflow. This endpoint is useful for displaying available statuses when creating or updating jobs via the API to ensure consistency with the organisation’s defined workflow. • [Staff](https://api-docs.workflowmax.com/staff.md): Staff in WorkflowMax are the users who contribute to jobs, track time, and engage with the platform day-to-day. Each staff member is configured in the account settings and includes key attributes such as name, contact details, job title, base rate, and billable rate. Staff may also be assigned different levels of access permissions, enabling you to control what areas of the application they can view or manage. Staff data plays a critical role across WorkflowMax – from allocating tasks and tracking timesheets, to generating invoices and reporting on profitability. Maintaining accurate and up-to-date staff information helps ensure time entries, costs, and billing are correctly attributed. Staff can also be grouped or filtered in various reports to analyse performance, capacity, or utilisation across your team. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773429299481-About-staff • [PUT Staff {UUID}](https://api-docs.workflowmax.com/staff/put-v2-staffs-uuid.md): Updates the details of an existing staff member identified by the specified UUID. This endpoint is used to modify staff information such as contact details, role settings, or status within WorkflowMax, ensuring staff records remain accurate and up to date. • [POST Staff](https://api-docs.workflowmax.com/staff/post-v2-staffs.md): Create and configure staff profiles within your WorkflowMax account to efficiently manage team members. This section enables you to add new staff with detailed information, assign roles and permissions, and set customized rates to streamline workforce administration. The "staff" section of the WorkflowMax API V2 allows users to manage and create staff members within their account. With this functionality, users can seamlessly add new team members, update existing staff information, and assign specific roles or permissions as needed. This section provides a comprehensive set of parameters to customize staff profiles, streamlining workforce management processes for efficient operation. • [GET Staff {UUID}](https://api-docs.workflowmax.com/staff/get-v2-staff-uuid.md): Retrieves the full details of a specific staff member by their unique ID. The response includes personal details, contact information, and relevant configuration data such as their rates and active status. This is typically used when displaying or editing a specific staff profile. • [GET Staff](https://api-docs.workflowmax.com/staff/get-v2-staff.md): Retrieves a list of all staff members configured in the account. Each entry includes key details such as name, email, and basic settings like cost and billing rates. This endpoint is useful for populating staff selectors or syncing user data with external systems. • [Tax](https://api-docs.workflowmax.com/tax.md): Taxes in WorkflowMax define the rates applied to billable items, quotes, purchase orders, and invoices to meet the organisation’s tax compliance requirements. Each tax rate includes key attributes such as the tax name and tax rate. These settings ensure consistent calculation and reporting of tax across all financial transactions in the system. When WorkflowMax is integrated with Xero, tax rates are synced directly from Xero and managed there. In this case, tax rates in WorkflowMax become read-only and cannot be edited within the organisation settings. This seamless integration ensures that tax calculations remain consistent across both platforms, avoiding discrepancies and simplifying compliance. Users typically manage tax rates either directly in WorkflowMax (when not integrated with Xero) or exclusively in Xero (when integration is active). The Tax API allows developers to retrieve tax rate information for use in external systems, ensuring financial data consistency and supporting real-time tax calculations based on the source of truth. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24872270966297-Edit-organisation-settings • [GET Taxes](https://api-docs.workflowmax.com/tax/get-v2-taxes.md): Retrieves a list of all tax rates configured for the organisation. This includes details such as tax names and tax rate. When WorkflowMax is integrated with Xero, the returned tax rates reflect those synced from Xero and are read-only within WorkflowMax. Useful for displaying available tax options or validating tax calculations in external systems. • [Lead](https://api-docs.workflowmax.com/lead.md): Lead Settings in WorkflowMax define the configurable options that shape how leads are managed within the system. These settings typically include lead categories and lead templates that help organisations track and qualify potential work opportunities before they are converted into jobs. By customising Lead Settings, businesses can align lead attributes with their internal sales processes and reporting requirements. Users interact with Lead Settings primarily through the WorkflowMax account settings interface. Administrators can create, edit, or remove categories and templates to reflect their unique sales stages, from initial enquiry through to acceptance or decline. These settings ensure consistency in how leads are categorised, making it easier for teams to monitor pipelines and measure conversion performance. From an integration perspective, the Lead Settings API provides programmatic access to these configurations. This allows developers to sync lead metadata with external CRM or marketing tools, automate sales reporting, or enforce consistent lead categorisation across multiple platforms. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773412267673-About-lead-settings • [GET Lead Categories](https://api-docs.workflowmax.com/lead/get-v2-lead-categories.md): Retrieves a list of all lead categories configured in the account settings. Each category includes attributes such as the category name and display preference. This endpoint is useful for displaying available categories when creating or updating leads via the API, helping maintain consistent classification for reporting and workflow purposes. • [GET Lead Status](https://api-docs.workflowmax.com/lead/get-lead-status.md): Returns the list of lead statuses configured for the organisation, representing the stages in a firm's sales pipeline, along with each status's type and probability. Use it to populate a status selector, build a custom pipeline view, or calculate weighted pipeline value. • [Task](https://api-docs.workflowmax.com/task.md): task includes a name, description, estimated time, billing rate, and whether it is billable or not. Tasks are typically configured in the account settings and then assigned to jobs during job setup. This allows teams to standardise their workflows, accurately allocate time, and consistently bill clients based on the type of work performed. Tasks are fundamental to time tracking, job costing, and invoicing. Staff members log time against tasks, and this data flows through to reports, profitability insights, and billing processes. Predefined tasks can also be bundled into task templates to simplify job creation for repeatable work types. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773483796505-About-tasks • [POST Tasks](https://api-docs.workflowmax.com/task/post-v2-tasks.md): Create new tasks within your projects to define and organize work items with detailed attributes such as rates, descriptions, and tax information. This functionality enables precise task management and customization, allowing you to tailor billing, staff assignments, and historical rates to fit your project needs. • [PUT Task {UUID}](https://api-docs.workflowmax.com/task/post-tasks-copy.md): Update the attributes of a task identified by its UUID. Use this endpoint to modify properties such as the task’s name, description, billing settings (billable or non‑billable), associated rates (if applicable), default scheduling/phase settings, and any metadata that defines the task’s behaviour in jobs or quotes. This mirrors the “Edit a task” functionality in the UI and allows you to adjust task definitions without recreating them. • [GET Task {UUID}](https://api-docs.workflowmax.com/task/get-v2-tasks-uuid.md): Retrieves the configuration details of a specific task by its unique ID. The response includes all relevant task properties, such as estimated time, default rate, and billable status. This is typically used for displaying task details or validating task data during job creation or updates. • [GET Tasks](https://api-docs.workflowmax.com/task/get-v2-tasks.md): Retrieves a list of all tasks configured in the account settings. Each task includes metadata such as the name, description, billing rate, and whether it is billable. Use this endpoint to display or manage the available task options when creating or editing jobs via the API. • [DELETE Task {UUID}](https://api-docs.workflowmax.com/task/delete-v2-tasks-uuid.md): Deletes a specific task from WorkflowMax by its unique identifier. This endpoint is typically used when a task is no longer required or was created in error, helping keep task lists and job structures accurate and up to date. Removing a task ensures it no longer appears in planning, time entry, or reporting workflows. The existing jobs or projects with deleted task will not be impacted. • [Job](https://api-docs.workflowmax.com/job-1.md): Jobs in WorkflowMax represent the core unit of work for tracking client engagements, internal projects, and service delivery. Each job contains essential information such as the client, job number, start and due dates, assigned staff, tasks, costs, and billing details. Jobs allow users to manage time, expenses, and profitability on a per-project basis, supporting visibility and control across the full project lifecycle. Jobs are typically created at the start of a new engagement or project and progress through various stages—such as in progress, completed, or invoiced—based on custom workflows. Users interact with jobs to schedule work, log time, assign resources, track costs, and generate invoices. The job object links to other core components in WorkflowMax, including clients, tasks, quotes, and invoices, making it central to financial and operational reporting. Jobs are especially important for service businesses that need to track billable time, compare actuals against estimates, and ensure accountability across teams and clients. The Jobs API enables developers to access, monitor, and manipulate job data to support integrations with CRMs, time-tracking tools, reporting systems, or custom business workflows. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773464714521-About-jobs • [GET Job {Identifier}](https://api-docs.workflowmax.com/job-1/get-v2-jobs-uuid.md): Returns detailed information about a specific job, including its tasks, costs, milestones, assigned staff, and billing settings. Typically used when viewing or syncing a full job record, preparing job-based invoices, or analyzing performance metrics for a particular project. • [GET Jobs](https://api-docs.workflowmax.com/job-1/get-v2-jobs.md): Retrieves a list of jobs in the system, including high-level details such as job ID, name, status, client, and important dates. Common use cases include syncing job data to external systems, generating summary reports, or displaying job lists in custom dashboards. Supports filtering by client, job status, and other attributes, and includes pagination for large datasets. • [GET Recurring Jobs](https://api-docs.workflowmax.com/job-1/get-recurring-jobs.md): Returns a list of all recurring job configurations set up within the organisation. Recurring jobs are designed for businesses that provide regular, ongoing work to clients - such as IT support or other contract-based services - and are used to automatically generate new jobs at a defined frequency or on set dates. This endpoint is commonly used to audit active recurring schedules, sync them with external systems, or populate management views that surface upcoming job creation activity. • [POST Job](https://api-docs.workflowmax.com/job-1/post-v2-jobs.md): Creates a new job in WorkflowMax, allowing you to define its core attributes such as client, job number, start and due dates, budget settings, and default job configurations. This endpoint is typically used when setting up a new project or engagement via integrations or internal workflow automation. It ensures new jobs are instantiated with the correct parameters and ready for task assignment, time tracking, or billing. • [DELETE Job {identifier}](https://api-docs.workflowmax.com/job-1/delete-v2-jobs-uuid.md): Deletes a specific job from WorkflowMax by its unique identifier. This endpoint is typically used to remove jobs that were created in error or are no longer required, ensuring the system remains clean and accurate. Deleting a job also removes its associated data from active workflows and reporting. • [PUT Job {Identifier}](https://api-docs.workflowmax.com/job-1/post-job-copy.md): Update the details of a job identified by its unique UUID. You can modify general job information (client, contact, description, status, category), schedule data (start date, due date, priority), assigned staff or managers, and any other editable fields supported by the job — effectively mirroring the “Edit job” functionality in the UI. This enables changes to a job’s metadata, scheduling or workflow state without recreating it. • [POST Job {Identifier} Job Templates](https://api-docs.workflowmax.com/job-1/post-v2-jobs-jobuuid-job-templates.md): Apply one or more existing job templates to a job identified by its UUID. This will add to the job a predefined set of tasks, milestones, costs, to‑do items and other template‑defined structure — effectively merging template contents into an existing job. Use this endpoint to streamline setup of recurring or standard‑structure jobs without manually recreating all work items. • [Job - Staff](https://api-docs.workflowmax.com/job-staff.md): The Job - Staff object represents the association between a staff member and a job in WorkflowMAX. Assigning staff to a job controls who can log time against it and determines visibility in scheduling and workload views. A job can have multiple staff members assigned, and assignments are additive - existing associations are preserved when new staff are added. In practice, managers assign staff to jobs when setting up work, either at the job level for general access or at the task level when specific time allocations are required per staff member. At the task level, estimated time can be distributed across assigned staff, which feeds directly into capacity planning and utilisation reporting. Where staff time-allocation mode is active, the sum of all individual allocations must equal the task's total estimated time, or the request will be rejected. This object sits at the intersection of job management and people management workflows. It underpins timesheet logging permissions, drives capacity plan data, and informs the workload views that managers use to balance team assignments. Integrations that create jobs programmatically should include staff assignment as a follow-up step to ensure staff can record time and that capacity data remains accurate. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773535682969-Add-or-edit-a-staff-member • [POST job {identifier} staff](https://api-docs.workflowmax.com/job-staff/get-job-identifier-copy-1.md): Assigns one or more staff members to a job and optionally sets a custom billable rate per staff member, overriding the default rate defined in the task or organisation catalogue. Use this endpoint when specific team members need to be allocated to a job, or when a staff member's billable rate for a particular job differs from their standard rate. • [PUT job {identifier} staff](https://api-docs.workflowmax.com/job-staff/post-job-identifier-staff-copy.md): Update a custom billable rate for a specific staff member assigned to a specific job, overriding the default rate defined in the task or organisation catalogue. Use this endpoint when a staff member's billable rate for a particular job differs from their standard rate. • [DELETE Job {Identifier} staff {UUID}](https://api-docs.workflowmax.com/job-staff/get-job-identifier-copy.md): Unassign a specific staff member from a job using the job identifier and staff unique identifier. This is typically used when a staff member's involvement in a job has ended or they were assigned in error, and their association needs to be withdrawn. The job record and the staff member's profile are not affected by this operation. • [Job - Cost](https://api-docs.workflowmax.com/job-cost.md): Costs in WorkflowMax represent non-time-based expenses associated with delivering a job, such as materials, subcontractor fees, travel expenses, or purchased items. These costs can be estimated during the quoting phase or added during the job execution to reflect actual expenditure. Each cost item typically includes attributes such as description, quantity, unit cost, markup, supplier details, and whether the cost is billable. Job costs play a critical role in budgeting, profitability tracking, and invoicing. Users typically enter costs manually or import them from supplier bills or purchase orders. Costs can be flagged for billing to ensure they appear on client invoices, either as disbursements or as part of fixed-price work. In reporting, job costs are used to calculate actual vs. estimated margins and assess financial performance across jobs and clients. For developers, the Job Cost API provides access to all cost records linked to a specific job. This is useful for integrating with external procurement systems, automating cost reconciliation, or surfacing financial insights in custom reporting tools. Learn more at: https://support.workflowmax.com/hc/en-us/sections/24730519965593-Costs-in-jobs • [GET Job {UUID} costs](https://api-docs.workflowmax.com/job-cost/get-v2-jobs-uuid-costs.md): Retrieves a list of all cost items associated with a specific job, including details such as description, quantity, unit cost, total amount, and billing status. Commonly used to reconcile expenses, generate job profitability reports, or prepare client invoices. Supports pagination for jobs with many cost entries. • [GET Job costs](https://api-docs.workflowmax.com/job-cost/get-job-costs.md): Retrieves a list of all cost items within the organization, including details such as description, quantity, unit cost, total amount, and billing status. Commonly used to reconcile expenses, generate job profitability reports, or prepare client invoices. Supports pagination for jobs with many cost entries. • [POST Job {Identifier} Cost](https://api-docs.workflowmax.com/job-cost/post-v2-jobs-uuid-costs-copy.md): Add detailed cost entries to a specific job to track materials, expenses, or subcontractor charges associated with project delivery. This enables real-time updates to job financials, supporting accurate and comprehensive job costing within WorkflowMax. Creates a new cost entry for the specified job, allowing you to record materials, expenses, or subcontractor charges associated with job delivery. This endpoint is commonly used when external systems need to push purchase, inventory, or expense data into WorkflowMax. It supports accurate job costing by enabling real-time updates to a job’s financials. • [PUT Job Cost {UUID}](https://api-docs.workflowmax.com/job-cost/post-job-identifier-cost-copy.md): Update the details of an existing cost entry (identified by its UUID) on the job specified by {jobUUID} . Use this endpoint to modify cost attributes such as cost name/description, date incurred, quantity, unit cost, unit price (or override markup), supplier, phase, billable flag, cost type, cost‑code or cost notes. This lets clients adjust or correct previously added costs on a job — for example to reflect actual expenses, correct quantities, change supplier or billing status — without needing to remove and re‑add the cost manually. • [Job - Task](https://api-docs.workflowmax.com/job-task.md): Job tasks in WorkflowMax represent the individual pieces of work that make up a job. Each task defines the type of work to be performed, its estimated hours, billable rate, and whether it is billable or non-billable. By breaking jobs into tasks, businesses can track time, costs, and profitability at a more granular level, making it easier to monitor progress against budgeted estimates. Users typically interact with job tasks when setting up a new job, allocating work to staff, or recording timesheets. Tasks provide the structure for capturing actual effort and costs, which then flow into invoicing, reporting, and job profitability analysis. They also ensure that teams have a clear breakdown of responsibilities and project managers can track how each component of a job contributes to the overall outcome. From an integration perspective, the Job Tasks API allows developers to retrieve details of the tasks assigned to jobs, enabling synchronization with project management tools, reporting systems, or billing platforms. This is especially valuable for custom reporting, workload planning, or automating workflows that depend on job task breakdowns. Learn more at: https://support.workflowmax.com/hc/en-us/sections/24730538688409-Tasks-in-jobs • [PUT Job Task {UUID}](https://api-docs.workflowmax.com/job-task/put-v2-jobs-tasks-jobtaskuuid.md): Update the details of an existing job task to keep task information accurate and aligned with evolving project requirements. This allows you to modify attributes such as the task’s name, description, estimated time, assigned staff, and custom fields, enabling precise management throughout the job lifecycle. Updates the details of an existing job task, such as its name, description, estimated time, or assigned staff. This endpoint is typically used to keep task information in sync with external planning or scheduling tools, or to make adjustments as job requirements change. It enables precise control over task management throughout the job lifecycle. • [POST Job {identifier} Task](https://api-docs.workflowmax.com/job-task/post-v2-jobs-uuidtasks.md): Creates a new task within the specified job, allowing you to define work items such as deliverables, phases, or billable activities. This endpoint is typically used when adding tasks during job setup or when dynamically adjusting job scope through external systems. It supports efficient job planning by enabling integrations to programmatically structure and update job workflows. • [GET Jobs Tasks](https://api-docs.workflowmax.com/job-task/get-v2-jobs-tasks.md): This section enables users to retrieve a comprehensive list of all tasks assigned across jobs within an organization. It facilitates reporting, workload analysis, and data synchronization by providing detailed task information, including task specifics, associated jobs, and related milestones. Retrieves a list of all tasks assigned across jobs in the account. Each task record includes details such as the task name, estimated hours, billable rate, and job association. This endpoint is commonly used for reporting, syncing task data into external systems, or analyzing workload and performance across multiple jobs. • [DELETE Job Task {UUID}](https://api-docs.workflowmax.com/job-task/delete-v2-jobs-tasks-jobtaskuuid.md): Deletes a specific task from a job, removing it from the job’s workflow and associated planning. This endpoint is typically used when a task is no longer required or was created in error. It helps maintain clean and accurate job structures by allowing external systems to manage and refine task lists programmatically. • [Job - Note](https://api-docs.workflowmax.com/job-note.md): Job Notes in WorkflowMax provide a simple and effective way to record key information, updates, or discussions related to a job or task. They are used by teams to capture context that supports collaboration, ensures accountability, and maintains a clear record of decisions or progress. Each note typically includes the content, author, creation date, and the associated job or task, forming part of the job’s communication history. Users interact with job notes throughout the job lifecycle—for example, to log meeting outcomes, track client communications, or document internal updates. Notes can be added, edited, or deleted directly within a job or task, helping teams keep all relevant information in one place. This promotes transparency and continuity across team members, especially in multi-user or long-term projects. The Job Notes API allows external systems to read, create, and manage notes programmatically. This can support use cases such as syncing project updates from other tools, automatically logging system-generated events, or integrating communication records into WorkflowMax jobs and tasks. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773410884505-About-job-and-task-notes • [POST Jobs {UUID} Notes](https://api-docs.workflowmax.com/job-note/post-v2-jobs-jobuuid-notes.md): Creates a new note associated with a specific job or task. This endpoint is often used to record comments, meeting summaries, or automated system updates directly into WorkflowMax from integrated tools. • [Document](https://api-docs.workflowmax.com/job-document.md): Documents in WorkflowMax provide a central place to store and manage files related to a object. These files can include contracts, design specifications, images, reports, or any other supporting documentation that is important to the delivery of work. By attaching documents directly to a job, teams can keep critical information organised and accessible to everyone involved, reducing reliance on scattered email threads or external storage systems. Each document record stores key attributes such as the file name, type, size, and the date it was uploaded, along with information about the user who uploaded it. Documents can be added, retrieved, or deleted, giving users flexibility to manage project-related files as the process progresses. Permissions and access are managed according to user roles, ensuring that sensitive information is only visible to the right people. Within the broader WorkflowMax workflow, documents help teams maintain a complete digital record of an item from start to finish. This makes collaboration easier, supports compliance with record-keeping requirements, and provides a valuable reference for future projects. Documents are often used alongside notes and comments to provide context and communication directly within the job workspace. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773379476889-About-documents-notes-and-comments • [Purchase Order](https://api-docs.workflowmax.com/job-document/purchase-order.md): Documents attached to purchase orders in WorkflowMax provide a central location for storing files related to procurement activities. These may include supplier quotes, purchase confirmations, delivery notes, or invoices that support the purchasing process. By linking documents directly to a purchase order, users can ensure that all relevant information is easily accessible for review, approval, and audit purposes. • [GET Purchase Order {UUID} Documents](https://api-docs.workflowmax.com/job-document/purchase-order/get-v2-purchase-orders-purchaseorderuuid-documents.md): Retrieves a list of all documents associated with a specific purchase order. Each document includes details such as the file name, type, size, upload date, and the user who uploaded it. This endpoint is commonly used to display job-related files in external systems, sync documents for offline access, or provide visibility into the supporting materials linked to a job. • [POST Purchase Order {UUID} Documents](https://api-docs.workflowmax.com/job-document/purchase-order/post-v2-purchase-orders-purchaseorderuuid-documents.md): Uploads a new document and attaches it to the specified purchase order. This endpoint is typically used to store supporting files such as supplier quotes, receipts, or delivery confirmations directly against a purchase order for reference and audit purposes. • [Job](https://api-docs.workflowmax.com/job-document/job.md): Job documents in WorkflowMax allow users to store and manage files directly associated with a job. These may include project briefs, client approvals, drawings, or completed deliverables that are essential to job execution. Attaching documents to a job helps maintain a clear record of supporting materials, enhances team collaboration, and ensures that critical information is available throughout the project lifecycle. • [GET Job {UUID} Documents](https://api-docs.workflowmax.com/job-document/job/get-v2-jobs-jobuuid-documents.md): Retrieves a list of all documents associated with a specific job. Each document includes details such as the file name, type, size, upload date, and the user who uploaded it. This endpoint is commonly used to display job-related files in external systems, sync documents for offline access, or provide visibility into the supporting materials linked to a job. • [POST Job {UUID} Documents](https://api-docs.workflowmax.com/job-document/job/post-purchase-order-uuid-documents-copy.md): Uploads a document and attaches it to the specified job. This endpoint allows you to store files such as contracts, specifications, or supporting materials directly against a job record, making them accessible within WorkflowMax for reference and collaboration. • [Client](https://api-docs.workflowmax.com/job-document/client.md): Client Documents in WorkflowMax allow teams to store and manage files associated directly with a client record. These may include contracts, onboarding forms, reference materials, or any documentation relevant to managing the client relationship. Storing documents at the client level ensures important information is easily accessible across all jobs and interactions with that client. Each document entry retains key metadata such as file name, upload date, size, and the user who uploaded it. Documents can be added, viewed, or removed as needed, helping organisations maintain a complete and organised repository of client-related files. This supports efficient account management, improves collaboration, and provides a reliable source of truth for client documentation. • [GET Client {UUID} Documents](https://api-docs.workflowmax.com/job-document/client/get-v2-clients-clientuuid-documents.md): Retrieves a list of all documents attached to the specified client. The response includes metadata such as file names, upload dates, sizes, and uploader information, allowing systems to display or manage client-level files. This endpoint is commonly used to surface client documents in external portals, sync them with document-management tools, or support audit and record-keeping workflows. • [POST Client {UUID} Documents](https://api-docs.workflowmax.com/job-document/client/post-purchase-order-uuid-documents-copy-1.md): Uploads a document and attaches it to the specified client. This endpoint is used to store client-related files such as agreements, onboarding documents, or correspondence, ensuring they are centrally available within WorkflowMax for easy access and ongoing reference. • [Supplier](https://api-docs.workflowmax.com/job-document/supplier.md): The Supplier Documents endpoints enable you to store and manage files related to your suppliers within WorkflowMax. This includes documents such as contracts, compliance certificates, agreements, or other supporting materials. Attaching documents to a supplier record ensures important information is centrally stored and easily accessible for reference and auditing. • [GET Supplier {UUID} Documents](https://api-docs.workflowmax.com/job-document/supplier/get-lead-uuid-documents-copy.md): Retrieves a list of all documents associated with a specific supplier. Each document includes details such as the file name, type, size, upload date, and the user who uploaded it. This endpoint is commonly used to display supplier-related files in external systems, sync documents for offline access, or provide visibility into the supporting materials linked to a job. • [POST Supplier {UUID} Documents](https://api-docs.workflowmax.com/job-document/supplier/post-job-uuid-documents-copy.md): Uploads a document and attaches it to the specified supplier. This endpoint is used to store supplier-related files such as contracts, compliance documents, or supporting materials, making them accessible within WorkflowMax for reference and record-keeping. • [Lead](https://api-docs.workflowmax.com/job-document/lead.md): The Lead Documents endpoints allow you to upload and manage files associated with individual leads in WorkflowMax. This may include proposals, briefing documents, correspondence, or supporting materials relevant to the opportunity. Storing documents against a lead ensures all pre-sales information is centralised and easily accessible throughout the sales process. • [GET Lead {UUID} Documents](https://api-docs.workflowmax.com/job-document/lead/get-job-uuid-documents-copy.md): Retrieves a list of all documents associated with a specific lead. Each document includes details such as the file name, type, size, upload date, and the user who uploaded it. This endpoint is commonly used to display lead-related files in external systems, sync documents for offline access, or provide visibility into the supporting materials linked to a job. • [POST Lead {UUID} Documents](https://api-docs.workflowmax.com/job-document/lead/post-supplier-uuid-documents-copy.md): Uploads a document and attaches it to the specified lead. This endpoint is used to store lead-related files such as contracts, compliance documents, or supporting materials, making them accessible within WorkflowMax for reference and record-keeping. • [Quote](https://api-docs.workflowmax.com/job-document/quote.md): The Quote Documents endpoints allow you to upload and manage files associated with individual quotes in WorkflowMax. This may include signed approvals, terms and conditions, supporting specifications, or any correspondence relevant to the quoting process. Storing documents against a quote ensures all pre-sales collateral is centralised and easily accessible throughout the approval workflow. • [GET Quote {UUID} Documents](https://api-docs.workflowmax.com/job-document/quote/get-lead-uuid-documents-copy-1.md): Retrieves a list of all documents associated with a specific quote. Each document includes details such as the file name, type, size, upload date, and the user who uploaded it. This endpoint is commonly used to display quote-related files in external systems, sync documents for offline access, or provide visibility into the supporting materials linked to a job. • [POST Quote {UUID} Documents](https://api-docs.workflowmax.com/job-document/quote/post-lead-uuid-documents-copy.md): Uploads a document and attaches it to the specified quote. This endpoint is used to store quote-related files such as signed approvals, terms and conditions, supporting specifications, or any correspondence relevant to the quoting process, making them accessible within WorkflowMax for reference and record-keeping. • [Timesheet](https://api-docs.workflowmax.com/timesheet.md): Timesheets in WorkflowMax capture time recorded by staff against specific jobs and tasks, forming the foundation for time-based billing, job costing, and productivity tracking. Each entry includes attributes such as the staff member, date, job, task, number of hours worked, and optional notes. Timesheets allow businesses to monitor how time is spent across projects and ensure accurate invoicing for billable work. Users typically log time manually via the web interface or mobile app, or through integrated time-tracking tools. Timesheet data is automatically linked to jobs and tasks, contributing to actual costs and progress tracking. This enables managers to assess resource utilization, compare actuals against estimates, and generate performance or billing reports based on real-time input from staff. From an integration perspective, the Timesheets API enables developers to access, sync, and analyze time records across the system or for individual users or jobs. This is especially valuable for custom reporting, payroll processing, or integrating with third-party time management platforms. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773474827161-About-timesheets • [PUT Timesheets {UUID}](https://api-docs.workflowmax.com/timesheet/put-v2-timesheets-uuid.md): Updates an existing timesheet entry with new details such as work duration, date, associated job or task, or notes. This endpoint is typically used when correcting logged hours, adjusting task allocations, or refining timesheet data after initial entry. It supports maintaining accurate time records for billing, payroll, and job costing. • [DELETE Timesheet {UUID}](https://api-docs.workflowmax.com/timesheet/delete-v2-timesheets-uuid.md): Deletes a specific timesheet entry by its identifier. Typically used to remove incorrect or duplicate records, ensuring data accuracy in time and job reporting. • [POST Timesheet](https://api-docs.workflowmax.com/timesheet/post-timesheet.md): Creates a new timesheet entry in the system for a specified staff member, job, and task. Includes details such as date, hours worked, and optional notes. Useful for logging new work hours via integrations, bulk time imports, or automated time tracking workflows. • [GET Timesheets](https://api-docs.workflowmax.com/timesheet/get-v2-timesheets.md): Retrieves a list of all timesheet entries in the account, including details such as date, duration, job, task, and staff member. This endpoint is commonly used for reporting, syncing with payroll or HR systems, and exporting time data. Supports filtering by date range, staff, and job, with pagination for large datasets. • [GET Timesheet Approvals](https://api-docs.workflowmax.com/timesheet/get-timesheet-approvals.md): Returns a list of timesheets and their current approval status - such as Draft, Awaiting Approval, Submitted, or Changes Requested - along with submission and approval histories, and the time entries included in each weekly timesheet submission. This endpoint is commonly used to monitor outstanding approvals, build approval dashboards, or sync timesheet data with external HR or payroll systems. • [GET Timesheet {UUID}](https://api-docs.workflowmax.com/timesheet/get-v2-timesheets-uuid.md): Returns a single timesheet entry by its unique identifier, including full detail of the job, task, staff member, hours logged, and notes. Typically used when viewing or updating a specific time record, or validating data as part of a sync or audit process. • [Capacity Plan](https://api-docs.workflowmax.com/capacity-plan.md): A Capacity Plan in WorkflowMAX provides a structured view of staff workload across a defined period, helping firms manage resource allocation against active and upcoming jobs. It aggregates estimated task time, allocated hours, and timesheet actuals per staff member, giving practice managers a clear picture of who is over- or under-utilised at any point in time. Key attributes include staff member, date range, allocated minutes per task, estimated minutes, and job associations. Capacity Plans are primarily used by managers and team leads to balance workloads before assigning new work, avoid scheduling conflicts, and maintain delivery timelines. Within WorkflowMAX, users typically interact with capacity data through the Capacity Planning view in the UI, where they can adjust task allocations and reassign work in response to leave, shifting priorities, or new client engagements. The object is closely related to Jobs, Job Tasks, and Staff, and sits at the intersection of project management and people management workflows. For integrations, the Capacity Plan API is most useful for building custom reporting dashboards, syncing allocation data to external resource management tools, or triggering alerts when staff utilisation exceeds defined thresholds. Consumers should be aware that capacity data reflects the organisation's current task and timesheet state, so results may change frequently in active environments. Learn more at: https://workflowmax.com/job-management-software/capacity-planning • [GET Capacity Plan](https://api-docs.workflowmax.com/capacity-plan/get-capacity-plan.md): Returns a paginated list of capacity plan entries for the organisation, representing allocated and estimated time per staff member across jobs and tasks for a given date range. Common use cases include generating utilisation reports, populating external scheduling tools, and identifying over-capacity staff ahead of sprint or project planning. • [Client](https://api-docs.workflowmax.com/client.md): Clients in WorkflowMax represent the businesses or individuals your organisation works with. Each client record includes key contact and billing information such as name, address, email, phone number, tax details, and payment terms. Clients form the foundation for many core workflows in WorkflowMax, as every job, quote, and invoice must be linked to a client. You can associate multiple contacts, jobs, quotes, and documents with a single client, allowing for comprehensive tracking of all interactions and work done. Maintaining accurate client records supports efficient client management, streamlined invoicing, and insightful reporting across the customer base. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773379250073-About-clients • [POST Clients](https://api-docs.workflowmax.com/client/post-v2-clients.md): Creates a new client record in WorkflowMax. This endpoint is used to capture key client details such as name, contact information, and business details, allowing the client to be selected and referenced across jobs, quotes, and invoicing. • [PUT Clients {UUID}](https://api-docs.workflowmax.com/client/post-clients-copy.md): Updates the details of an existing client record identified by its unique identifier. This endpoint is typically used to reflect changes to client information such as contact details, billing address, or account settings. Note that this operation replaces the existing record data, so ensure all required fields are included in the request payload to avoid unintended data loss. • [DELETE Clients {UUID}](https://api-docs.workflowmax.com/client/put-clients-uuid-copy.md): Permanently deletes an archived client from the system. Use this endpoint to remove client records that are no longer needed, such as duplicate entries or former clients whose data has already been fully reconciled. Associated objects such as jobs and invoices are not affected by the deletion. • [GET Clients](https://api-docs.workflowmax.com/client/clients.md): Retrieves a list of all clients in the account, including basic details such as name, client UUID, and key contact information. This endpoint supports filtering and pagination, and is commonly used to populate client selectors or to sync client data with other systems. • [GET Client {UUID}](https://api-docs.workflowmax.com/client/get-v2-clients-uuid.md): Retrieves the full details of a specific client by their unique UUID. The response includes all client-related fields, including contact and billing details, tax settings, and any linked metadata. Use this endpoint when viewing or editing client information within an integration or custom interface. • [Client Group](https://api-docs.workflowmax.com/client-group.md): Client Groups in WorkflowMax allow businesses to organize multiple clients under a single umbrella, making it easier to manage billing, reporting, and workflows for related entities. For example, a parent company and its subsidiaries can be grouped together, enabling consolidated reporting and shared management while still maintaining separate client records. Each Client Group contains attributes such as its name and the clients assigned to it. Users typically create and manage Client Groups through the account settings, assigning clients to groups as needed. This ensures that reporting and invoicing can reflect organizational structures more accurately, while also simplifying administration when dealing with large or complex client networks. From an integration perspective, the Client Groups API enables developers to retrieve, create, update, or delete group records programmatically. This is particularly useful for syncing organizational hierarchies from external systems or automating updates when client structures change. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773513236505-Client-groups • [DELETE Client Group {UUID}](https://api-docs.workflowmax.com/client-group/delete-v2-client-groups-uuid.md): Permanently removes a client group from the system using its unique identifier. This is typically used when a grouping is no longer relevant - for example, if a client segment has been retired or consolidated into another group. Note that you should verify any client associations before deletion to avoid unintended impact on reporting or workflows that reference the group. • [GET Client Groups](https://api-docs.workflowmax.com/client-group/get-v2-client-groups.md): Retrieves a list of all client groups configured in the account. Each group includes details such as its name and the clients assigned to it. This endpoint is commonly used to display available groups when creating or updating client records via the API. • [GET Client Group {UUID}](https://api-docs.workflowmax.com/client-group/get-v2-client-groups-uuid.md): Returns detailed information about a specific client group by its unique identifier. This is useful when reviewing group composition or ensuring a client is associated with the correct group. • [POST Client Group](https://api-docs.workflowmax.com/client-group/post-v2-client-groups.md): Creates a new client group in WorkflowMax. Client groups allow you to organise clients into logical categories for easier management, reporting, and filtering. • [PUT Client Group {UUID}](https://api-docs.workflowmax.com/client-group/put-v2-client-groups-uuid.md): Updates the details of an existing client group identified by the specified UUID. This endpoint is typically used to modify attributes such as the group name or description. • [POST Client Group {UUID} Client](https://api-docs.workflowmax.com/client-group/post-v2-client-groups-uuid-client.md): Adds one or more clients to the specified client group. This endpoint allows you to associate existing client records with a group, making it easier to manage and report on related clients collectively. • [DELETE Client Group {UUID} Client](https://api-docs.workflowmax.com/client-group/delete-client-group-uuid-copy.md): Removes one or more clients from the specified client group. This endpoint disassociates the client from the group without deleting the client record from WorkflowMax. • [Client Contact](https://api-docs.workflowmax.com/client-contact.md): Contacts in WorkflowMax represent individual people associated with a client organization. Each contact record typically includes key details such as name, email address, phone number, job title, and addressee. These contacts serve as the primary communication points for quotes, jobs, invoices, and other client interactions. Users manage contacts directly within a client’s record, assigning one or more contacts to each client based on their role in the relationship—such as billing contact, project stakeholder, or decision maker. Keeping contact information up to date is critical for ensuring that communications, approvals, and notifications are delivered to the correct individuals. Contacts also support filtering, searching, and categorization within the broader client management workflow. The Client Contact API allows developers to retrieve and manage contact data linked to clients, enabling integrations with CRMs, marketing tools, or customer service platforms. This helps maintain consistent contact information across systems and streamline client engagement workflows. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773435285401-About-contacts • [DELETE Client Contacts {UUID}](https://api-docs.workflowmax.com/client-contact/delete-v2-clients-contacts-uuid.md): Deletes the specified client contact identified by its unique UUID. This endpoint permanently removes the contact record from WorkflowMax, and should be used with care as the action cannot be undone. • [DELETE Client {UUID} Contacts {UUID}](https://api-docs.workflowmax.com/client-contact/delete-client-contacts-uuid-copy.md): Removes a specific contact from a client record using the client and contact unique identifiers. This is typically used when a contact is no longer associated with a client - for example, if they have left the organisation or their role has changed such that they are no longer a relevant point of contact. The client record itself is not affected by this operation. • [GET Client Contacts {UUID}](https://api-docs.workflowmax.com/client-contact/get-v2-clients-contacts-uuid.md): Retrieves detailed information for a specific contact associated with a client, including name, contact details, and client relationship. Commonly used when displaying or validating contact data within an integration or syncing contact records with external systems. • [PUT Client Contacts {UUID}](https://api-docs.workflowmax.com/client-contact/put-v2-clients-contacts-uuid.md): Updates an existing client contact identified by the specified UUID. This endpoint allows you to modify contact details such as name, email address, phone numbers, or role, ensuring client contact information in WorkflowMax remains current and accurate. • [POST Client Contacts](https://api-docs.workflowmax.com/client-contact/post-v2-clients-contacts.md): Creates a new contact and associates it with a client in WorkflowMax. This endpoint is used to add client contact details such as name, email address, phone numbers, and role, enabling accurate communication and relationship management. • [POST Client {UUID} Contacts](https://api-docs.workflowmax.com/client-contact/get-client-uuid-copy.md): Adds a new contact to an existing client record. The request body accepts the contact's details, including their role, whether they are the primary contact, and whether they should be included in emails sent to the client. Use this endpoint when onboarding a new client or expanding the list of contacts for an existing account. • [PUT Client {UUID} Contacts {UUID}](https://api-docs.workflowmax.com/client-contact/post-client-uuid-contacts-copy.md): Updates an existing contact associated with a client. Supports updating the contact's role, primary contact status, and email inclusion preference. Use this endpoint when a contact's responsibilities change or when a different person needs to be designated as the primary point of contact for a client. • [Lead](https://api-docs.workflowmax.com/lead-1.md): Leads in WorkflowMax represent potential business opportunities before they are converted into clients or jobs. They are designed to help businesses track and manage prospects from initial contact through to the decision-making stage. Each lead contains key information such as the prospect’s name, contact details, source of the lead, estimated value, probability of winning, and any notes or activities related to the sales process. Users typically create and update leads as they progress through the sales pipeline, ensuring that opportunities are accurately tracked and prioritized. Leads can be assigned to staff, associated with tasks or notes, and converted into clients and jobs once approved. By centralizing lead management, WorkflowMax provides teams with visibility into potential revenue streams and helps ensure that no opportunities are overlooked. In the broader business workflow, leads serve as the entry point for new business. They allow organizations to capture and qualify opportunities, align them with sales activities, and smoothly transition them into the job and client management processes. This helps improve forecasting, pipeline reporting, and resource planning. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773440796185-About-leads • [GET Leads](https://api-docs.workflowmax.com/lead-1/get-v2-leads-1.md): Retrieves a list of all leads in the account. This endpoint is commonly used for displaying a sales pipeline, syncing opportunities with a CRM, or reporting on open and closed leads. Filters may be available to refine results by status, date, or assigned staff. • [GET Lead {UUID}](https://api-docs.workflowmax.com/lead-1/get-v2-leads-uuid-1.md): Retrieve detailed information for a specific lead, including client contacts, notes, quotes, and custom fields. This allows users to view comprehensive lead data to support management, analysis, and conversion workflows within their lead pipeline. Returns detailed information for a specific lead, including client details, notes, status, and estimated value. Typically used when displaying or working with a single lead in detail, such as in a lead management dashboard or during conversion to a job. • [POST Leads](https://api-docs.workflowmax.com/lead-1/post-v2-leads.md): Only available when you have subscribed with the lead module. Creates a new lead in WorkflowMax, capturing details such as the lead name, client, contact information, source, category, estimated value, and assigned staff. This endpoint is typically used to add new sales opportunities from external CRM systems, web forms, or other lead generation tools. It helps maintain a consistent pipeline of potential jobs for tracking and follow-up. • [PUT Lead {UUID}](https://api-docs.workflowmax.com/lead-1/put-v2-leads-uuid.md): Updates an existing lead identified by the specified UUID. This endpoint allows you to modify lead details such as contact information, status, value, or notes, keeping sales and pre-job information in WorkflowMax accurate and up to date. • [Quote](https://api-docs.workflowmax.com/quote.md): Quotes in WorkflowMax are used to estimate the cost of work for potential jobs before they are approved or started. Each quote includes detailed information such as the client, scope of work, estimated tasks, costs, quantities, pricing, tax, and total value. Quotes serve as the foundation for setting client expectations and help teams plan resources and timelines based on approved scopes. Users typically create quotes during the sales or pre-production phase, tailoring them to client requirements and internal cost structures. Once approved, a quote can be converted into a job, with all associated tasks and costs carried over. This allows for seamless transition from estimating to execution, ensuring consistency in scope and financial expectations. For developers, the Quotes API allows integration of quoting functionality with external CRM systems, proposal tools, or internal approval workflows. It enables retrieval of quote data for reporting, analysis, or automated creation of jobs based on accepted quotes. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773442973337-About-quotes-and-estimates • [GET Quotes](https://api-docs.workflowmax.com/quote/get-v2-quotes.md): Returns a list of all quotes in the system, including summary fields such as quote number, client, status, and total amount. This endpoint is useful for building sales dashboards, filtering quotes by status (e.g., draft, sent, accepted), or analyzing quote conversion rates. Supports filtering and pagination for managing large volumes of quotes. • [GET Quote {UUID}](https://api-docs.workflowmax.com/quote/get-v2-quotes-uuid.md): Retrieves detailed information for a specific quote, including client details, line items, estimated costs, and total value. Commonly used to view or sync a single quote with external systems, generate a proposal document, or initiate a job based on an accepted estimate. • [POST job {UUID} quotes](https://api-docs.workflowmax.com/quote/get-quote-uuid-copy.md): Creates a new quote based on the specified job. This endpoint allows you to generate a quote using job details such as tasks, costs, and pricing, helping streamline the process of preparing and sending quotes to clients. • [PUT Quote {identifier}](https://api-docs.workflowmax.com/quote/put-quote-identifier.md): Updates the details of an existing quote or estimate. General information such as client, contact, dates, pricing mode, and description, can be updated regardless of the quote's current status. This endpoint is just used to update the general information of the quote, not including quote tasks/quote costs. • [POST Quote](https://api-docs.workflowmax.com/quote/post-quote.md): Creates a new blank quote for a client, without copying tasks or costs from an existing job. Use it when starting a quote from scratch, then add tasks, costs, and other line items to it via the related quote endpoints once it's created. • [POST Quote Cost](https://api-docs.workflowmax.com/quote/put-quote-identifier-copy.md): Adds a cost to the specified draft quote or estimate. Costs represent billable or non-billable items such as materials, equipment, or subcontractor charges, and can be associated with a specific phase if the quote uses a phased structure. This endpoint can only be used on quotes in Draft status. • [PUT Quote Cost {UUID}](https://api-docs.workflowmax.com/quote/post-quote-cost-copy-1.md): Adds a cost to the specified draft quote or estimate. Costs represent billable or non-billable items such as materials, equipment, or subcontractor charges, and can be associated with a specific phase if the quote uses a phased structure. This endpoint can only be used on quotes in Draft status. • [GET Quote Notes](https://api-docs.workflowmax.com/quote/get-invoice-notes-copy.md): Provides a list of quote notes with optional filters. • [GET Quote Variations](https://api-docs.workflowmax.com/quote-variation/get-quote-variations.md): Returns a list of all quote variations in the system, including summary fields such as variation number, client, status, and total amount. This endpoint is useful for building sales dashboards, filtering quote variations by status (e.g., draft, sent, accepted), or analyzing quote conversion rates. • [GET Quote Variation {UUID}](https://api-docs.workflowmax.com/quote-variation/get-quote-variations-copy.md): Retrieves detailed information for a specific quote variation, including client details, line items, estimated costs, and total value. Commonly used to view or sync a single variation with external systems, generate a proposal document, or update a job based on an accepted variation. • [Invoice](https://api-docs.workflowmax.com/invoice.md): Invoices in WorkflowMax represent billable documents issued to clients for work completed on jobs. Each invoice includes key details such as invoice number, issue date, due date, client, job reference, line items, tax information, and payment status. Invoices can be generated from actual time and costs, quoted amounts, or fixed fees, depending on the billing method applied to the job. Users typically create invoices at key milestones or upon completion of work, using the system’s invoicing tools to pull in billable items directly from jobs or tasks. Once issued, invoices can be tracked through various statuses such as draft, authorised, sent, or paid. WorkflowMax also integrates with accounting systems like Xero, allowing seamless transfer of financial data for reconciliation and reporting. The Invoices API enables developers to retrieve and interact with invoice data across the platform. This supports common use cases such as syncing with external accounting tools, generating financial reports, or automating billing workflows based on custom business logic. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773438869529-About-invoices • [GET Payments](https://api-docs.workflowmax.com/invoice/get-v2-payments.md): Retrieves a list of recorded payments in WorkflowMax. This endpoint returns payment details such as the associated invoice, amount received, date, and reference information, enabling accurate tracking of full and part-payments against invoices. • [GET Invoices](https://api-docs.workflowmax.com/invoice/get-invoices.md): Retrieves a list of invoices across the account, including summary details such as invoice number, date, client, total amount, and status. Commonly used to build financial dashboards, export billing data, or monitor outstanding payments. Supports filtering by date range, client, status, and includes pagination for large datasets. • [GET Invoice {UUID}](https://api-docs.workflowmax.com/invoice/get-invoice-uuid.md): Returns detailed information for a specific invoice, including client details, job reference, line items, totals, tax amounts, and payment status. Typically used when syncing a single invoice with an external accounting system, validating invoice data, or retrieving a record for display in a custom interface. • [GET Invoice {UUID} Costs](https://api-docs.workflowmax.com/invoice/get-v2-invoices-invoiceuuid-costs.md): Retrieves all cost entries associated with the specified invoice. This endpoint returns details of costs linked to the invoice, such as supplier expenses or disbursements, providing visibility into how the invoice total is composed. • [GET Invoice Notes](https://api-docs.workflowmax.com/invoice/get-invoice-notes.md): Provides a list of invoice notes with optional filters. • [Purchase Order](https://api-docs.workflowmax.com/po-2.md): Purchase Orders (POs) in WorkflowMax are used to manage the procurement of goods and services related to jobs. Each purchase order includes key information such as the supplier, order date, delivery address, line items, quantities, unit costs, tax, and status (e.g., draft, issued). Purchase orders help businesses control spending, track incoming goods, and link external purchases directly to job costs for accurate financial reporting. Users typically create POs to procure materials or subcontracted services required for job delivery. Once created, POs can be sent to suppliers, partially or fully received, and marked as billed when invoiced. Costs from purchase orders can be automatically allocated to jobs, ensuring real-time visibility into actual expenses and remaining budget. This supports more accurate job costing, margin analysis, and inventory control. The Purchase Orders API allows developers to integrate procurement workflows with external systems such as supplier platforms, inventory tools, or accounting software. It provides structured access to PO data for syncing, analysis, or automation of order and cost tracking processes. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773467070745-About-purchase-orders • [GET Purchase Orders](https://api-docs.workflowmax.com/po-2/get-v2-purchase-orders-1.md): Returns a list of all purchase orders across the account, including summary data such as PO number, supplier, status, and total cost. This endpoint is useful for reporting, auditing open or received orders, or managing procurement pipelines. Supports filtering and pagination for efficient access to large datasets. • [GET Purchase Order {UUID}](https://api-docs.workflowmax.com/po-2/get-v2-purchase-orders-uuid-1.md): Retrieves detailed information for a specific purchase order, including supplier details, line items, delivery instructions, and order status. Commonly used to view or sync a specific PO with external procurement or accounting systems. • [DELETE Purchase Order {UUID}](https://api-docs.workflowmax.com/po-2/delete-purchase-order-uuid.md): Deletes the supplier identified by the specified UUID. This endpoint permanently removes the supplier record from WorkflowMax, and should be used with caution as the action cannot be undone and may impact related purchase orders or cost records. • [Purchase Order - Bill](https://api-docs.workflowmax.com/po-bill-2.md): Purchase Order Bills in WorkflowMax represent the financial obligation incurred when a supplier invoice is received against an existing purchase order. These bills record what has been invoiced by the supplier, including quantities, costs, and tax, and they can be linked to corresponding job costs for accurate accounting and reporting. Key attributes of a purchase order bill include supplier details, bill date, line items, billed quantities, total amount, tax breakdown, and status. Users typically create a bill when a supplier sends an invoice for items ordered via a purchase order. This process helps ensure that invoiced amounts match what was ordered and received, and that no costs are missed in job costing. Bills can be reconciled against original purchase orders, tracked for payment, and optionally exported or synced with external accounting platforms. The Purchase Order Bills API provides developers with access to bill records related to purchase orders, allowing integrations with accounts payable systems, financial reporting tools, or cost management solutions. It ensures that all billed expenses are accurately captured and can be monitored programmatically. Learn more at: https://support.workflowmax.com/hc/en-us/articles/35772387386393-Add-bill • [POST Bills](https://api-docs.workflowmax.com/po-bill-2/post-v2-purchase-orders-uuid-bills.md): Creates a new bill (supplier invoice) and associates it directly with a job, without requiring a linked purchase order. This is typically used when costs need to be recorded against a job quickly - for example, when a supplier invoice arrives for ad hoc or unplanned expenditure that was not raised through the standard purchase order workflow. Ensure the relevant job identifier and supplier details are included in the request payload. • [POST Purchase Orders {UUID} Bills (copy)](https://api-docs.workflowmax.com/po-bill-2/post-purchase-orders-uuid-bills-copy.md): Creates a new bill against the specified purchase order, capturing billing details such as supplier invoice information, amounts, dates, and tax. This endpoint is typically used when recording supplier invoices received for goods or services ordered through a PO. It helps maintain accurate job costing and ensures the purchase order lifecycle progresses from ordered to billed. • [GET Purchase Order Bills](https://api-docs.workflowmax.com/po-bill-2/get-v2-purchase-orders-bills-1.md): Returns a list of all purchase order bills in the system, with summary fields such as bill number, supplier, bill date, and total amount. Useful for managing accounts payable workflows, auditing billed expenses, or generating financial reports. Supports filtering and pagination for efficient handling of large volumes of bill records. • [Purchase Order - Stock Receipt](https://api-docs.workflowmax.com/po-stock-receipt-2.md): Stock receipts in WorkflowMax represent the physical receipt of goods ordered through a purchase order. When stock or materials arrive from a supplier, a stock receipt is recorded to confirm the quantities received and update job costs accordingly. Key attributes of a stock receipt include the associated purchase order, receipt date, received quantities, and any delivery notes. Users interact with stock receipts during the inventory or job fulfillment process to ensure that items delivered match what was ordered. This step is essential for maintaining accurate stock levels, validating supplier performance, and preventing overbilling. In a typical workflow, stock receipts are recorded before a supplier bill is entered, providing a clear audit trail from order to delivery to invoice. The Stock Receipt API allows developers to track and automate goods receipt processes, integrate with inventory systems, or validate supplier deliveries. It supports end-to-end visibility across the procurement lifecycle and helps maintain accuracy in cost and inventory reporting. Learn more at: https://support.workflowmax.com/hc/en-us/articles/35731348839449-Receive-stock • [GET Purchase Order Stock Receipts](https://api-docs.workflowmax.com/po-stock-receipt-2/get-v2-purchase-orders-stock-receipts-1.md): Returns a list of all stock receipts across the account, including summary fields such as purchase order, supplier, and receipt date. Useful for tracking deliveries, managing inventory movements, or generating reports on received goods. Supports filtering and pagination for large data sets. • [POST Purchase Orders {UUID} Stock Receipts](https://api-docs.workflowmax.com/po-stock-receipt-2/post-v2-purchase-orders-uuid-stockreceipts.md): Add a stock receipt to a purchase order to document the quantities of goods received from a supplier. This process helps maintain accurate inventory records, track deliveries—whether partial or full—and synchronize procurement data with warehouse or stock management systems for improved visibility and cost management. Creates a new stock receipt for the specified purchase order, recording the quantities of goods that have been received from a supplier. This endpoint is typically used to update inventory, track partial or full deliveries, and keep procurement data aligned with external warehouse or stock management systems. It ensures accurate visibility of received items and supports downstream cost and fulfillment processes. • [Supplier](https://api-docs.workflowmax.com/supplier.md): Suppliers in WorkflowMax represent the external vendors or service providers from whom goods and services are purchased. Each supplier record includes key details such as supplier name, contact information, default tax rate, and address. Suppliers are used throughout the purchasing workflow, especially in relation to purchase orders, stock receipts, and supplier bills. Users typically create and manage supplier records when setting up their procurement process. Suppliers can be linked to multiple purchase orders, and any costs associated with their deliveries are automatically assigned to jobs, ensuring accurate tracking of expenses. Maintaining a clean and complete supplier list helps businesses manage vendor relationships, streamline order processing, and ensure financial reporting accuracy. The Supplier API allows developers to access and manage supplier data programmatically, enabling integration with external procurement systems, financial platforms, or vendor management tools. This helps keep supplier data synchronized across systems and supports automated purchasing workflows. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773429948057-About-suppliers • [GET Suppliers](https://api-docs.workflowmax.com/supplier/get-suppliers.md): Returns a list of all suppliers in the account, including summary details such as name and contact information. Useful for generating vendor directories, integrating procurement data, or managing supplier lists. Supports pagination for handling large datasets. • [GET Supplier {UUID}](https://api-docs.workflowmax.com/supplier/get-supplier-uuid.md): Retrieves detailed information for a specific supplier, including name, contact details, tax settings, and address. Typically used when syncing supplier data with an external system or reviewing the configuration of a specific vendor record. • [POST Suppliers](https://api-docs.workflowmax.com/supplier/post-v2-suppliers.md): Creates a new supplier record in WorkflowMax. This endpoint is used to store supplier details such as business name, contact information, and payment details, enabling accurate tracking of costs, purchase orders, and supplier-related transactions. • [PUT Supplier {UUID}](https://api-docs.workflowmax.com/supplier/post-suppliers-copy.md): Updates an existing supplier identified by the specified UUID. This endpoint allows you to modify supplier details such as business information, contact details, and payment settings, ensuring supplier records in WorkflowMax remain accurate and up to date. • [DELETE Suppliers](https://api-docs.workflowmax.com/supplier/delete-v2-suppliers-uuid.md): Deletes the supplier identified by the specified UUID. This endpoint permanently removes the supplier record from WorkflowMax, and should be used with caution as the action cannot be undone and may impact related purchase orders or cost records. • [Supplier Contacts](https://api-docs.workflowmax.com/supplier-contacts.md): Supplier Contacts in WorkflowMax represent individual people associated with a supplier organization. Each contact record includes details such as the contact's name, email address, phone number, job title, and physical address. These contacts serve as the main points of communication for procurement-related activities including order confirmations, delivery coordination, and billing inquiries. Users typically create and manage supplier contacts within the supplier record. Multiple contacts can be associated with a single supplier, enabling businesses to direct communications to the appropriate person for purchasing, accounts, or logistics. Maintaining accurate contact details helps ensure efficient communication and smooth supplier relationship management across the procurement workflow. The Supplier Contact API provides programmatic access to contact records linked to suppliers, enabling integration with procurement systems, email platforms, or external CRMs. It allows businesses to keep supplier communications aligned and up to date across their toolset. Learn more at: https://support.workflowmax.com/hc/en-us/articles/24773493507481-Add-or-edit-a-supplier-contact • [GET Supplier Contact {UUID}](https://api-docs.workflowmax.com/supplier-contacts/get-supplier-contact-uuid.md): Retrieves detailed information for a specific supplier contact, including their name, email, phone number, and linked supplier. Commonly used for syncing contact information across systems or validating contact records during procurement operations. • [DELETE Supplier Contact {UUID}](https://api-docs.workflowmax.com/supplier-contacts/delete-v2-suppliers-contacts-uuid.md): Deletes the specified supplier contact identified by its UUID. This endpoint permanently removes the contact from the associated supplier record in WorkflowMax, and should be used with caution as the action cannot be undone. • [POST Supplier {UUID} Contacts](https://api-docs.workflowmax.com/supplier-contacts/post-v2-suppliers-uuid-contacts.md): Creates a new contact and associates it with the specified supplier. This endpoint is used to add supplier contact details such as name, email address, phone numbers, and role, ensuring accurate communication and supplier management. • [PUT Supplier Contact {UUID}](https://api-docs.workflowmax.com/supplier-contacts/post-supplier-uuid-contacts-copy.md): Updates an existing supplier contact identified by the specified UUID. This endpoint allows you to modify contact details such as name, email address, phone numbers, or role, keeping supplier contact information up to date in WorkflowMax.