Skip to main content

QuickBooks

Create a project

Creates a project in QuickBooks for an existing customer. Intuit's API offers Projects only to Intuit partners; this endpoint works on any QuickBooks account connected to Clickr.

POSThttps://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 create_quickbooks_project.

Request

curl -X POST https://api.clickr.cloud/v2/integrations/quickbooks/projects \
  -H "Authorization: Bearer $CLICKR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectName": "Henderson Residence Addition",
    "customerName": "Mark Henderson",
    "projectCode": "J-2041",
    "startDate": "11/10/2026",
    "status": "in-progress",
    "statusCallbackUrl": "https://example.com/clickr/runs",
    "metaData": {
      "jobNumber": "2041"
    }
  }'

Response

200
{
  "receipt": "6729c1f04b7e3d0012a91e07"
}

The call returns at once with a receipt. The project is created by a run, which usually finishes in 3 to 5 minutes: check it with Get a run, or pass a statusCallbackUrl.

Body

JSON, with Content-Type: application/json.

projectNamestringRequired

The new project's name.

customerNamestringRequired

The QuickBooks customer the project belongs to.

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 create projectThe body is missing projectName or customerName, or a field is in the wrong format. The message says which.
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.