API全体に適用される、いくつかの共通の規約があります。一度覚えておけば、どのエンドポイントを使うときも驚かずに済むため、リファレンスの中で繰り返す代わりにこのページにまとめています。
POST /api/register
POST /api/login
制限を超えると、APIはHTTP 429を返します。少し待ってから再試行してください。一括インポートを書く場合は、できるだけ速く送るのではなく、リクエストの間隔を調整してください。また、バルク用のエンドポイントは存在しないため、APIは1リクエストにつき1オブジェクトを処理する仕組みになっている点も覚えておいてください。
一覧を返すエンドポイントはページネーションされ、共通のエンベロープを共有します。
data
links
first
last
prev
next
meta
1ページにはデフォルトで10件のリソースが含まれます。per_page クエリパラメータで件数を増やせますが、最大100件までです。links.next が null になるまでたどれば、一覧全体を走査できます。
per_page
links.next
null
APIに登場するすべての金額(推定価値、取引金額、預り金、被保険価値)は、その通貨の最小単位を表す整数です。ドルやユーロであればセント単位になり、49.99ドルの購入は 4999 として渡されます。これにより浮動小数点の丸め誤差を完全に避けられます。表示用の変換は自分のコード側で行ってください。また、各コレクションは独自の通貨を持つ点にも注意してください。
4999
APIは、Webアプリと同じ権限を適用しますが、1つ意図的な違いがあります。実行を許可されていない操作や、他のアカウントのリソースに対する操作は、403 Forbiddenではなく404 Not Foundを返します。呼び出し側からは「存在しない」のか「自分のものではない」のかを区別できず、APIは自分のアカウント外に何が存在するかを一切明かしません。
アプリでは見えているオブジェクトに対してエンドポイントが予期せず404を返す場合は、使用しているトークンのユーザーの権限を確認してください。閲覧者のトークンは、すべての書き込み操作に対して404を返します。
バリデーションに失敗すると、HTTP 422とともに message と、フィールド名をキーとする errors オブジェクトが返されます。それ以外のエラーは通常のHTTPの意味に従います。トークンがない、または失効している場合は401、404は前述のとおり、レート制限には429です。
message
errors
/docs/api
このページの内容