Skip to main content
The Kintone REST API lets you interact with Kintone programmatically from any HTTP client. You can create and update records, manage app settings, upload files, administer spaces, and install plug-ins. All requests and responses use JSON. Authentication is required for every request. See Authentication for details.

Base URL

All REST API endpoints are served from your Kintone subdomain:
https://{subdomain}.kintone.com
Replace {subdomain} with your Kintone subdomain (for example, https://example.kintone.com).
For guest space APIs, the URL path uses a different prefix: /k/guest/{spaceId}/v1/.... See Authentication for more details.

Request format

  • Send Content-Type: application/json for all requests with a request body.
  • Pass request parameters as a JSON body for POST, PUT, and DELETE requests.
  • Pass request parameters as query string values for GET requests.
  • All endpoints end in .json (for example, /k/v1/record.json).

Response format

Successful responses return HTTP 200 with a JSON body containing the requested data.

Error responses

Failed requests return a non-200 HTTP status code and a JSON body with three fields:
{
  "code": "CB_VA01",
  "id": "some-unique-request-id",
  "message": "The value of the 'app' is not a number."
}
FieldTypeDescription
codeStringA machine-readable error code identifying the error type.
idStringA unique ID for the request, useful when reporting issues to Kintone support.
messageStringA human-readable description of the error.

Limits

Kintone enforces concurrency and rate limits on API requests. If you exceed the concurrency limit, subsequent requests will be queued or rejected. Design your integration to handle rate-limit errors gracefully by retrying with exponential backoff. When using the JavaScript API inside a Kintone customization, you can check the current concurrency limit with kintone.api.getConcurrencyLimit().

Preview vs. live settings

Some App settings APIs operate on either the live app or preview (unpublished) settings:
  • Live endpoints use the path /k/v1/...
  • Preview endpoints use the path /k/v1/preview/...
Changes made via preview endpoints are not applied to the live app until you call the Deploy App Settings API.

Endpoint categories

Apps

Create apps, manage form fields, views, permissions, notifications, and other app settings.

Form fields

Add, update, and delete form fields and form layout on an app.

Views and settings

Manage views, general settings, process management, customization, graph settings, and action settings.

Records

Create, read, update, and delete records. Use cursor-based pagination for large datasets and bulk requests for batching multiple operations.

Files

Upload files and retrieve uploaded file content by file key.

Bulk requests

Combine multiple record create, update, and delete operations into a single atomic request.

Spaces

Create and manage spaces, space members, threads, and guest users.

Plug-ins

Install, update, and uninstall plug-ins in your Kintone environment.

All endpoints

Apps

CategoryAPIMethodPath
AppsGet AppGET/k/v1/app.json
Get AppsGET/k/v1/apps.json
Add Preview AppPOST/k/v1/preview/app.json
DeployDeploy App SettingsPOST/k/v1/preview/app/deploy.json
Get App Deploy StatusGET/k/v1/preview/app/deploy.json
Form FieldsGet Form FieldsGET/k/v1/app/form/fields.json
Add Form FieldsPOST/k/v1/preview/app/form/fields.json
Update Form FieldsPUT/k/v1/preview/app/form/fields.json
Delete Form FieldsDELETE/k/v1/preview/app/form/fields.json
Form LayoutGet Form LayoutGET/k/v1/app/form/layout.json
Update Form LayoutPUT/k/v1/preview/app/form/layout.json
ViewsGet ViewsGET/k/v1/app/views.json
Update ViewsPUT/k/v1/preview/app/views.json
General SettingsGet General SettingsGET/k/v1/app/settings.json
Update General SettingsPUT/k/v1/preview/app/settings.json
Process ManagementGet Process Management SettingsGET/k/v1/app/status.json
Update Process Management SettingsPUT/k/v1/preview/app/status.json
CustomizationGet CustomizationGET/k/v1/app/customize.json
Update CustomizationPUT/k/v1/preview/app/customize.json
App PermissionsGet App PermissionsGET/k/v1/app/acl.json
Update App PermissionsPUT/k/v1/app/acl.json
Record PermissionsGet Record PermissionsGET/k/v1/record/acl.json
Update Record PermissionsPUT/k/v1/record/acl.json
Field PermissionsGet Field PermissionsGET/k/v1/field/acl.json
Update Field PermissionsPUT/k/v1/field/acl.json
NotificationsGet General Notification SettingsGET/k/v1/app/notifications/general.json
Update General Notification SettingsPUT/k/v1/preview/app/notifications/general.json
Get Per Record Notification SettingsGET/k/v1/app/notifications/perRecord.json
Update Per Record Notification SettingsPUT/k/v1/preview/app/notifications/perRecord.json
Get Reminder Notification SettingsGET/k/v1/app/notifications/reminder.json
Update Reminder Notification SettingsPUT/k/v1/preview/app/notifications/reminder.json
Graph SettingsGet Graph SettingsGET/k/v1/app/reports.json
Update Graph SettingsPUT/k/v1/preview/app/reports.json
Action SettingsGet Action SettingsGET/k/v1/app/actions.json
Update Action SettingsPUT/k/v1/preview/app/actions.json
Plug-insGet App Plug-insGET/k/v1/app/plugins.json
Add Plug-ins to AppPOST/k/v1/app/plugins.json
Admin NotesGet App Admin NotesGET/k/v1/app/adminNotes.json
Update App Admin NotesPUT/k/v1/app/adminNotes.json
Move AppMove App to SpacePOST/k/v1/app/move.json

Records

CategoryAPIMethodPath
RecordGet RecordGET/k/v1/record.json
Get RecordsGET/k/v1/records.json
Add RecordPOST/k/v1/record.json
Add RecordsPOST/k/v1/records.json
Update RecordPUT/k/v1/record.json
Update RecordsPUT/k/v1/records.json
Delete RecordsDELETE/k/v1/records.json
CursorAdd CursorPOST/k/v1/records/cursor.json
Get CursorGET/k/v1/records/cursor.json
Delete CursorDELETE/k/v1/records/cursor.json
CommentsGet CommentsGET/k/v1/record/comments.json
Add CommentPOST/k/v1/record/comment.json
Delete CommentDELETE/k/v1/record/comment.json
Bulk RequestBulk RequestPOST/k/v1/bulkRequest.json
Process ManagementUpdate StatusPUT/k/v1/record/status.json
Update Multiple StatusesPUT/k/v1/records/status.json
Update AssigneesPUT/k/v1/record/assignees.json
Record PermissionsEvaluate Record PermissionsGET/k/v1/records/acl/evaluate.json

Files

CategoryAPIMethodPath
FileDownload FileGET/k/v1/file.json
Upload FilePOST/k/v1/file.json

Spaces

CategoryAPIMethodPath
SpaceGet SpaceGET/k/v1/space.json
Add Space From TemplatePOST/k/v1/template/space.json
Update Space BodyPUT/k/v1/space/body.json
Delete SpaceDELETE/k/v1/space.json
Space MembersGet Space MembersGET/k/v1/space/members.json
Update Space MembersPUT/k/v1/space/members.json
ThreadAdd ThreadPOST/k/v1/space/thread.json
Update ThreadPUT/k/v1/space/thread.json
Add Thread CommentPOST/k/v1/space/thread/comment.json
GuestsAdd GuestsPOST/k/v1/guests.json
Update Guest MembersPUT/k/guest/{spaceId}/v1/space/guests.json
Delete GuestsDELETE/k/v1/guests.json

Plug-ins

CategoryAPIMethodPath
Plug-insGet Installed Plug-insGET/k/v1/plugins.json
Install Plug-inPOST/k/v1/plugin.json
Update Plug-inPUT/k/v1/plugin.json
Uninstall Plug-inDELETE/k/v1/plugin.json
Get Plug-in AppsGET/k/v1/plugin/apps.json
Get Required Plug-insGET/k/v1/plugins/required.json

Build docs developers (and LLMs) love