Skip to content
Download OpenAPI description
Languages
Servers
https://api.kanbert.com/api/v1
Operations
Operations

Request

No specific scope required.

Security
http or oauth2
Query
sortstring

Available sorts are name, shortcode.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
primary_contact.idid<UserData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
origin_space.idid<SpaceData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
curl -i -X GET \
  'https://api.kanbert.com/api/v1/clients?sort=sort%3D-created_at%2Ctitle&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of ClientData

Bodyapplication/json
dataArray of objects(ClientData)required

The list of items

data[].​idstringrequired
data[].​external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

data[].​external_originstring or nullrequired

If originated from external system origin is added

data[].​namestringrequired
data[].​shortcodestring or nullrequired
data[].​primary_contactUserData (object) or nullrequired
Any of:
data[].​primary_contact.​idstringrequired
data[].​primary_contact.​first_namestringrequired
data[].​primary_contact.​last_namestringrequired
data[].​primary_contact.​emailstringrequired
data[].​primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
data[].​primary_contact.​spaceobject(SpaceData)required
data[].​primary_contact.​space.​idstringrequired
data[].​primary_contact.​space.​namestringrequired
data[].​origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

data[].​origin_space.​idstringrequired
data[].​origin_space.​namestringrequired
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Request

Required scopes: client:write

Security
http or oauth2
Bodyapplication/jsonrequired
external_idstring or null<= 255 characters

Can be used to add an identifier from an external system, must be unique within integration (integration slug)

external_originstring<= 255 characters

If not set, integration's slug will be used as default

namestring<= 255 charactersrequired
shortcodestring<= 255 characters

If not provided, the shortcode will be generated, Shortcode must be unique

segmentstring
Default "B"
Enum"A""B""C"
primary_contact_idstring or null

User ID of the primary contact

curl -i -X POST \
  https://api.kanbert.com/api/v1/clients \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_id": "string",
    "external_origin": "string",
    "name": "string",
    "shortcode": "string",
    "segment": "A",
    "primary_contact_id": "string"
  }'

Responses

ClientFullData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
segmentstring(ClientSegment)required
Default "B"
Enum"A""B""C"
updated_atstring(date-time)required
created_atstring(date-time)required
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
projectsArray of objects(ProjectData)
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "segment": "A", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "projects": [ { … } ], "origin_space": { "id": "string", "name": "string" } }

Request

Required scopes: client:read

Security
http or oauth2
Query
sortstring

Available sorts are name, shortcode, created_at.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
includestring

Available includes are projects. You can include multiple options by separating them with a comma.

page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
archivedenum: with, only, withouteq
segmentenum<ClientSegment>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
primary_contact.idid<UserData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
projectsRelation
- shortcode (string)
- name (string)
- is_acquisition (boolean)
- status (enum)
any, none, count, all
origin_space.idid<SpaceData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
curl -i -X GET \
  'https://api.kanbert.com/api/v1/clients/full?sort=sort%3D-created_at%2Ctitle&include=string&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of ClientFullData

Bodyapplication/json
dataArray of objects(ClientFullData)required

The list of items

data[].​idstringrequired
data[].​external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

data[].​external_originstring or nullrequired

If originated from external system origin is added

data[].​namestringrequired
data[].​shortcodestring or nullrequired
data[].​segmentstring(ClientSegment)required
Default "B"
Enum"A""B""C"
data[].​updated_atstring(date-time)required
data[].​created_atstring(date-time)required
data[].​primary_contactUserData (object) or nullrequired
Any of:
data[].​primary_contact.​idstringrequired
data[].​primary_contact.​first_namestringrequired
data[].​primary_contact.​last_namestringrequired
data[].​primary_contact.​emailstringrequired
data[].​primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
data[].​primary_contact.​spaceobject(SpaceData)required
data[].​primary_contact.​space.​idstringrequired
data[].​primary_contact.​space.​namestringrequired
data[].​projectsArray of objects(ProjectData)
data[].​origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

data[].​origin_space.​idstringrequired
data[].​origin_space.​namestringrequired
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Request

No specific scope required.

Returns ClientFullData if app has any client:* scope

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

includestring

Available includes are projects. You can include multiple options by separating them with a comma.

curl -i -X GET \
  'https://api.kanbert.com/api/v1/clients/{id}?find_by=id&origin=string&include=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

ClientData

ClientFullData

Bodyapplication/json
Any of:
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "origin_space": { "id": "string", "name": "string" } }

Request

Required scopes: client:write

To update external_id jump to Endpoint /clients/{id}/external-identifier To update shortcode jump to Endpoint /clients/{id}/shortcode

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodyapplication/json
namestring<= 255 characters
segmentstring
Default "B"
Enum"A""B""C"
primary_contact_idstring or null

User ID of the account manager

curl -i -X PATCH \
  'https://api.kanbert.com/api/v1/clients/{id}?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "segment": "A",
    "primary_contact_id": "string"
  }'

Responses

ClientData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "origin_space": { "id": "string", "name": "string" } }

Request

Required scopes: client:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

curl -i -X DELETE \
  'https://api.kanbert.com/api/v1/clients/{id}?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
messagestringrequired
Value"Client deleted successfully"
Response
application/json
{ "message": "Client deleted successfully" }

Update a client's external identifier

Request

Required scopes: client:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodyapplication/json
external_idstring or null<= 255 characters

Can be used to add an identifier to the client from an external system, must be unique within integration (integration slug)

external_originstring<= 255 characters

If not set, integration's slug will be used as default

curl -i -X PUT \
  'https://api.kanbert.com/api/v1/clients/{id}/external-identifier?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_id": "string",
    "external_origin": "string"
  }'

Responses

ClientData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "origin_space": { "id": "string", "name": "string" } }

Request

Required scopes: client:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodyapplication/jsonrequired
shortcodestring<= 255 charactersrequired
curl -i -X PUT \
  'https://api.kanbert.com/api/v1/clients/{id}/shortcode?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "shortcode": "string"
  }'

Responses

ClientData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "origin_space": { "id": "string", "name": "string" } }

Request

Required scopes: client:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

curl -i -X POST \
  'https://api.kanbert.com/api/v1/clients/{id}/restore?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

ClientFullData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the client from an external system, must be unique

external_originstring or nullrequired

If originated from external system origin is added

namestringrequired
shortcodestring or nullrequired
segmentstring(ClientSegment)required
Default "B"
Enum"A""B""C"
updated_atstring(date-time)required
created_atstring(date-time)required
primary_contactUserData (object) or nullrequired
Any of:
primary_contact.​idstringrequired
primary_contact.​first_namestringrequired
primary_contact.​last_namestringrequired
primary_contact.​emailstringrequired
primary_contact.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
primary_contact.​spaceobject(SpaceData)required
primary_contact.​space.​idstringrequired
primary_contact.​space.​namestringrequired
projectsArray of objects(ProjectData)
origin_spaceSpaceData (object) or nullrequired
Any of:

Shared space which the client is shared from, if null client is not shared

origin_space.​idstringrequired
origin_space.​namestringrequired
Response
application/json
{ "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "segment": "A", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "primary_contact": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "projects": [ { … } ], "origin_space": { "id": "string", "name": "string" } }
Operations
Operations
Webhooks
Operations
Webhooks
Operations
Operations
Webhooks
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Schemas