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'

Response Parameters

Parameter Type Description
fileKey String The fileKey representing an uploaded file. Use this fileKey with the Add Record or Update Record API to attach it to an Attachment field of an app.

Sample Response

1
2
3
{
  "fileKey": " c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6"
}

fileKeys

There are two types of fileKeys used in Kintone REST APIs.

  • fileKeys returned via the Upload File API
    • Ex: c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6
    • This fileKey is used to update a record with an Attachment field, or add a record with an attachment.
    • This article discusses this type of fileKey
  • fileKeys returned via the Get Record API
    • Ex: 201202061155587E339F9067544F1A92C743460E3D12B3297
    • This fileKey is used when downloading a file from an Attachment field.
    • This article does not cover this type of fileKey.

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.