1件のレコードを更新する

目次

1件のレコードを更新する

1件のレコードを更新します。
レコードIDを指定する方式と、フィールドの値を指定する方式があります。

URL

通常のアプリ
https://sample.cybozu.com/k/v1/record.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/record.json

HTTPメソッド

PUT

必要なアクセス権

  • アプリのレコード編集権限
  • 値を更新するレコードの編集権限
  • 値を更新するフィールドの編集権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
id 数値または文字列 条件必須 レコードID
updateKeyを指定する場合は、idを指定できません。
updateKey オブジェクト 条件必須 フィールドコードと値
フィールドの値を指定して更新する場合、updateKeyを指定します。
指定できるフィールドは、重複禁止を設定した「文字列(1行)」または「数値」フィールドのみです。
idを指定する場合は、updateKeyを指定できません。
record オブジェクト 省略可 レコードの情報(フィールドコードとフィールドの値)を指定したオブジェクト
フィールドの形式の詳細は、次のページを参照してください。
フィールド形式
省略すると、データは更新されません。
revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、レコードは更新されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。
リクエストの例
URL

https://sample.cybozu.com/k/v1/record.json

ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

ボディ(レコードIDを指定する場合)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "app": 1,
  "id": 1001,
  "record": {
    "文字列1行_0": {
      "value": "character string is changed"
    },
    // テーブルの中に配置されているフィールドの1行目の場合
    "テーブル_0": {
      "value": [
        {
          "id": 1,
          "value": {
            "文字列1行_1": {
              "value": "character string is changed"
            }
          }
        }
      ]
    }
  },
  "revision": 2
}
ボディ(重複禁止のフィールドコードと値を指定する場合)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
  "app": 1,
  "updateKey": {
    "field": "文字列1行_0",
    "value": "フィールドの値"
  },
  "record": {
    "文字列1行_1": {
      "value": "character string is changed"
    },
    // テーブルの中に配置されているフィールドの1行目の場合
    "テーブル_0": {
      "value": [
        {
          "id": 1,
          "value": {
            "文字列1行_2": {
              "value": "character string is changed"
            }
          }
        }
      ]
    }
  },
  "revision": 2
}

レスポンス

プロパティ
プロパティ名 説明
revision 文字列 更新したレコードのリビジョン番号
レスポンスの例
1
2
3
{
  "revision": "3"
}

サンプルコード

curlを使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
curl -X PUT 'https://sample.cybozu.com/k/v1/record.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "id": 1001,
    "record": {
      "文字列1行_0": {
        "value": "ABC"
      }
    }
  }'
kintone.api()を使ったリクエスト

kintone.api()の詳細は、次のページを参照してください。
kintone REST APIリクエストを送信する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const body = {
  app: kintone.app.getId(),
  id: 1001,
  record: {
    文字列1行_0: {
      value: 'ABC'
    }
  }
};

await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body);

注意事項

添付ファイルフィールドを更新するとき
  • すでにファイルを添付しているフィールドに、新しくファイルを追加する場合、添付済みのファイルのfileKeyもフィールドの値に指定してください。
  • すでに添付しているファイルを更新する場合、ファイルをアップロードするAPIでファイルをアップロードし直し、取得したfileKeyを1件のレコードを更新するAPIで指定してください。
  • すでに添付しているファイルをフィールドから削除する場合、削除するファイルのfileKeyをフィールドの値から除外してください。
テーブルを更新するとき
  • recordでテーブルのフィールドコードを省略すると、そのテーブルのデータは保持されます。
    ただし、テーブルの一部を更新したい場合、既存のすべての行をリクエストに含めてください。 リクエストに指定しない行は、削除されます。
  • 1件のレコードを取得するAPIで取得したテーブルの行のidを指定すると、指定されたidの行を更新します。
    1件のレコードを取得するAPI
    idを指定せずに行の値を変更すると、idが変わります。
  • 行の並び順は、リクエストに指定した配列の並び順です。
    行の並べ替えのみを行う場合は、並べ替えをしたidだけのリクエストデータを指定してください。

制限事項

  • 次のフィールドは、値を更新できません。
    • ルックアップ元からコピーされるフィールド
    • ステータス
    • カテゴリー
    • 計算
    • 作業者
    • 作成者
    • 作成日時
    • 更新者
    • 更新日時
    • 自動計算が設定されている文字列1行フィールド