Skip to main content
The Kintone JavaScript API lets you customize the behavior and appearance of Kintone apps directly in the browser. You can register event handlers that run when users load pages, create or edit records, or interact with fields — and you can read and write field values, show or hide UI elements, and call the Kintone REST API or external APIs from within your customization code.

How to add customization code

You add JavaScript customizations to an app through the app’s JavaScript and CSS customization settings. Paste your script file URL or upload a .js file, then save and activate the app. Kintone loads your script on every page where the app is displayed. Always wrap your customization code in an immediately-invoked function expression (IIFE) to avoid polluting the global namespace and to ensure event handlers are registered at the correct time:
(function() {
  'use strict';

  kintone.events.on('app.record.index.show', function(event) {
    // Your customization logic here
    return event;
  });

})();
Register event handlers synchronously when your script loads — not inside DOMContentLoaded or load event callbacks. See Event handling for details on why this matters.

API categories

Events

Register and remove handlers for record list, detail, create, edit, print, graph, portal, and space events. Use kintone.events.on() and kintone.events.off().

Record APIs

Get and set record data, field values, and permissions. Access the current record ID and field elements on the page.

App APIs

Retrieve app metadata, form fields and layout, views, query conditions, and UI element references such as the header menu space element.

Space APIs

Get space information and space permissions for the current space context.

System APIs

Check available platform features and system-level permissions.

Field visibility

Show or hide fields and field groups on record forms programmatically.

UI elements

Toggle visibility of UI controls such as the new record button, filter button, edit button, sidebar, and status action buttons.

General utilities

Get the logged-in user, user groups, organizations, design version, available services, and domain. Display notifications, confirmation dialogs, and loading indicators.

Plug-in APIs

Read and write plug-in configuration. Make authenticated proxy requests to external services using plug-in credentials.

Full API reference

Events

Record list events

Triggered timingDesktopMobile
Onloadapp.record.index.showmobile.app.record.index.show
Inline editapp.record.index.edit.show
Field changeapp.record.index.edit.change.(fieldcode)
Saveapp.record.index.edit.submit
Save successapp.record.index.edit.submit.success
Deleteapp.record.index.delete.submit

Record detail events

Triggered timingDesktopMobile
Onloadapp.record.detail.showmobile.app.record.detail.show
Deleteapp.record.detail.delete.submitmobile.app.record.detail.delete.submit
Update statusapp.record.detail.process.proceedmobile.record.detail.process.proceed

Record create events

Triggered timingDesktopMobile
Onloadapp.record.create.showmobile.app.record.create.show
Field changeapp.record.create.change.(fieldcode)mobile.app.record.create.change.(fieldcode)
Saveapp.record.create.submitmobile.app.record.create.submit
Save successapp.record.create.submit.successmobile.app.record.create.submit.success

Record edit events

Triggered timingDesktopMobile
Onloadapp.record.edit.showmobile.app.record.edit.show
Field changeapp.record.edit.change.(fieldcode)mobile.app.record.edit.change.(fieldcode)
Saveapp.record.edit.submitmobile.app.record.edit.submit
Save successapp.record.edit.submit.successmobile.app.record.edit.submit.success

Other events

EventDesktopMobile
Record print onloadapp.record.print.show
Graph display onloadapp.report.showmobile.app.report.show
Portal display onloadportal.showmobile.portal.show
Space display onloadspace.portal.showmobile.space.portal.show

Event handling

APIAvailable on
kintone.events.on(type, handler)Desktop and mobile
kintone.events.off(type, handler)Desktop and mobile

Record APIs

APIDesktopMobile
kintone.app.record.getId()Yeskintone.mobile.app.record.getId()
kintone.app.record.get()Yeskintone.mobile.app.record.get()
kintone.app.record.set()Yeskintone.mobile.app.record.set()
kintone.app.record.getPermissions()YesYes
kintone.app.record.getFieldPermissions()YesYes
kintone.app.record.getStatusHistory()YesYes
kintone.app.record.getActions()YesYes

App APIs

APIDesktopMobile
kintone.app.get()YesYes
kintone.app.getId()Yeskintone.mobile.app.getId()
kintone.app.getFormFields()YesYes
kintone.app.getFormLayout()YesYes
kintone.app.getQuery()Yeskintone.mobile.app.getQuery()
kintone.app.getQueryCondition()Yeskintone.mobile.app.getQueryCondition()
kintone.app.getView()YesYes
kintone.app.getViews()YesYes
kintone.app.isTestEnvironment()YesYes
kintone.app.isMaintenanceMode()YesYes

Space APIs

APIDesktopMobile
kintone.space.get()YesYes
kintone.space.getPermissions()YesYes

System APIs

APIDesktopMobile
kintone.system.getAvailableFeatures()YesYes
kintone.system.getPermissions()YesYes

Plug-in APIs

APIDesktopMobile
kintone.plugin.app.getConfig()YesYes
kintone.plugin.app.setConfig()Yes
kintone.plugin.app.proxy()YesYes
kintone.plugin.app.proxy.upload()YesYes
kintone.plugin.app.setProxyConfig()Yes
kintone.plugin.app.getProxyConfig()Yes

REST API requests

APIDesktopMobile
kintone.api()YesYes
kintone.api.url()YesYes
kintone.api.urlForGet()YesYes
kintone.getRequestToken()YesYes
kintone.api.getConcurrencyLimit()YesYes
kintone.proxy()YesYes
kintone.proxy.upload()YesYes

General utilities

APIDesktopMobile
kintone.getLoginUser()YesYes
kintone.user.getCustomFields()YesYes
kintone.user.getGroups()YesYes
kintone.user.getOrganizations()YesYes
kintone.getUiVersion()YesYes
kintone.isMobileApp()YesYes
kintone.isMobilePage()YesYes
kintone.showNotification()Yes
kintone.showConfirmDialog()Yes
kintone.createDialog()Yes
kintone.showLoading()Yes
kintone.buildPageUrl()YesYes

Build docs developers (and LLMs) love