ロールを取得・変更・削除する

GET、PATCH、DELETEで所有するロールを管理する方法と、変更できる項目をご案内します。

カテゴリー: APIリファレンス

対象IDを指定する

各操作では共有URL末尾のUUIDを {id} に指定します。APIキーのアカウントが所有するロールだけを操作できます。

https://ror.jp/api/v1/pins/{id}

以下の例では、実際のUUIDを PIN_ID に設定してから実行してください。

PIN_ID='<uuid>'

GETで状態を取得する

curl --fail-with-body --silent --show-error \
  "https://ror.jp/api/v1/pins/$PIN_ID" \
  -H "Authorization: Bearer $ROR_API_KEY"

成功すると、タイトル、状態、共有URL、合言葉保護の有無、ピン留め状態、公開日時、期限、ファイル数、サイズなどを含む pin を返します。

PATCHで1項目だけ変更する

1回のPATCHには、titlereset_expirationpassword のうち正確に1つだけを指定します。複数の操作や未知の項目を送ると、変更せずに 422 invalid_update を返します。

操作 値と動作
title 255文字以内の文字列。空文字または null で消去
reset_expiration true のみ。リクエスト時点から正確に7日後へ変更
password 8文字以上・UTF-8で72バイト以下。空文字または null で解除

期限をリセットする例です。

curl --fail-with-body --silent --show-error \
  -X PATCH "https://ror.jp/api/v1/pins/$PIN_ID" \
  -H "Authorization: Bearer $ROR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"reset_expiration":true}'

reset_expirationを利用できるのは、公開中・期限内・未ピン留めのロールだけです。ピン留め中や期限切れのロールには利用できず、期限切れの共有URLは復元できません。期限のリセットや合言葉の変更・解除を行うと、それまでに発行された閲覧grantは失効します。

DELETEで公開を停止する

curl --fail-with-body --silent --show-error \
  -X DELETE "https://ror.jp/api/v1/pins/$PIN_ID" \
  -H "Authorization: Bearer $ROR_API_KEY"

成功は本文なしの 204 No Content です。共有URLへのアクセスは直ちに無効になり、保存データは後続のクリーンアップで物理削除されます。すでに削除済みなど、現在の状態から削除できない場合は 409 invalid_state です。

APIではできない変更

APIからピン留め、ピン留め解除、公開済みロールのコンテンツ差し替えはできません。ピン留めは管理画面で操作します。コンテンツを変える場合は、新しいZIPを POST /api/v1/pins で公開し、新しい共有URLを使用してください。