標準はないようです。
StackOverflowの回答は 410 GONEに傾いていますが、301 MOVED PERMANENTLYの方が適切だと思います。
正しい選択をするために、特定のケースを調べる必要があります。API v1に対して行われたすべての呼び出しを、それ以上のアクションを実行せずに失敗させることが目標である場合、410 GONEはそのために機能します。呼び出しが成功する可能性があるAPIの新しいバージョンにクライアントをリダイレクトするなど、継続性が必要な場合、3XXは機能しますが、どちらを選択しますか?API v1をシャットダウンしようとしている場合、301 MOVED PERMANENTLYは303 SEE OTHERよりも優れていることを示すのに役立ちます。永久的。
各バージョンが後方互換性を維持するようにAPIを設計することをお勧めします。これにより、新しいAPIバージョンに新しいエンドポイントを追加するたびに、301 MOVED PERMANENTLYが透過的にAPIを常に最新の状態に保ちます。とにかくあなたがやろうとしていることだと思う。
HTTPステータスコード
HTTPステータスコード302はもともと広すぎたため、誤って実装/使用されるようになったため、302のデュアルユースケースを区別するために303と307が作成されました。一部のAPIは、他の目的で303を使用します。
301 MOVED PERMANENTLY -301(Moved Permanently)ステータスコードは、ターゲットリソースに新しい永続URIが割り当てられ、このリソースへの今後の参照では、囲まれたURIのいずれかを使用する必要があることを示します。
302 FOUND -302(Found)ステータスコードは、ターゲットリソースが一時的に別のURIにあることを示します。リダイレクトはときどき変更される可能性があるため、クライアントは今後のリクエストに引き続き有効なリクエストURIを使用する必要があります。
303 SEE OTHER -GETリクエストに対する303レスポンスは、オリジンサーバーがHTTP経由でサーバーによって転送できるターゲットリソースの表現を持っていないことを示します。ただし、Locationフィールドの値は、ターゲットリソースを説明するリソースを参照します。そのため、他のリソースで取得要求を行うと、元のターゲットリソースを表すことを意味することなく、受信者にとって有用な表現になります。
410 GONE -410(Gone)ステータスコードは、ターゲットリソースへのアクセスがオリジンサーバーで使用できなくなり、この状態が永続的である可能性が高いことを示します。オリジンサーバーが条件が永続的かどうかを知らない、または判断する機能がない場合は、代わりにステータスコード404(Not Found)を使用する必要があります。
既存のAPIはこれをどのように処理しますか?
たぶん、GoogleのYoutube APIからページを取得できます:
APIリクエストが失敗すると、YouTubeは失敗を一般的に識別するHTTP 4xxまたは5xx応答コードと、失敗の原因となったエラーに関するより具体的な情報を提供するXML応答を返します。エラーごとに、XML応答には、ドメイン要素、コード要素、および場合によっては場所要素が含まれます。
参考文献: