Platio API エラー

エラーコード

以下は、Platio APIが返すエラーコードのリストです。エラーを返すときに使われるHTTPのステータスコードごとに分かれています。

また、ロードバランサーやCDN、プロキシサーバーなどが、これら以外のエラーを返すこともあり、その場合、レスポンス本体がJSONになっていないこともあります。それらのエラーも、適宜処理してください。

400 Bad Request

コード 説明
ATTACHMENT_TOO_LARGE 添付ファイルが大きすぎます(添付ファイルの最大サイズはアプリケーションごとに異なります)。
DUPLICATED_VALUES 作成、または更新しようとしたレコードは、重複不可のカラムに重複した値を含んでいます。
INVALID_APPLICATION_ID アプリケーションのIDが不正です。
INVALID_ATTACHMENT_ID 添付ファイルのIDが不正です。
INVALID_BODY リクエスト本体が不正です。不正なJSON形式か、大きすぎます。
INVALID_COLLECTION_ID コレクションのIDが不正です。
INVALID_COLUMN_ID カラムのIDが不正です。
INVALID_CONTENT_TYPE Content-Typeヘッダが無いか不正です。リクエスト本体にJSONを渡すときには、application/jsonを指定する必要があります。
INVALID_LIMIT limitパラメーターの値が不正か大きすぎます。
INVALID_PARAM リクエスト本体に含まれるパラメーターの値が不正です。
INVALID_RECORD 不正な値でレコードを作成・更新しようとしました。
INVALID_RECORD_ID レコードのIDが不正です。
INVALID_SKIP skipパラメーターの値が不正です。
INVALID_SORT 指定されたカラムではソートできません。
INVALID_SORT_KEY sortKeyパラメーターの値が不正です。
INVALID_SORT_ORDER sortOrderパラメーターの値が不正です。
INVALID_TIMEZONE timezoneパラメーターの値が不正です。
INVALID_UPSERT_KEY_COLUMN 指定された列は値の重複を許可しているか、検索可能になっていません。フィールドをキーにするには、Studioでフィールドの「検索可能」と「値の重複を許さない」にチェックを入れてください。
INVALID_USER_ID レコード作成時に指定された作成者のユーザーIDが不正です。複数のレコードを作成する場合に、一部のレコードの作成者が指定されていない場合にも、このエラーコードが使われます。
MISSING_PARAM リクエスト本体に、必要なパラメーターが含まれていません。
MISSING_UPSERT_KEY_VALUE valuesに、キーの値が含まれていません。
NOTIFICATIONS_NOT_ENABLED このアプリケーションではプッシュ通知が有効になっていません。
PERMISSION_DENIED 指定された操作を行なう権限がありません。
TOO_LONG_VALUES 作成、または更新しようとしたレコードは、サイズが大きすぎる値を含んでいます。
TOO_MANY_RECORDS 一度に操作しようとしたレコードが多すぎます。
TOO_MANY_EXISTING_RECORDS コレクションに既に制限を超えた数のレコードが存在します。
UNKNOWN_PARAM リクエスト本体に、不明なパラメーターが含まれています。

401 Unauthorized

コード 説明
AUTHENTICATION_FAILED 認証に失敗しました。ユーザーIDまたはパスワード、もしくはBearerトークンが間違っています。
AUTHENTICATION_REQUIRED 認証が必要です。ユーザーIDとパスワード、もしくはBearerトークンを指定してください。

403 Forbidden

コード 説明
API_ACCESS_NOT_ALLOWED このユーザーはAPIの使用を許可されていません。
IP_ADDRESS_NOT_ALLOWED 呼び出し元のIPアドレスからのアクセスは許可されていません。

404 Not Found

コード 説明
APPLICATION_NOT_FOUND 指定されたアプリケーションが見つかりません。
ATTACHMENT_NOT_FOUND 指定された添付ファイルが見つかりません。
COLLECTION_NOT_FOUND 指定されたコレクションが見つかりません。
COLUMN_NOT_FOUND 指定されたカラムが見つかりません。
NOT_FOUND 指定されたURLは存在しません。
RECORD_NOT_FOUND 指定されたレコードが見つかりません。

429 Too Many Requests

コード 説明
TOO_MANY_REQUESTS APIの呼び出し回数が制限に達しました。

500 Internal Server Error

コード 説明
INTERNAL_SERVER_ERROR サーバー上で問題が発生しました。

503 Service Unavailable

コード 説明
SERVICE_UNAVAILABLE 一時的にサービスを使用することができません。

以下はエラーの例です。

間違ったパスワード

間違ったパスワードを指定すると、401ステータスコードと共にAUTHENTICATION_FAILEDが返されます。

curl -u uf598c3f:wrongPassword \
     'http://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/tf71dbb9/records'
{
  "code": "AUTHENTICATION_FAILED"
}

間違ったコレクションID

間違ったコレクションIDを指定すると、400ステータスコードと共にINVALID_COLLECTION_IDが返されます。

curl -u uf598c3f:mypassword \
     'http://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/123/records'
{
  "code": "INVALID_COLLECTION_ID"
}

存在しないレコード

存在しないレコード(もしくは削除されたレコード)を指定すると、404ステータスコードと共にRECORD_NOT_FOUNDが返されます。

curl -u uf598c3f:mypassword \
     'http://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/tf71dbb9/records/ri5f3cykexfbkzk7ohzqm2oocni'
{
  "code": "RECORD_NOT_FOUND"
}

不明なパラメーター

存在しないパラメーターをリクエスト本体に含めると、400ステータスコードと共にUNKNOWN_PARAMが返されます。

curl -u uf598c3f:mypassword \
     -X POST \
     -H 'Content-Type: application/json' \
     -d '{"unknown_param":"unknown value","values":{"c002c2c0":{"type":"String","value":"Scott Tiger"}}}' \
     'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/tf71dbb9/records'
{
  "code": "UNKNOWN_PARAM",
  "params": {
    "name": "unknown_param"
  }
}

必須パラメーター

必須パラメータを指定しないと、400ステータスコードと共にMISSING_PARAMが返されます。

curl -u uf598c3f:mypassword \
     -X POST \
     -H 'Content-Type: application/json' \
     -d '{"new_values":{"c002c2c0":{"type":"String","value":"Scott Tiger"}}}' \
     'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/tf71dbb9/records'
{
  "code": "MISSING_PARAM",
  "params": {
    "name": "values"
  }
}

不正なリクエスト本体

リクエスト本体が不正(JSONとして問題がある場合など)だと、400ステータスコードと共にINVALID_BODYが返されます。

以下の例では、typeの終わりに”がありません。

curl -u uf598c3f:mypassword \
     -X POST \
     -H 'Content-Type: application/json' \
     -d '{"values":{"c002c2c0":{"type:"String","value":"Scott Tiger"}}}' \
     'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/collections/tf71dbb9/records'
{
  "code": "INVALID_BODY"
}