Upload File

Uploads a file to Kintone.

MethodPOST
URLhttps://{subdomain}.kintone.com/k/v1/file.json
Authentication Password Authentication, API Token Authentication, Session Authentication
Content-Typemultipart/form-data

When a file is uploaded, it produces a fileKey.
Note that although this API uploads a file to Kintone, it does not upload the file to an Attachment field of an App.
To upload the file to an Attachment field, the fileKey is used with the Add Record or Update Record API.

Contents

Permissions

No record related permissions are needed, as this API does not directly attach a file to an App.

Request Parameters

Request format

The request is sent in a multipart/form-data format. Please look through RFC1867 (External link) and RFC7578 (External link) for more details.
Within the Content-Disposition header, specify "file" for the name parameter and the name of the file for the filename parameter.

Sample Request

JavaScript

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
var blob = new Blob(['Sample Test File'], {type: 'text/plain'});
var formData = new FormData();
formData.append('__REQUEST_TOKEN__', kintone.getRequestToken());
formData.append('file', blob, 'test.txt');

var url = 'https://{subdomain}.kintone.com/k/v1/file.json';
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onload = function() {
  if (xhr.status === 200) {
    // success
    console.log(JSON.parse(xhr.responseText));
  } else {
    // error
    console.log(JSON.parse(xhr.responseText));
  }
};
xhr.send(formData);

curl Sample

1
2
3
curl -X POST 'https://{subdomain}.kintone.com/k/v1/file.json' \
  -H 'X-Cybozu-API-Token: L08xCvTh7A1EVm3rZimF98R8VLP3k4lMlzELqyCx' \
  -F 'file=@FILEPATH'

Sample Response

The fileKey of the uploaded file will be returned.
Use this fileKey with the Add Record or Update Record API to attach it to an Attachment field of an app.

Attaching the file to an attachment field

Use the Add Record or Update Record API, and set the value of the fileKey as the fileKey obtained from the Upload File API, as shown in the example body below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "app": 3,
  "id": 6,
  "record": {
    "attached_file": {
      "value": [
        {
          "fileKey": " c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6"
        }
      ]
    }
  }
}

Limitations

Only 1 file can be uploaded at a time.
After the file is uploaded onto Kintone, the file will be deleted after 3 days if the Add Record or Update Record API is not used.
This API cannot be called with the Kintone API Request API.
For other limitations, check the Kintone REST API Limitations.