Endpoint summary
| API | Method | URL |
|---|---|---|
| Get Record | GET | /k/v1/record.json |
| Get Records | GET | /k/v1/records.json |
| Add Record | POST | /k/v1/record.json |
| Add Records | POST | /k/v1/records.json |
| Update Record | PUT | /k/v1/record.json |
| Update Records | PUT | /k/v1/records.json |
| Delete Records | DELETE | /k/v1/records.json |
| Add Cursor | POST | /k/v1/records/cursor.json |
| Get Records via Cursor | GET | /k/v1/records/cursor.json |
| Delete Cursor | DELETE | /k/v1/records/cursor.json |
| Get Comments | GET | /k/v1/record/comments.json |
| Add Comment | POST | /k/v1/record/comment.json |
| Delete Comment | DELETE | /k/v1/record/comment.json |
| Update Status | PUT | /k/v1/record/status.json |
| Update Multiple Statuses | PUT | /k/v1/records/status.json |
| Update Assignees | PUT | /k/v1/record/assignees.json |
| Evaluate Record Permissions | GET | /k/v1/records/acl/evaluate.json |
Single record
GET /k/v1/record.json — Get Record
GET /k/v1/record.json — Get Record
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
id | Integer | Yes | The record ID. |
| Parameter | Type | Description |
|---|---|---|
record | Object | An object containing field codes as keys and field value objects as values. |
Multiple records
GET /k/v1/records.json — Get Records
GET /k/v1/records.json — Get Records
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
query | String | No | A query string to filter and sort records. |
fields[] | Array | No | An array of field codes to include in the response. Returns all fields if omitted. |
totalCount | Boolean | No | If true, the total count of records matching the query is returned. Defaults to false. |
| Parameter | Type | Description |
|---|---|---|
records | Array | An array of record objects. |
totalCount | String or null | The total number of records matching the query. null if totalCount was not set to true in the request. |
Add records
POST /k/v1/record.json — Add Record
POST /k/v1/record.json — Add Record
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
record | Object | No | An object of field codes and their values to set on the new record. Omit fields you want to use their default values. |
| Parameter | Type | Description |
|---|---|---|
id | String | The record ID of the newly created record. |
revision | String | The revision number of the record after creation. |
POST /k/v1/records.json — Add Records
POST /k/v1/records.json — Add Records
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
records | Array | Yes | An array of record objects. Each object uses field codes as keys. Up to 100 records per request. |
| Parameter | Type | Description |
|---|---|---|
ids | Array | An array of record IDs for the newly created records, in the same order as the request. |
revisions | Array | An array of revision numbers for each created record, in the same order as the request. |
Update records
PUT /k/v1/record.json — Update Record
PUT /k/v1/record.json — Update Record
updateKey).Request parameters| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
id | Integer | Conditional | The record ID. Required if updateKey is not specified. |
updateKey | Object | Conditional | An object with field (field code) and value to identify the record by a unique field. Required if id is not specified. |
record | Object | No | An object of field codes and their updated values. Only the fields you include are updated. |
revision | Integer | No | The expected revision number. The update fails if the current revision differs. Omit to skip the revision check. |
PUT /k/v1/records.json — Update Records
PUT /k/v1/records.json — Update Records
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
records | Array | Yes | An array of record update objects. Each object must include either id or updateKey, a record object of fields to update, and optionally a revision. Up to 100 records per request. |
Delete records
DELETE /k/v1/records.json — Delete Records
DELETE /k/v1/records.json — Delete Records
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
ids | Array | Yes | An array of record IDs to delete. Up to 100 IDs per request. |
revisions | Array | No | An array of expected revision numbers corresponding to each record ID. The delete fails for any record whose current revision differs. Omit to skip revision checks. |
Cursor-based pagination
When you need to retrieve more than 500 records, use cursors. A cursor stores your query server-side and lets you page through all results.Create a cursor
POST /k/v1/records/cursor.json with your query. Save the returned id and totalCount.POST /k/v1/records/cursor.json — Add Cursor
POST /k/v1/records/cursor.json — Add Cursor
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
fields[] | Array | No | An array of field codes to return. Returns all fields if omitted. |
query | String | No | A query string to filter and sort records. |
size | Integer | No | Number of records per page. Maximum 500. Defaults to 100. |
| Parameter | Type | Description |
|---|---|---|
id | String | The cursor ID. Use this when calling GET /k/v1/records/cursor.json. |
totalCount | String | The total number of records matching the query. |
GET /k/v1/records/cursor.json — Get Records via Cursor
GET /k/v1/records/cursor.json — Get Records via Cursor
next is false.Request parameters| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Yes | The cursor ID returned by Add Cursor. |
| Parameter | Type | Description |
|---|---|---|
records | Array | An array of record objects for this page. |
next | Boolean | true if more pages remain. false when this is the last page. The cursor is automatically deleted after the last page is retrieved. |
DELETE /k/v1/records/cursor.json — Delete Cursor
DELETE /k/v1/records/cursor.json — Delete Cursor
| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Yes | The cursor ID to delete. |
Comments
GET /k/v1/record/comments.json — Get Comments
GET /k/v1/record/comments.json — Get Comments
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
record | Integer | Yes | The record ID. |
order | String | No | Sort order for comments: asc or desc. Defaults to desc. |
offset | Integer | No | Number of comments to skip. |
limit | Integer | No | Number of comments to return. Maximum 10. |
| Parameter | Type | Description |
|---|---|---|
comments | Array | An array of comment objects. Each includes id, text, createdAt, and creator. |
older | Boolean | true if there are older comments beyond the current result set. |
newer | Boolean | true if there are newer comments beyond the current result set. |
POST /k/v1/record/comment.json — Add Comment
POST /k/v1/record/comment.json — Add Comment
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
record | Integer | Yes | The record ID. |
comment | Object | Yes | An object with text (the comment body) and optionally mentions (an array of user/group/department mention objects). |
| Parameter | Type | Description |
|---|---|---|
id | String | The ID of the newly created comment. |
DELETE /k/v1/record/comment.json — Delete Comment
DELETE /k/v1/record/comment.json — Delete Comment
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
record | Integer | Yes | The record ID. |
comment | Integer | Yes | The comment ID to delete. |
Process management
PUT /k/v1/record/status.json — Update Status
PUT /k/v1/record/status.json — Update Status
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
id | Integer | Yes | The record ID. |
action | String | Yes | The name of the action to perform (must match an action defined in the app’s process management settings). |
assignee | String | No | The login name of the user to assign. Required if the next status requires an assignee. |
revision | Integer | No | The expected revision number. The update fails if the current revision differs. |
PUT /k/v1/records/status.json — Update Multiple Statuses
PUT /k/v1/records/status.json — Update Multiple Statuses
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
records | Array | Yes | An array of status update objects. Each object must include id, action, and optionally assignee and revision. Up to 100 records per request. |
PUT /k/v1/record/assignees.json — Update Assignees
PUT /k/v1/record/assignees.json — Update Assignees
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
id | Integer | Yes | The record ID. |
assignees | Array | Yes | An array of login names to assign. Pass an empty array to remove all assignees. |
revision | Integer | No | The expected revision number. |
Record permissions
GET /k/v1/records/acl/evaluate.json — Evaluate Record Permissions
GET /k/v1/records/acl/evaluate.json — Evaluate Record Permissions
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
ids | Array | Yes | An array of record IDs to evaluate. |
| Parameter | Type | Description |
|---|---|---|
evaluate | Array | An array of permission objects, one per record ID. Each includes id and boolean fields viewable, editable, and deletable. |
Related pages
- Files — Upload and download file attachments.
- Bulk requests — Execute multiple API calls in a single request.
- REST API overview — Full list of all endpoints.