# Kanbert Version: v1 ## Servers ``` https://api.kanbert.com/api/v1 ``` ## Security ### http Type: http Scheme: bearer ### oauth2 Type: oauth2 ## Download OpenAPI description [Kanbert](https://developers.kanbert.com/_bundle/api.yaml) ## Users ### Retrieve current user's information - [GET /whoami](https://developers.kanbert.com/api/users/users.whoami.md): No specific scope required. ### List all users (basic) - [GET /users](https://developers.kanbert.com/api/users/users.index.md): No specific scope required. ### Get all users (full) - [GET /users/full](https://developers.kanbert.com/api/users/users.fullindex.md): Required scopes: user:read ### Retrieve a user - [GET /users/{id}](https://developers.kanbert.com/api/users/users.show.md): No specific scope required. Returns UserFullData if app has any user: scope or user-profile: if current user ## Clients ### List all clients (basic) - [GET /clients](https://developers.kanbert.com/api/clients/clients.index.md): No specific scope required. ### Create a client - [POST /clients](https://developers.kanbert.com/api/clients/clients.store.md): Required scopes: client:write ### List all clients (full) - [GET /clients/full](https://developers.kanbert.com/api/clients/clients.fullindex.md): Required scopes: client:read ### Retrieve a client - [GET /clients/{id}](https://developers.kanbert.com/api/clients/clients.show.md): No specific scope required. Returns ClientFullData if app has any client:* scope ### Update a client - [PATCH /clients/{id}](https://developers.kanbert.com/api/clients/clients.update.md): Required scopes: client:write To update external_id jump to Endpoint /clients/{id}/external-identifier To update shortcode jump to Endpoint /clients/{id}/shortcode ### Archive a client - [DELETE /clients/{id}](https://developers.kanbert.com/api/clients/clients.destroy.md): Required scopes: client:write ### Update a client's external identifier - [PUT /clients/{id}/external-identifier](https://developers.kanbert.com/api/clients/clients.updateexternalid.md): Required scopes: client:write ### Update a client's shortcode - [PUT /clients/{id}/shortcode](https://developers.kanbert.com/api/clients/clients.updateshortcode.md): Required scopes: client:write ### Restore a client - [POST /clients/{id}/restore](https://developers.kanbert.com/api/clients/clients.restore.md): Required scopes: client:write ## Projects ### List all projects - [GET /projects](https://developers.kanbert.com/api/projects/projects.index.md): No specific scope required. ### Retrieve a project - [GET /projects/{id}](https://developers.kanbert.com/api/projects/projects.show.md): No specific scope required. ### List all project team members - [GET /projects/{id}/team](https://developers.kanbert.com/api/projects/projects.team.md): No specific scope required. ### List all project guests - [GET /projects/{id}/guests](https://developers.kanbert.com/api/projects/projects.guests.md): No specific scope required. ### List all project phases - [GET /projects/{id}/phases](https://developers.kanbert.com/api/projects/projects.phases.md): Required scopes: task-management:read ### List all project milestones - [GET /projects/{id}/milestones](https://developers.kanbert.com/api/projects/projects.milestones.md): Required scopes: task-management:read ### List all project epics - [GET /projects/{id}/epics](https://developers.kanbert.com/api/projects/projects.epics.md): Required scopes: task-management:read ### List all project tasks - [GET /projects/{id}/tasks](https://developers.kanbert.com/api/projects/projects.tasks.md): Required scopes: task-management:read ## Tasks ### List all tasks - [GET /tasks](https://developers.kanbert.com/api/tasks/tasks.index.md): Required scopes: task-management:read ### Create a task - [POST /tasks](https://developers.kanbert.com/api/tasks/tasks.store.md): Required scopes: task-management:write ### Retrieve a task - [GET /tasks/{id}](https://developers.kanbert.com/api/tasks/tasks.show.md): Required scopes: task-management:read ### Archive a task - [DELETE /tasks/{id}](https://developers.kanbert.com/api/tasks/tasks.delete.md): Required scopes: task-management:write ### Update a task - [PATCH /tasks/{task}](https://developers.kanbert.com/api/tasks/tasks.update.md): Required scopes: task-management:write ### Update a tasks's external identifier - [PUT /tasks/{id}/external-identifier](https://developers.kanbert.com/api/tasks/tasks.updateexternalid.md): Required scopes: client:write ### Upload file to a task - [POST /tasks/{id}/upload](https://developers.kanbert.com/api/tasks/tasks.upload.md): Required scopes: task-management:write ### Task created - [POST task:created](https://developers.kanbert.com/api/tasks/paths/task:created/post.md): task:create - A new task was created ### Task updated - [POST task:updated](https://developers.kanbert.com/api/tasks/paths/task:updated/post.md): task:update A Task was updated ### Task deleted - [POST task:deleted](https://developers.kanbert.com/api/tasks/paths/task:deleted/post.md): task:delete - A task was deleted ## Task Comments ### Create a new comment for a task - [POST /tasks/comments](https://developers.kanbert.com/api/task-comments/taskcomments.store.md): Required scopes: task-management:write ### Update a tasks comment's content - [PATCH /tasks/comments/{id}](https://developers.kanbert.com/api/task-comments/taskcomments.update.md): Required scopes: task-management:write Comments can only be updated by the author of the comment ### Retrieve a tasks comment - [GET /tasks/comments/{id}](https://developers.kanbert.com/api/task-comments/taskcomments.show.md): Required scopes: task-management:read ### Delete a tasks comment - [DELETE /tasks/comments/{id}](https://developers.kanbert.com/api/task-comments/taskcomments.destroy.md): Required scopes: task-management:write Comments can only be deleted by the author of the comment ### Upload file to a task comment - [POST /tasks/comments/{id}/upload](https://developers.kanbert.com/api/task-comments/taskcomments.upload.md): Required scopes: task-management:write Files can only be uploaded by the author of the comment ### List all comments for a task - [GET /tasks/{id}/comments](https://developers.kanbert.com/api/task-comments/taskcomments.comments.md): Required scopes: task-management:read ### Comment created - [POST comment:created](https://developers.kanbert.com/api/task-comments/paths/comment:created/post.md): comment:create - A new comment was created ### Comment updated - [POST comment:updated](https://developers.kanbert.com/api/task-comments/paths/comment:updated/post.md): comment:update A Comment was updated ### Comment deleted - [POST comment:deleted](https://developers.kanbert.com/api/task-comments/paths/comment:deleted/post.md): comment:delete - A comment was deleted ## Efforts ### List all efforts - [GET /efforts](https://developers.kanbert.com/api/efforts/efforts.index.md): Required scopes: efforts:read If additional scope efforts:extended:read is granted efforts with type admin will be included. ## Contacts ### List all contacts - [GET /contacts](https://developers.kanbert.com/api/contacts/contacts.index.md): Required scopes: contact-data:read ### Create a contact - [POST /contacts](https://developers.kanbert.com/api/contacts/contacts.store.md): Required scopes: contact-data:write ### Retrieve a contact - [GET /contacts/{id}](https://developers.kanbert.com/api/contacts/contacts.show.md): Required scopes: contact-data:read ### Update a contact - [PATCH /contacts/{id}](https://developers.kanbert.com/api/contacts/contacts.update.md): Required scopes: contact-data:write To update external_id jump to Endpoint /contacts/{id}/external-identifier ### Archive a contact - [DELETE /contacts/{id}](https://developers.kanbert.com/api/contacts/contacts.destroy.md): Required scopes: contact-data:write ### Update a contacts external identifier - [PUT /contacts/{id}/external-identifier](https://developers.kanbert.com/api/contacts/contacts.updateexternalid.md): Required scopes: contact-data:write Can be used to force overwrite external_id ### Attach a contact to a company - [PUT /contacts/{id}/company/attach](https://developers.kanbert.com/api/contacts/contacts.associatecompany.md): Required scopes: contact-data:write ### Detach a contact from a company - [PUT /contacts/{id}/company/detach](https://developers.kanbert.com/api/contacts/contacts.unassociatecompany.md): Required scopes: contact-data:write ### Restore a contact - [POST /contacts/{id}/restore](https://developers.kanbert.com/api/contacts/contacts.restore.md): Required scopes: contact-data:write ### Contact created - [POST contact:created](https://developers.kanbert.com/api/contacts/paths/contact:created/post.md): contact:create - Fired when a new contact was created ### Contact updated - [POST contact:update](https://developers.kanbert.com/api/contacts/paths/contact:update/post.md): contact:update - Fired when a contact was updated ### Contact deleted - [POST contact:deleted](https://developers.kanbert.com/api/contacts/paths/contact:deleted/post.md): contact:delete - A contact was deleted ## Companies ### List all companies - [GET /companies](https://developers.kanbert.com/api/companies/companies.index.md): Required scopes: contact-data:read ### Create a company - [POST /companies](https://developers.kanbert.com/api/companies/companies.store.md): Required scopes: contact-data:write ### Retrieve a company - [GET /companies/{id}](https://developers.kanbert.com/api/companies/companies.show.md): Required scopes: contact-data:read ### Update a company - [PATCH /companies/{id}](https://developers.kanbert.com/api/companies/companies.update.md): Required scopes: contact-data:write To update external_id jump to Endpoint /companies/{id}/external-identifier ### Archive a company - [DELETE /companies/{id}](https://developers.kanbert.com/api/companies/companies.destroy.md): Required scopes: contact-data:write ### Update a companys external identifier - [PUT /companies/{id}/external-identifier](https://developers.kanbert.com/api/companies/companies.updateexternalid.md): Required scopes: contact-data:write Can be used to force overwrite external_id ### Restore a company - [POST /companies/{id}/restore](https://developers.kanbert.com/api/companies/companies.restore.md): Required scopes: contact-data:write ### Company created - [POST company:created](https://developers.kanbert.com/api/companies/paths/company:created/post.md): company:create - A new company was created ### Company updated - [POST company:updated](https://developers.kanbert.com/api/companies/paths/company:updated/post.md): company:update A company was updated ### Company deleted - [POST company:deleted](https://developers.kanbert.com/api/companies/paths/company:deleted/post.md): company:delete - A company was deleted ## Offers ### List all offers - [GET /offers](https://developers.kanbert.com/api/offers/offers.index.md): Required scopes: offer:read ### Retrieve an offer - [GET /offers/{id}](https://developers.kanbert.com/api/offers/offers.show.md): Required scopes: offer:read ### List all offer lineItems - [GET /offers/{id}/line-items](https://developers.kanbert.com/api/offers/offers.lineitems.md): Required scopes: offer:read ### Download offer PDF - [GET /offers/{id}/pdf](https://developers.kanbert.com/api/offers/offers.pdf.md): Required scopes: offer:read ## Outgoing Invoices ### List all invoices - [GET /outgoing-invoices](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.index.md): Required scopes: outgoing-invoice:read ### List all invoice master plans - [GET /outgoing-invoices/master](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.masterplans.md): Required scopes: outgoing-invoice:read ### Retrieve an invoice master plan - [GET /outgoing-invoices/master/{id}](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.showmaster.md): Required scopes: outgoing-invoice:read ### Retrieve an invoice - [GET /outgoing-invoices/{id}](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.show.md): Required scopes: outgoing-invoice:read ### List all invoice lineItems - [GET /outgoing-invoices/{id}/line-items](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.lineitems.md): Required scopes: outgoing-invoice:read ### Upload a manual invoice - [POST /outgoing-invoices/external](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.createexternal.md): Required scopes: outgoing-invoice:upload Endpoint can be used to upload outgoing invoices not created within Kanbert. Be careful: Invoice Enumeration & consistency is in your responsibility. Make sure not to interfere with the invoice numbering of Kanbert. ### Download invoice PDF - [GET /outgoing-invoices/{id}/pdf](https://developers.kanbert.com/api/outgoing-invoices/outgoinginvoices.pdf.md): Required scopes: outgoing-invoice:read ## Payments ### List all payment accounts - [GET /payment-accounts](https://developers.kanbert.com/api/payments/payments.accounts.md): Required scopes: payments:read ### List all payments - [GET /payments](https://developers.kanbert.com/api/payments/payments.payments.md): Required scopes: payments:read ### Add payment for an outgoing invoice - [POST /payments/outgoing-invoice](https://developers.kanbert.com/api/payments/payments.createoutgoinginvoicepayment.md): Required scopes: payments:write ### Associate an outgoing invoice with an outgoing credit - [POST /payments/outgoing-invoice-credit](https://developers.kanbert.com/api/payments/payments.createoutgoinginvoicereferencebooking.md): Required scopes: payments:write ## Usergroups & Teams ### List all usergroups - [GET /user-group](https://developers.kanbert.com/api/usergroups-and-teams/usergroups.index.md): Required scopes: user_group:read ### Retrieve a usergroup - [GET /user-group/{id}](https://developers.kanbert.com/api/usergroups-and-teams/usergroups.show.md): Required scopes: user_group:read ## Settings ### Retrieve all countries - [GET /settings/countries](https://developers.kanbert.com/api/settings/settings.countries.md): No specific scope required. ## Integration ### Retrieve current integration's information - [GET /integration](https://developers.kanbert.com/api/integration/integration.show.md): No specific scope required. ## Files ### Retrieve a file's data - [GET /files/{id}](https://developers.kanbert.com/api/files/file.show.md): No specific scope required. ### Download a file - [GET /files/{id}/download](https://developers.kanbert.com/api/files/file.download.md): No specific scope required. ## Custom Fields ### List all custom fields - [GET /custom-fields](https://developers.kanbert.com/api/custom-fields/customfields.index.md): Required scopes: integration ## Webhook Management ### List all registered webhooks - [GET /webhooks](https://developers.kanbert.com/api/webhook-management/webhooks.index.md): Required scopes: integration ### Register a new webhook - [POST /webhooks](https://developers.kanbert.com/api/webhook-management/webhooks.store.md): Required scopes: integration Returns a signature_secret_key field, make sure to save it somewhere safe. It won't be returned again. ### Delete a webhook - [DELETE /webhooks/{id}](https://developers.kanbert.com/api/webhook-management/webhooks.destroy.md): Required scopes: integration