Back

Kintone API Essential Guide

Aug 16, 20246 minute read

What type of API does Kintone provide?

Kintone uses a REST API. Here are the key points about Kintone's API:

  1. The Kintone REST API is capable of general create/retrieve/update/delete operations on App records, retrieving App descriptions, and manipulation of Spaces.

  2. It uses standard HTTP methods like GET, POST, PUT, DELETE.

  3. The base URL format is: https://{subdomain}.kintone.com/k/v1/{APIpath}.json For apps in guest spaces:
    https://{subdomain}.kintone.com/k/guest/{spaceID}/v1/{APIpath}.json

  4. Authentication is done via API tokens or session authentication.

  5. Code example of making a REST API request using the Kintone JavaScript API:

kintone.api('/k/v1/records', 'GET', {app: 1}, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
  1. Best practices:

    • Use the kintone.api() method when making API calls from customizations, as it handles authentication automatically.

    • Be aware of API request limits - 10,000 requests per day per app.

    • Handle errors appropriately in your API calls.

    • Use appropriate authentication methods based on your use case (API tokens vs session authentication).

The Kintone REST API provides a standardized way to interact with Kintone data and functionality programmatically, allowing for integration with other systems and custom development on the Kintone platform.

Does the Kintone API have webhooks?

Yes, the official Kintone API does support webhooks. Here are the key points about Kintone's webhook functionality:

  1. Webhook support: Kintone has built-in webhook capabilities that allow you to send record data in JSON format to an external endpoint when certain events occur in a Kintone app.

  2. Events you can subscribe to: You can set up webhooks to trigger on the following events in a Kintone app:

    • Adding a record
    • Editing a record
    • Deleting a record
    • Posting a comment
    • Updating the status (when using process management)
  3. Setting up webhooks: Webhooks can be configured in the app settings under the "Webhooks" option. You specify the endpoint URL and select which events should trigger the webhook.

  4. Data format: The data sent by webhooks is in JSON format. The specific contents depend on the triggering event.

  5. Limitations: Webhooks are not triggered for certain bulk operations like:

    • Using the REST API to perform actions on multiple records in one call
    • Importing Excel/CSV files
    • Deleting multiple records in bulk
  6. Execution logs: Kintone provides execution logs for webhooks so you can monitor their activity.

  7. Integration possibilities:
    Webhooks allow Kintone to integrate with external services and tools like Zapier, Microsoft Power Automate, IFTTT, etc. without custom coding.

So in summary, Kintone does offer robust webhook functionality as part of its official API, allowing you to push data to external systems when key events occur in your Kintone apps.

Rate Limits and other limitations

Here are the key points about the API rate limits for the Kintone API:

Number of API Requests Per Day

  • The number of API requests available per day is 10,000 per App [2].
  • This limit is reset every day at 9:00 AM JST [1].
  • External API requests that use kintone.proxy() are not counted towards this limit [1].

Concurrent API Requests

  • There is a limit on the number of concurrent API requests that can be made, but the exact number is not specified in the provided sources.
  • You can get the current number of simultaneous API calls and the maximum allowed using the Get Concurrency Limit API [3].

Other Limitations

  • The maximum number of records that can be specified in the offset parameter of the Get Records API is 10,000 [2].
  • The maximum number of records that can be added, updated, or deleted at once is 100 [2].
  • Large numbers of rows should not be added to a single table, as it can affect record processing [2].

Best Practices

  • Check your API usage on the "App Management" screen in Kintone Administration [1].
  • Be mindful of app configurations that can affect API performance, such as displaying records in the View screen [2].
  • When operating on Lookup values, ensure the Key Field of the Datasource App is either a Record Number field or a field with the "Prohibit duplicate values" option enabled [2].

Additional Notes

  • If a domain has IP address restrictions, only API requests from approved IP addresses will be successful [2].
  • After Kintone updates, spec changes may be applied to the JSON formats of request and response data [2].
  • For detailed information on API operations, you can check the Kintone audit logs [2].

It's important to note that these limits are specific to the Kintone API and may change over time. Always refer to the most up-to-date documentation for the latest information on API rate limits and best practices.

Latest API Version

Based on the search results provided, here are the key points regarding the most recent version of the Kintone API:

Most Recent API Update

The most recent Kintone API update mentioned in the search results is for July 2024 [1]. However, since today's date is August 16, 2024, this appears to be a future update that has not yet been released.

Latest Released API Update

The latest released API update mentioned in the search results is from July 2023 [1]. The key points from this update are:

  1. For the Kintone REST API:
    • Bug fixes were implemented for APIs that would return an unfriendly error message when null was specified for properties.{fieldcode}. This bug was fixed.

Key Points to Consider

  1. The Kintone API is regularly updated, with changes typically announced monthly or bi-monthly.

  2. Updates can include new features, bug fixes, specification changes, and sometimes end-of-support notices for older versions.

  3. The updates often cover both the Kintone REST API and the Kintone JavaScript API.

  4. Some updates are specific to mobile versions of the API.

  5. It's important to keep track of these updates to ensure your applications remain compatible and to take advantage of new features.

Best Practices

  1. Regularly check the Kintone API Update Summary page for the latest information on API changes and new features.

  2. When implementing Kintone API in your projects, always refer to the most recent documentation to ensure you're using the latest features and following current best practices.

  3. Be prepared to update your code when significant changes or bug fixes are announced, especially if they affect features you're currently using.

  4. Pay attention to end-of-support notices, such as the one for Kintone UI Component v0, which will reach end of support on December 31, 2023 [1].

  5. When using new API features, consider backwards compatibility with older Kintone versions that your users might be running.

How to get a Kintone developer account and API Keys?

To get a developer account for Kintone and create an API integration, you can follow these steps:

1. Sign up for a Kintone Developer License

  • Visit the Kintone Developer Program website (https://kintone.dev/en/)
  • Click on "Get a developer license" in the "Get Started" section
  • Fill out the registration form to create your free Kintone developer account

2. Set up your Kintone environment

  • Once your account is approved, you'll receive login credentials for your Kintone developer subdomain
  • Log in to your Kintone developer environment

3. Create an app in Kintone

  • Create a new app or use an existing one that you want to integrate with

4. Generate an API token

  • Open the app settings for your chosen app
  • Go to the "API Token" settings
  • Click "Generate" to create a new API token
  • Select the permissions you want to grant to this token (e.g., view records, add records, etc.)
  • Save the changes and update the app

5. Use the API token in your integration

  • Use the generated API token in the "X-Cybozu-API-Token" header when making REST API requests to Kintone
  • Example curl request:
curl -X GET "https://your-subdomain.kintone.com/k/v1/records.json?app=1" \
     -H "X-Cybozu-API-Token: YOUR_API_TOKEN"

Key points to consider:

  • Keep your API token secure and don't share it publicly
  • You can generate multiple API tokens with different permissions for different integrations
  • Refer to the Kintone REST API documentation for specific endpoints and request formats

What can you do with the Kintone API?

Based on the search results provided, here is a list of data models that can be interacted with using the Kintone API, along with what is possible for each:

Records

  • Create, retrieve, update, and delete App records
  • Perform bulk operations on multiple records at once
  • Query and filter records based on criteria
  • Retrieve record details including field values

Apps

  • Retrieve App descriptions and metadata
  • Get information about App fields, forms, and settings
  • Create, update, and delete Apps (likely restricted to administrators)

Spaces

  • Manipulate and manage Spaces
  • Create, update, and delete Spaces
  • Add/remove users and Apps to/from Spaces

Users

  • Retrieve user information
  • Manage user permissions and roles (likely restricted)

Files

  • Upload and download files attached to records
  • Manage file metadata

Comments

  • Add, retrieve, update, and delete record comments

Processes

  • Retrieve and update process management settings
  • Start and manage workflow processes

Custom Fields

  • Create, update, and delete custom fields in Apps
  • Retrieve custom field definitions and settings

Views

  • Create, retrieve, update, and delete custom views
  • Manage view settings and filters

Notifications

  • Send notifications to users
  • Retrieve notification settings

Webhooks

  • Create, update, and delete webhooks
  • Manage webhook settings

The Kintone API provides comprehensive access to most aspects of the Kintone platform, allowing developers to interact with and manipulate data, settings, and functionality programmatically. The core focus is on working with App records and metadata, but it extends to many other areas of the system as well.