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

1件のレコードを更新します。

目次

HTTPメソッドPUT
URLhttps://sample.cybozu.com/k/v1/record.json
URL(ゲストスペース)https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/record.json
認証 パスワード認証 , APIトークン認証 , セッション認証 , OAuth認証
Content-Typeapplication/json

リクエストパラメーター

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

レスポンスプロパティ

プロパティ名 型 説明
revision 文字列 更新したレコードのリビジョン番号

必要なアクセス権

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

サンプル

1
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の共通仕様

 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
27
{
  "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
}

1
2
3
{
  "revision": "3"
}

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);

ご利用の環境によって、curlのフォーマットは異なる場合があります。
詳細は、次のページを参照してください。
curlコマンドでkintone REST APIを実行してみよう/3.API実行

 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"
      }
    }
  }'

補足

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

添付ファイルフィールドを更新するとき

  • すでにファイルを添付しているフィールドに、新しくファイルを追加する場合、添付済みのファイルのfileKeyもフィールドの値に指定してください。
  • すでに添付しているファイルを更新する場合、ファイルをアップロードするAPIでファイルをアップロードし直し、取得したfileKeyを1件のレコードを更新するAPIで指定してください。
  • すでに添付しているファイルをフィールドから削除する場合、削除するファイルのfileKeyをフィールドの値から除外してください。

テーブルを更新するとき

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

制限事項

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

公式コミュニティ

kintone開発者同士で質問や知見を共有し、学び合うことができます。