Skip to main content
Use these endpoints to configure app views, general settings, process management, customization, permissions, notifications, graphs, actions, plug-ins, and admin notes. All requests require authentication.
Preview vs. live endpointsEndpoints under /k/v1/preview/... write to the app’s draft settings and do not affect live users until you call Deploy App Settings. Endpoints without preview in the path operate on the live settings directly.

Views

Returns the view configurations for the live app. To retrieve draft views, use /k/v1/preview/app/views.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for view names: en, zh, ja, user, or default.

Response properties

PropertyTypeDescription
viewsObjectA map of view names to view definition objects.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/views.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Sample response
{
  "views": {
    "My List View": {
      "type": "LIST",
      "name": "My List View",
      "id": "20",
      "filterCond": "",
      "sort": "Record_number desc",
      "index": "0",
      "fields": ["Record_number", "Text_field"]
    }
  },
  "revision": "3"
}
Updates the view configurations in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
viewsObjectYesA map of view names to view definition objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
viewsObjectA map of view names to objects containing each view’s assigned id.
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/views.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "views": {
      "My List View": {
        "type": "LIST",
        "name": "My List View",
        "filterCond": "updated_time > LAST_WEEK()",
        "sort": "Record_number desc",
        "index": "0",
        "fields": ["Record_number", "Text_field"]
      }
    }
  }'
Sample response
{
  "views": {
    "My List View": { "id": "20" }
  },
  "revision": "4"
}

General settings

Returns the general settings (name, description, icon, theme) for the live app. To retrieve draft settings, use /k/v1/preview/app/settings.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for the app name and description.

Response properties

PropertyTypeDescription
nameStringThe app name.
descriptionStringThe app description (HTML).
iconObjectThe app icon. Contains type (FILE or PRESET) and either file or key.
themeStringThe color theme.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/settings.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Sample response
{
  "name": "My App",
  "description": "<b>An example app</b>",
  "icon": {
    "type": "PRESET",
    "key": "APP60"
  },
  "theme": "WHITE",
  "revision": "3"
}
Updates the general settings of the app in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
nameStringNoThe app name. Maximum 64 characters.
descriptionStringNoThe app description. HTML is allowed. Maximum 10,000 characters.
iconObjectNoThe app icon. Set type to PRESET with a key, or FILE with a file.fileKey.
themeStringNoThe color theme (e.g., WHITE, RED, GREEN).
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/settings.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "name": "Updated App Name",
    "theme": "BLUE"
  }'
Sample response
{
  "revision": "4"
}

Process management

Returns the process management (workflow status) settings for the live app. To retrieve draft settings, use /k/v1/preview/app/status.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for status and action names.

Response properties

PropertyTypeDescription
enableBooleanWhether process management is enabled.
statesObjectA map of status names to status objects.
actionsArrayList of action (transition) objects.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/status.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the process management settings in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
enableBooleanNoWhether to enable process management.
statesObjectNoA map of status names to status definition objects.
actionsArrayNoList of action (transition) objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/status.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "enable": true
  }'
Sample response
{
  "revision": "4"
}

Customization

Returns the JavaScript and CSS files attached to the live app for customization. To retrieve the draft customization, use /k/v1/preview/app/customize.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Response properties

PropertyTypeDescription
scopeStringThe scope of the customization: ALL, ADMIN, or NONE.
desktopObjectCustomization files for the desktop view. Contains js and css arrays.
mobileObjectCustomization files for the mobile view. Contains js array.
revisionStringThe current revision number.
Each file entry contains type (URL or FILE) and either a url string or a file object.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/customize.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Sample response
{
  "scope": "ALL",
  "desktop": {
    "js": [
      { "type": "URL", "url": "https://example.com/customize.js" }
    ],
    "css": []
  },
  "mobile": {
    "js": []
  },
  "revision": "2"
}
Updates the JavaScript and CSS customization files attached to the app in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
scopeStringNoThe scope: ALL, ADMIN, or NONE.
desktopObjectNoFiles for the desktop view. Contains js and css arrays.
mobileObjectNoFiles for the mobile view. Contains a js array.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.
Each file entry must have type (URL or FILE) and either url or file.fileKey.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/customize.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "scope": "ALL",
    "desktop": {
      "js": [
        { "type": "URL", "url": "https://example.com/customize.js" }
      ],
      "css": []
    }
  }'
Sample response
{
  "revision": "3"
}

Permissions

Returns the access control list (ACL) for the live app. To retrieve the draft ACL, use /k/v1/preview/app/acl.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Response properties

PropertyTypeDescription
rightsArrayList of permission rule objects. Each rule has entity (user/group/org), appEditable, recordViewable, recordAddable, recordEditable, recordDeletable, recordImportable, recordExportable.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/acl.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the access control list for the app. Changes take effect immediately on the live app — no deployment required.
This endpoint writes directly to the live app. Changes are not staged in draft.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
rightsArrayYesList of permission rule objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/app/acl.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "rights": [
      {
        "entity": { "type": "CREATOR" },
        "appEditable": true,
        "recordViewable": true,
        "recordAddable": true,
        "recordEditable": true,
        "recordDeletable": true
      }
    ]
  }'
