Skip to main content

QuickBooks

Update a project

Changes a QuickBooks project's name, customer, status, dates, notes, addresses or custom fields. Only the fields you send change.

PUThttps://api.clickr.cloud/v2/integrations/quickbooks/projects
  • Uses 1 run: 100 a day on Standard, 500 on Velocity, reset at midnight UTC.
  • On Standard, 1 call every 30 seconds across the Projects endpoints.
  • Also served at /integrations/quickbooks/projects, for older integrations.
  • For assistants, the MCP tool update_quickbooks_project.

Request

curl -X PUT https://api.clickr.cloud/v2/integrations/quickbooks/projects \
  -H "Authorization: Bearer $CLICKR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "4821",
    "status": "completed",
    "endDate": "12/18/2026",
    "statusCallbackUrl": "https://example.com/clickr/runs"
  }'

Response

200
{
  "receipt": "6729c1f04b7e3d0012a91e07"
}

Find the project by projectId, or on Velocity by its current name with projectNameIdentifier.

Body

JSON, with Content-Type: application/json.

projectIdstring

QuickBooks' id for the project to update. Required unless you give projectNameIdentifier.

projectNameIdentifierstring

The project's current name, to find it by. Velocity only.

projectNamestring

A new name for the project.

customerNamestring

A different QuickBooks customer for the project.

projectCodestring

The Project ID field on the QuickBooks project form: your own reference, such as a job number. Not the projectId QuickBooks assigns. Ignored if the form has no Project ID field.

startDatestring

Start date, as MM/DD/YYYY.

endDatestring

End date, as MM/DD/YYYY.

statusstring

The project's status. Both spellings of cancelled are accepted.

One of not-started, in-progress, completed, canceled, cancelled

notesstring

The project's notes.

billingAddressobject

The project's billing address.

countrystringRequired

Country.

streetAddress1stringRequired

First line of the street address.

streetAddress2string

Second line of the street address.

citystringRequired

City.

statestringRequired

State or region.

zipCodestringRequired

ZIP or postal code.

shippingAddressobject

The project's shipping address.

countrystringRequired

Country.

streetAddress1stringRequired

First line of the street address.

streetAddress2string

Second line of the street address.

citystringRequired

City.

statestringRequired

State or region.

zipCodestringRequired

ZIP or postal code.

customFieldsarray of objects

Custom fields to fill on the project form.

labelstringRequired

The custom field's name, as it appears on the project form.

valuestringRequired

The value to set.

fieldTypestringRequired

Whether the field is free text or a dropdown in QuickBooks.

One of text, dropdown

statusCallbackUrlstring

A URL Clickr POSTs the run's result to when it finishes, as JSON with your metaData. Sent once, with a 30-second timeout.

metaDataobject

Any JSON object of your own, such as your id for the job. Sent back with the result to statusCallbackUrl.

Response

200, as JSON, once the run is queued. What the run did comes from Get a run, or is POSTed to your statusCallbackUrl.

receiptstring

The id of the run this call started. Pass it to Get a run.

Errors

JSON with an error and, on most, a message saying what to change. All errors

StatusErrorWhen
500Failed to update projectThe body has no projectId (or projectNameIdentifier), or a field is in the wrong format. The message says which.
429Updating Projects through projectNameIdentifier is not available on your account plan…projectNameIdentifier was sent on Standard.
401No API Key providedThe Authorization header is missing.
401No account found for api key providedThe key isn't recognised: mistyped, revoked, or held by someone who has left the account.
401No integration found for accountThe account has no connector connected yet.
401This integration is still pending setup…QuickBooks isn't fully set up in Clickr: its sign-in or two-factor setup is unfinished. The error says what to do.
403ForbiddenYour access on the account doesn't include this action.
403Daily cap exceededThe account has used its runs for the day: 100 on Standard, 500 on Velocity. They reset at midnight UTC.
403Rate limit exceededA second call within 30 seconds on Standard. Velocity has no wait.