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 REST API リクエストを送信する 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 の行を更新します。
    id を指定せずに行の値を変更すると、id が変わります。
  • 行の並び順は、リクエストに指定した配列の並び順です。
    行の並べ替えのみを行う場合は、並べ替えをした id だけのリクエストデータを指定してください。

制限事項

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