Returns the record-level ACL for the live app. To retrieve draft permissions, use /k/v1/preview/record/acl.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/record/acl.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the record-level ACL for the live app. Changes take effect immediately — no deployment required.
This endpoint writes directly to the live app.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
rightsArrayYesList of record permission rule objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/record/acl.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "rights": [
      {
        "filterCond": "",
        "entities": [
          { "entity": { "type": "CREATOR" }, "viewable": true, "editable": true, "deletable": true }
        ]
      }
    ]
  }'
Returns the field-level ACL for the live app. To retrieve draft permissions, use /k/v1/preview/field/acl.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/field/acl.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the field-level ACL for the live app. Changes take effect immediately — no deployment required.
This endpoint writes directly to the live app.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
rightsArrayYesList of field permission rule objects. Each has field (field code), entities (array of entity + access level objects).
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/field/acl.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "rights": [
      {
        "field": "Customer_name",
        "entities": [
          { "entity": { "type": "CREATOR" }, "accessibility": "WRITE" }
        ]
      }
    ]
  }'

Notifications

Returns the general notification settings for the live app. To retrieve draft settings, use /k/v1/preview/app/notifications/general.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/notifications/general.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the general notification settings in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
notificationsArrayNoList of notification rule objects.
notifyToCommenterBooleanNoWhether to notify commenters.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/notifications/general.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "notifyToCommenter": true
  }'
Returns per-record notification settings (notifications triggered by conditions on individual records) for the live app. To retrieve draft settings, use /k/v1/preview/app/notifications/perRecord.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for notification titles.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/notifications/perRecord.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates per-record notification settings in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
notificationsArrayNoList of per-record notification rule objects. Each has filterCond, title, and targets.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/notifications/perRecord.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "notifications": []
  }'
Returns reminder notification settings for the live app. To retrieve draft settings, use /k/v1/preview/app/notifications/reminder.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for notification titles.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/notifications/reminder.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates reminder notification settings in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
notificationsArrayNoList of reminder notification objects. Each has timing, filterCond, title, and targets.
timezoneStringNoThe timezone for reminder timing (e.g., Asia/Tokyo).
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/notifications/reminder.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "notifications": [],
    "timezone": "Asia/Tokyo"
  }'

Graph settings

Returns the graph (report) configurations for the live app. To retrieve draft settings, use /k/v1/preview/app/reports.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for graph names.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/reports.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates the graph configurations in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
reportsObjectYesA map of graph names to graph definition objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/reports.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "reports": {}
  }'

Action settings

Returns the action (copy record to another app) configurations for the live app. To retrieve draft settings, use /k/v1/preview/app/actions.json.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
langStringNoLanguage code for action names.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/actions.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Updates action configurations in draft. Deploy the app to make changes live.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
actionsObjectYesA map of action names to action definition objects.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/preview/app/actions.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "actions": {}
  }'

App management

Moves an app into a space, or moves it out of a space.
Only Kintone administrators or space administrators can use this endpoint.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
spaceIntegerNoThe destination space ID. Omit or set to null to remove the app from its current space.

Response

An empty object {} is returned on success.

Examples

curl -X POST 'https://{subdomain}.kintone.com/k/v1/app/move.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "space": 5
  }'
Sample response
{}
Returns the admin notes for an app. Admin notes are only visible to app administrators.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.

Response properties

PropertyTypeDescription
contentStringThe admin notes content.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/adminNotes.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Sample response
{
  "content": "This app is used by the sales team.",
  "revision": "1"
}
Updates the admin notes for an app. Changes take effect immediately — no deployment required.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
contentStringNoThe admin notes content. Maximum 10,000 characters.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X PUT 'https://{subdomain}.kintone.com/k/v1/app/adminNotes.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "content": "Updated notes for the sales team app."
  }'
Sample response
{
  "revision": "2"
}

App plug-ins

Returns the list of plug-ins added to an app.

Query parameters

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
offsetIntegerNoNumber of plug-ins to skip. Default: 0.
limitIntegerNoNumber of plug-ins to return. Max: 100. Default: 100.

Response properties

PropertyTypeDescription
pluginsArrayList of plug-in objects. Each contains id, name, enabled, and optionally links.
revisionStringThe current revision number.

Examples

curl -X GET 'https://{subdomain}.kintone.com/k/v1/app/plugins.json?app=1' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}'
Sample response
{
  "plugins": [
    {
      "id": "djmhffjhfgmebgnmcggopedaofckljlj",
      "name": "My Plug-in",
      "enabled": true
    }
  ],
  "revision": "2"
}
Adds one or more installed plug-ins to an app. The plug-in must already be installed at the Kintone system level. See REST API > Plug-ins for system-level plug-in management.

Request body

ParameterTypeRequiredDescription
appIntegerYesThe app ID.
idsArray of stringsYesThe plug-in IDs to add.
revisionIntegerNoThe expected revision number. Use -1 to skip the check.

Response properties

PropertyTypeDescription
revisionStringThe new revision number.

Examples

curl -X POST 'https://{subdomain}.kintone.com/k/v1/app/plugins.json' \
  -H 'X-Cybozu-Authorization: {AuthorizationCode}' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "ids": ["djmhffjhfgmebgnmcggopedaofckljlj"]
  }'
Sample response
{
  "revision": "3"
}
  • Apps — Create apps and deploy settings changes
  • Form fields — Manage form fields and layout
  • Plug-ins — Install and manage plug-ins at the system level

Build docs developers (and LLMs) love