閉じる

最新情報

Platio API レコード書き込み権限エラー(RECORD_NOT_WRITABLE)の追加に関するお知らせ

平素よりPlatioをご利用いただき、誠にありがとうございます。

このたび、Platio API に、新しいエラーコード「RECORD_NOT_WRITABLE」を追加することといたしましたので、お知らせいたします。
本変更は、Platio API を利用してレコードの書き込み(更新・アップサート・削除)を行っているお客様が対象です。API をご利用でないお客様への影響はございません。

実施日

2026年8月18日(火)以降、順次実施いたします。

概要

Platio API に、新しいエラーコード「RECORD_NOT_WRITABLE」を追加します。

これまでレコードの更新・アップサート・削除を行った際、「レコードは参照できるが書き込み権限がない」場合に返されるエラーが API ごとに異なり、一貫していませんでした。今回の変更により、これらの操作で書き込み権限がないレコードを操作しようとしたときには、一貫して「RECORD_NOT_WRITABLE」エラーが返るようになります。

何が変わるのか

これまでの動作(変更前)

「レコード自体は参照できるが、そのレコードへの書き込み権限を持っていない」ユーザーが書き込み系の操作を行った場合、返されるエラーは操作によって次のように異なっていました。

レコードの更新 RECORD_NOT_FOUND(HTTPステータス 404)
レコードの削除 RECORD_NOT_FOUND(HTTPステータス 404)
レコードのアップサート PERMISSION_DENIED(HTTPステータス 400)

このため、

  • 更新・削除では、「レコードが存在しない」場合と「レコードは存在するが書き込めない」場合を区別できませんでした(どちらも RECORD_NOT_FOUND)。
  • アップサートだけは PERMISSION_DENIED を返しており、更新・削除と挙動が揃っていませんでした。

これからの動作(変更後)

書き込み系の操作で、対象のレコードが参照はできるが書き込み権限がない場合、いずれの操作でも一貫して「RECORD_NOT_WRITABLE」(HTTPステータス 400)を返します。

レコードの更新 RECORD_NOT_WRITABLE(HTTPステータス 400)
レコードの削除 RECORD_NOT_WRITABLE(HTTPステータス 400)
レコードのアップサート RECORD_NOT_WRITABLE(HTTPステータス 400)

なお、次の場合は従来どおり「RECORD_NOT_FOUND」(HTTPステータス 404)を返します。

  • 指定したレコードがそもそも存在しない(または削除済み)場合
  • 指定したレコードが存在しても、そのユーザーには参照権限すらない場合

つまり、「RECORD_NOT_WRITABLE」は「そのレコードの存在をユーザーが確認できる(参照できる)」場合にのみ返されます。参照権限がないレコードについては引き続き「RECORD_NOT_FOUND」を返すため、ユーザーが見ることのできないレコードの存在が漏れることはありません。

変更の理由

  • エラーの一貫性の向上:
    更新・アップサート・削除という書き込み系操作の間で、書き込み権限がないときの挙動を統一しました。これにより、API を利用するアプリケーション側でのエラーハンドリングが簡潔かつ予測しやすくなります。
  • 原因の切り分けがしやすくなる:
    これまで更新・削除では、RECORD_NOT_FOUND が返っても「レコードが本当に存在しないのか」「権限がないだけなのか」を区別できませんでした。RECORD_NOT_WRITABLE の追加により、権限不足が原因であることを明確に判別できます。

影響を受ける API 一覧

以下のレコード書き込み系 API が、「RECORD_NOT_WRITABLE」を返すようになります。

レコードの更新(単一) PUT /v1/{applicationId}/collections/{collectionId}/records/{recordId}
レコードの更新(複数) PUT /v1/{applicationId}/collections/{collectionId}/records
レコードのアップサート(単一) PATCH /v1/{applicationId}/collections/{collectionId}/records/upsert/{columnId}
レコードのアップサート(複数) PATCH /v1/{applicationId}/collections/{collectionId}/records/upsert/{columnId}
レコードの削除(単一) DELETE /v1/{applicationId}/collections/{collectionId}/records/{recordId}

複数レコードの更新・アップサートについて

複数レコードを一度に操作する API では、途中のレコードでエラーが発生すると、それより前のレコードは処理された状態でエラーが返ります。エラーレスポンスには、エラーが発生したレコードのインデックス(recordIndex)と、そこまでに処理されたレコードが含まれます。この挙動は「RECORD_NOT_WRITABLE」の場合も同様です。

必要な対応

API を利用されているお客様は、書き込み系 API(更新・アップサート・削除)のエラーハンドリングについて、以下の点をご確認ください。

  • 権限不足を RECORD_NOT_FOUND(404)や PERMISSION_DENIED(400)として判定していた処理がある場合は、新しく RECORD_NOT_WRITABLE(400)も考慮するように更新してください。
  • 特に、更新・削除で HTTP ステータス 404 を前提にリトライやエラー分岐を行っている場合、権限不足のケースでは 400 が返るようになる点にご注意ください。
  • アップサートで PERMISSION_DENIED を判定していた場合は、RECORD_NOT_WRITABLE に置き換えてください。

「レコードが存在しないこと」を厳密に判定したい場合は、引き続き RECORD_NOT_FOUND(404)をご利用いただけます。

詳細は、Platio API ドキュメントをご確認ください。

【本件に関するお問い合わせ】

弊社サポート窓口またはパートナー企業様のサポート窓口までお問い合わせください。

直近開催予定のセミナー

 

新着記事

事例を読んだ方におすすめの資料

mail お問い合わせ・他社比較相談

製品に関するお問い合わせや活用に向けたご提案を承ります。
お気軽にご相談ください。

お問い合わせ

mail オンライン相談

専門スタッフによる無料のオンライン個別相談です。
ご自宅・遠方からでもお気軽にご相談ください。

オンライン相談

R 無料トライアル

まずは気軽に無料お試し!100種類以上のテンプレートを使って、アプリ作成から活用まで無料でお試しいただけます。

無料で今すぐ体験!

Platio(プラティオ)をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む