| API | Protocol | Base URL | Docs | Reference | OpenAPI | SDKs |
|---|---|---|---|---|---|---|
| Main | rest | https://api.harvestapp.com/v2 | link | — | — | — |
Actions (55)
Users · 14
- Create billable ratePOST /v2/users/{USER_ID}/billable_rates
Create a new billable rate for a user.
documented - Create cost ratePOST /v2/users/{USER_ID}/cost_rates
Create a new cost rate for a user.
documented - Create userPOST /v2/users
Create a new user.
documented - Delete userDELETE /v2/users/{USER_ID}
Delete a user.
documented - List assigned teammatesGET /v2/users/{USER_ID}/teammates
List teammates assigned to a user.
documented - List billable ratesGET /v2/users/{USER_ID}/billable_rates
List billable rates for a user.
documented - List cost ratesGET /v2/users/{USER_ID}/cost_rates
List cost rates for a user.
documented - List usersGET /v2/users
Return a list of users.
documented - Retrieve billable rateGET /v2/users/{USER_ID}/billable_rates/{BILLABLE_RATE_ID}
Retrieve a billable rate for a user.
documented - Retrieve cost rateGET /v2/users/{USER_ID}/cost_rates/{COST_RATE_ID}
Retrieve a cost rate for a user.
documented - Retrieve current userGET /v2/users/me
Retrieve the currently authenticated user.
documented - Retrieve userGET /v2/users/{USER_ID}
Return a single user by ID.
documented - Update assigned teammatesPATCH /v2/users/{USER_ID}/teammates
Update a user’s assigned teammates.
documented - Update userPATCH /v2/users/{USER_ID}
Update an existing user.
documented
Clients · 9
- Create clientPOST /v2/clients
Create a new client.
documented - Create contactPOST /v2/contacts
Create a new contact.
documented - Delete clientDELETE /v2/clients/{CLIENT_ID}
Delete a client (only if no dependent invoices/projects).
documented - List clientsGET /v2/clients
Return a paginated list of all your clients.
documented - List contactsGET /v2/contacts
Return a list of all contacts.
documented - Retrieve a clientGET /v2/clients/{CLIENT_ID}
Return details for a single client by ID.
documented - Retrieve contactGET /v2/contacts/{CONTACT_ID}
Return a single contact by ID.
documented - Update clientPATCH /v2/clients/{CLIENT_ID}
Update fields of an existing client.
documented - Update contactPATCH /v2/contacts/{CONTACT_ID}
Update an existing contact.
documented
Invoices · 9
- Create and send invoice messagePOST /v2/invoices/{INVOICE_ID}/messages
Create and send an invoice message.
documented - Create invoicePOST /v2/invoices
Create a new invoice.
documented - Delete invoiceDELETE /v2/invoices/{INVOICE_ID}
Delete an invoice.
documented - Delete invoice messageDELETE /v2/invoices/{INVOICE_ID}/messages/{MESSAGE_ID}
Delete a specific invoice message.
documented - List invoice messagesGET /v2/invoices/{INVOICE_ID}/messages
List messages attached to an invoice.
documented - List invoicesGET /v2/invoices
Return a list of invoices.
documented - Retrieve invoiceGET /v2/invoices/{INVOICE_ID}
Return a single invoice by ID.
documented - Retrieve new-invoice-message templateGET /v2/invoices/{INVOICE_ID}/messages/new
Retrieve default subject/body for a new invoice message.
documented - Update invoicePATCH /v2/invoices/{INVOICE_ID}
Update an existing invoice (including line items).
documented
Legacy APIs · 6
- Create client (v1)POST /api/v1/clients
Create a client in legacy API v1.
documented - List clients (v1)GET /api/v1/clients
List clients in legacy API v1.
documented - List expenses (v1)GET /api/v1/expenses
List expenses in legacy API v1.
documented - List invoices (v1)GET /api/v1/invoices
List invoices in legacy API v1.
documented - List projects (v1)GET /api/v1/projects
List projects in legacy API v1.
documented - List time entries (v1)GET /api/v1/time_entries
List time entries in legacy API v1.
documented
Projects · 5
- Create projectPOST /v2/projects
Create a new project.
documented - Delete projectDELETE /v2/projects/{PROJECT_ID}
Delete a project (and associated data).
documented - List projectsGET /v2/projects
Return a list of projects.
documented - Retrieve projectGET /v2/projects/{PROJECT_ID}
Return a single project by ID.
documented - Update projectPATCH /v2/projects/{PROJECT_ID}
Update an existing project.
documented
Roles · 5
- Create rolePOST /v2/roles
Create a new role.
documented - Delete roleDELETE /v2/roles/{ROLE_ID}
Delete a role.
documented - List rolesGET /v2/roles
Return a list of roles.
documented - Retrieve roleGET /v2/roles/{ROLE_ID}
Return a single role by ID.
documented - Update rolePATCH /v2/roles/{ROLE_ID}
Update an existing role.
documented
Timesheets · 4
- Create time entryPOST /v2/time_entries
Create a new time entry.
documented - List time entriesGET /v2/time_entries
Return a list of time entries.
documented - Retrieve time entryGET /v2/time_entries/{TIME_ENTRY_ID}
Return a single time entry by ID.
documented - Update time entryPATCH /v2/time_entries/{TIME_ENTRY_ID}
Update an existing time entry.
documented