Skip to content

Platform api reference

shunter1112 edited this page Sep 18, 2013 · 1 revision
プラットフォームAPIはベータ版の機能です。一般的に利用可能になる前には機能が変更される事があります。
## 概要 プラットフォームAPIは開発者に自動化と、拡張、そして他のサービスとの統合をする力を与えます。このプラットフォームAPIを使ってプログラムからアプリを作成したり、アドオンを追加したり、以前まではダッシュボードやHerokuツールベルトにのみ関連づいていた他のタスクを実行したりすることができます。始めるための詳細については[quickstart](https://devcenter.heroku.com/articles/platform-api-quickstart)を確認してください。 ### 認証 HTTPベーシック認証はメールアドレスと[APIトークン](https://devcenter.heroku.com/articles/authentication)を`{email-address}:{api-token}`という形で組み合わせ、base64でエンコードし、それぞれのリクエストの認証ヘッダに渡される必要があります。例えば `Authorization: Basic 0123456789ABCDEF=`という形になります。 APIトークン認証は個人レベルのスクリプトではよく動きますが、サードパーティのサービスではオススメしません。私たちは、サードパーティ製のサービスへのアクセスを提供する際により精度が高く、操作性の良いものを提供するためベータでOAuthを使えるようにすることを計画しています。 ### キャッシュ 全てのレスポンスは`ETag`(もしくはエンティティタグ)ヘッダを含んでおり、返されたリソースの指定されたバージョンを特定しています。この値は、繰り返しリクエストを投げて、`If-None-Match`ヘッダ内の`ETag`の値を渡す事で、リソースの変更がないかを確認するのに使う事が出来るでしょう。もしリソースに変更がなければ、空のボディと共に`304 Not Modified`ステータスが返されます。もしリソースに変更が合った場合は、リクエストは普通に処理されます。 ### クライアント クライアントは必ずHTTPSを使って`api.heroku.com`へリクエストを発行する必要があり、`Accept: application/vnd.heroku+json; version=3`というアクセプトヘッダを指定する必要があります。クライアントはトラッキングやデバッグがしやすいように、`User-Agent`ヘッダを指定しておくべきでしょう。 ### cURL サンプル 実験しやすいようにcURLのサンプルが提供されています。変数は、環境変数を使って置き換えられるように、`$SOMETHING`として存在しています。サンプルは、`~/.netrc`ファイルから認証情報を取得するために、`-n`オプションを使用します。`.netrc`ファイルは以下と似たようなものを`api.heroku.com`の為に含めているべきでしょう。
machine api.heroku.com
  login {your-email}
  password {your-api-token}

カスタムタイプ

名前 JSONタイプ 説明
datetime string iso8601フォーマットのタイムスタンプです。
uuid string UUIDは 8-4-4-4-12 のフォーマットです。
### データの完全性 ユニークIDとより人間に取って親和性の高い属性の両方は、リソースを参照するのにつかわれます。たとえば、`name`や`id`をアプリケーションを参照するのに使うでしょう。親和性の高い語彙のほうが便利かもしれませんが、`id`の方が曖昧さをさけるためにも良いでしょう。

あなたが最後にレスポンスを受信してから、リソースに変化がないかどうかを確かめるためにに、前のレスポンスから得たEtagの値とともにIf-Matchヘッダを渡すでしょう。もしリソースに変更が合った場合、412 Precondition Failedレスポンスを受け取るはずです。もしリソースに変更がなければ、リクエストは正常に処理されます。

エラー

失敗しているレスポンスは、適切なstatusとJSONの内容を持ち合わせているはずです。

エラー属性

名前 タイプ 説明
id string 発生したエラーのIDです。 "rate_limit"
message string 発生したエラーのエンドユーザ向けメッセージです。 "Your account reached the API limit. Please wait a few minutes before making new requests"
### エラーのレスポンス ``` HTTP/1.1 429 Too Many Requests ``` ```javascript { "id": "rate_limit", "message": "Your account reached the API rate limit\nPlease wait a few minutes before making new requests" } ``` ### 古いAPI 古いものを使っているものは、[legacy-api-docs.heroku.com](https://legacy-api-docs.heroku.com)を参考に、v2 APIに変えて行くべきです。 ### Methods
メソッド 使い方
DELETE 存在しているオブジェクトを削除するのに使われます。
GET 個々のオブジェクトのリストを取得するのに使われます。
HEAD あるオプジェクとに関するメタデータを取得するのに使われます。
PATCH 存在しているオブジェクトとの更新に使われます。
PUT あるオブジェクトを置き換えるのに使われます。
POST 新しいオブジェクトを作成するのに使われます。

メソッドの上書き

全てのメソッドをサポートしていないクライアントを使用している場合、POSTと、X-Http-Method-Overrideヘッダを使う事で、使いたいメソッドへ上書きする事ができます。例えば、PATCHリクエストを行うために、X-Http-Method-Override: PATCHヘッダと共にPOSTを実行します。

パラメータ

あるアクションに対して提供され得る値は、必須の値とオプションとに分けられます。予想されるタイプの値は指定されており、その中にない値が渡されいても変化しないようになっているべきです。パラメータはJSON形式になっていて、リクエストボディに渡されるべきです。

レンジ

リストを要求するリクエストは、返って来た値のレンジを示すContent-Rangeヘッダを返します。大きなリストは、全て取得するためには追加でリクエストが必要になるでしょう。もしリストのレスポンスが刈り込まれていた場合、206 Partial Contentステータと、次のレンジを示すNext-Rangeヘッダとその値を受け取ります。次のレンジを受け取る場合は、Rangeヘッダに前のリクエストのNext-Rangeヘッダの内容を設定しながらリクエストを再度送ります。

RangeAPIの一般的なフォーマットは <attribute> [<start>]..[<end>][; param1=value1, ...]の様な形をしているでしょう。更に、<start>の値は、幅の開始が定義されていないことを示すために、閉じ大括弧(])を接頭辞として使う事があり、同様に幅の終了が定義されていない事を示すために、開始大括弧([)を<end>の値の接尾辞として使う事があります。

レンジ内で返される値の数は、Rangeヘッダのパラメータリスト内のmaxキーを使う事でコントロールが可能です。例えば、始めの10個だけの値を取得する場合、このヘッダにRange: id ..; max=10;と設定します。maxNext-Rangeを使ってイテレーションしている場合でも渡す事が出来ます。デフォルトのページサイズは200で最大サイズは1000です。

結果の並び順もRangeヘッダでコントロールができます。どんなリストのエンドポイントもどの属性で結果の並び替えが出来るかを示すAccept-Rangesヘッダを返答します。これらのレンジの一つから、Rangeを使ったリクエストを作成して使う事ができます。例えばGET /appsAccept-Ranges: id, nameとレスポンスを返します。nameでソートを掛けるリクエストをする場合、エンドポイントに対するリクエストにRange: name ..ヘッダを付与します。並び替えのデフォルトは昇順ですが、orderパラメータで変更可能です。例えば、 Range: name ..; order=descがあります。

リミット

このAPIは、不正使用やバグから守るために、それぞれのユーザが一時間当たりに投げられるリクエストの数を制限しています。それぞれのアカウントは1200トークンを保持できるリクエストトークンのプールを持っています。それぞれのAPIコールでプールから1トークンが取り除かれます。トークンはアカウントにひもづくプールに1時間に1200の割合で追加されて行き、最大は1200です。トークンが全くなくなってしまった場合、それ以降の呼び出しは、トークンが使えるようになるまで429Too Many Requestsを返します。

現在のトークンの数を確認するために、RateLimit-Remainingレスポンスヘッダを使う事ができます。また、トークン数取得のため、rate limitエンドポイントに対して問い合わせする事も出来ます。rate limit エンドポイントに対するリクエストは制限の対象としてカウントされません。もしあなたのアカウントが制限数に達したが、原因がよく分からない場合、Herokuダッシュボード上のアカウントページでAPIキーが循環していないか検討してみてください。

リクエスト ID

それぞれのAPIのレスポンスはトラッキングがしやすいように、Request-Idヘッダ内ユニークなリクエストIDを含んでいます。問題を報告する際に、この値を呈示してもらう事は、より素早く問題を特定し解決策を提供することを容易にします。

レスポンス

APIによって返却される値は、ステータスコードの例と関係するヘッダ(一般的なHTTPのヘッダが省略された状態で)、そして(もしあれば)JSONボディの例に分けられます。

レスポンスヘッダ

ヘッダ 説明
RateLimit-Remaining この期間に許可されているリクエストの数です
### ステータス
コード 発生元 Id メッセージ
200 両方 OK リクエストが成功しました。
201 両方 Created リソースが作成されました。例えば、新しいアプリケーションが作られたり、アドオンが追加された場合です。
202 両方 Accepted リクエストが受理されましたが、処理は完了していません。
206 両方 Partial Content リクエストは成功しましたが、これは部分的なレスポンスです。レンジを確認してください。
400 クライアント Bad Request リクエストは無効です。使用方法を確認して、再度実行してください。
401 クライアント Unauthorized リクエストは認証されませんでした。認証情報を確認して、再度実行してください。
402 クライアント Payment Required リクエストに関する支払いが完了していません。決済情報を確認した上で、再度実行してください。
403 クライアント Forbidden リクエストには権限が付与されていません。提供された認証情報では、指定されたリソースへのアクセスが出来ません。
404 クライアント Not Found リクエストが失敗しました。指定されたリクエストは存在していません。
406 クライアント Not Acceptable リクエストが失敗しました。Accept: application/vnd.heroku+json; version=3 ヘッダを付与して、再度実行をしてください。
416 クライアント Requested Range Not Satisfiable リクエストが失敗しました。Content-Rangeヘッダを確認して、再度実行してください。
422 クライアント Unprocessable Entity リクエストが失敗しました。パラメータを確認して、再度実行してください。
429 クライアント Too Many Requests リクエストがが失敗しました。リクエスト数の上限がリセットされるのを待って、再度実行してください。リミットを確認してください。
500 Heroku Internal Server Error エラーが発生しました。私たちは問題について認識はしていますが、問題が続く場合はサポートへ連絡をください。
503 Heroku Service Unavailable APIは使用不可能です。さらなる詳細は、レスポンスボディを確認するか、Heroku statusを確認してください。
### バージョン APIのベータ版やリリース版はversion3で起こります。私たちはベータ版の間に作るだろう、バックの非互換性の変更についての警告や移行の方法を提供し、version3のリリース版が出たあとはバックの非互換な変更をコミットしない予定です。 ### 警告 警告を伴うレスポンスは、警告について説明しているヘッダを付与しています。 ### Warning Headers
ヘッダ 説明
id 警告のID "stack_deprecated"
message エンドユーザ向けの警告のメッセージ "This stack is deprecated."
## アカウント アカウントはHerokuでのあなたの代わりです。 ### 属性
名前 タイプ 説明
allow_tracking boolean Google Analyticsの様なサードパーティのサービスにWebのアクティビティのトラッキングを許可させるかどうか true
beta boolean Herokuのベータ機能を利用するかどうか false
created_at datetime アカウントが作られた日時 2012-01-01T12:00:00Z
email string アカウントのメールアドレス "username@example.com"
id uuid アカウントのユニークID 01234567-89ab-cdef-0123-456789abcdef
last_login datetime Herokuから最後に権限付与された日時 2012-01-01T12:00:00Z
updated_at datetime アカウントの更新日時 2012-01-01T12:00:00Z
verified boolean アカウントが決済情報によって認証されたかどうか false
### アカウントの情報 ``` GET /account ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "allow_tracking": true, "beta": false, "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "last_login": "2012-01-01T12:00:00Z", "updated_at": "2012-01-01T12:00:00Z", "verified": false } ``` ### アカウントの更新 ``` PATCH /account ``` #### オプションのパラメータ
名前 タイプ 説明
allow_tracking boolean Google Analyticsの様なサードパーティのサービスにWebのアクティビティのトラッキングを許可させるかどうか true
email string アカウントのメールアドレス "username@example.com"
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/account \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"allow_tracking\":true,\"email\":\"username@example.com\"}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "allow_tracking": true, "beta": false, "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "last_login": "2012-01-01T12:00:00Z", "updated_at": "2012-01-01T12:00:00Z", "verified": false } ``` ## アカウントの機能 アカウントの機能とは、Herokuのアカウントにとって利用可能かどうかというHerokuラボの利用可能性を表しています。

属性

名前 タイプ 説明
created_at datetime アカウントの機能が作られた日時 2012-01-01T12:00:00-00:00
description string アカウントの機能の説明 "Causes account to example."
doc_url string アカウントの機能のドキュメントのURL "http://devcenter.heroku.com/articles/example"
enabled boolean アカウントの機能が有効化されたかどうか true
id uuid アカウントの機能のユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string アカウントの機能のユニークな名前 "example"
updated_at datetime アカウントの機能が更新された日時 2012-01-01T12:00:00-00:00
### アカウントの機能のリスト ``` GET /account/features ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/features \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes account to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ] ``` ### アカウントの機能の情報 ``` GET /account/features/{feature_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/features/$FEATURE_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes account to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ### アカウントの機能 の更新 ``` PATCH /account/features/{feature_id_or_name} ``` #### 必須パラメータ
名前 タイプ 説明
enabled boolean アカウントの機能が有効化されているかどうか true
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/account/features/$FEATURE_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"enabled\":true}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes account to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ## アカウントのパスワード

属性

名前 タイプ 説明
current_password string 既存のパスワードの値 "0123456789abcdef"
password string 新しいパスワードの値 "abcdef0123456789"
### Account Passwordの更新 ``` PUT /account/password ``` #### 必須パラメータ
名前 タイプ 説明
current_password string 既存のパスワードの値 "0123456789abcdef"
password string 新しいパスワードの値 "abcdef0123456789"
#### Curlの例 ```term $ curl -n -X PUT https://api.heroku.com/account/password \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"current_password\":\"0123456789abcdef\",\"password\":\"abcdef0123456789\"}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { } ``` ## アドオン アドオンはアプリケーションに配備されているアドオンを表しています。 ### 属性
名前 タイプ 説明
config object 追加で指定されているアドオンの設定 {}
created_at datetime アドオンがが作成された日時 2012-01-01T12:00:00Z
id uuid このアドオンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
plan:id uuid プランに対するユニークなID 01234567-89ab-cdef-0123-456789abcdef
plan:name string プランに対するユニークな名前 "heroku-postgresql:dev"
updated_at datetime アドオンの更新日時 2012-01-01T12:00:00Z
### アドオンの作成 ``` POST /apps/{app_id_or_name}/addons ``` #### オプションのパラメータ
名前 タイプ 説明
config object 追加で指定されているアドオンの設定 {}
plan:id uuid プランに対するユニークなID 01234567-89ab-cdef-0123-456789abcdef
plan:name string プランに対するユニークな名前 "heroku-postgresql:dev"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/addons \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"config\":{},\"plan\":{\"id\":\"01234567-89ab-cdef-0123-456789abcdef\",\"name\":\"heroku-postgresql:dev\"}}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "plan": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev" }, "updated_at": "2012-01-01T12:00:00Z" } ``` ### アドオンのリスト ``` GET /apps/{app_id_or_name}/addons ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/addons \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "plan": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev" }, "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### アドオンの情報 ``` GET /apps/{app_id_or_name}/addons/{addon_id} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/addons/$ADDON_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "plan": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev" }, "updated_at": "2012-01-01T12:00:00Z" } ``` ### アドオンの更新 ``` PATCH /apps/{app_id_or_name}/addons/{addon_id} ``` #### オプションのパラメータ
名前 タイプ 説明
config object 追加で指定されているアドオンの設定 {}
plan:id uuid プランに対するユニークなID 01234567-89ab-cdef-0123-456789abcdef
plan:name string プランに対するユニークな名前 "heroku-postgresql:dev"
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/addons/$ADDON_ID \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"config\":{},\"plan\":{\"id\":\"01234567-89ab-cdef-0123-456789abcdef\",\"name\":\"heroku-postgresql:dev\"}}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "plan": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev" }, "updated_at": "2012-01-01T12:00:00Z" } ``` ### アドオンの削除 ``` DELETE /apps/{app_id_or_name}/addons/{addon_id} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/apps/$APP_ID_OR_NAME/addons/$ADDON_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "plan": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev" }, "updated_at": "2012-01-01T12:00:00Z" } ``` ## アドオンサービス アドオンサービスはアプリケーションに配備されているだろうアドオンを表しています。 ### 属性
名前 タイプ 説明
created_at datetime アドオンサービスが作成された日時 2012-01-01T12:00:00Z
id uuid サービスのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string サービスのユニークな名前 "heroku-postgresql"
updated_at datetime アドオンサービスが更新された日時 2012-01-01T12:00:00Z
### アドオンサービスの一覧 ``` GET /addon-services ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/addon-services \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### アドオンサービスの情報 ``` GET /addon-services/{addon_service_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/addon-services/$ADDON_SERVICE_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql", "updated_at": "2012-01-01T12:00:00Z" } ``` ## アプリケーション アプリケーションはHeroku上でデプロイし、実行したいプログラムを表しています。 ### 属性
名前 タイプ 説明
archived_at datetime アプリケーションがアーカイブされた日時 2012-01-01T12:00:00Z
buildpack_provided_description string アプリケーションのビルドパックからの説明 "Ruby/Rack"
created_at datetime アプリケーションが作成された日時 2012-01-01T12:00:00Z
git_url string アプリケーションのGitリポジトリのURL "git@heroku.com/example.git"
id uuid アプリケーションのユニークなID 01234567-89ab-cdef-0123-456789abcdef
maintenance boolean アプリケーションのメンテナンスステータス false
name string アプリケーションのユニークな名前 "example"
owner:email string アプリケーションの所有者のメールアドレス "username@example.com"
owner:id uuid アプリケーションの所有者のユニークなID 01234567-89ab-cdef-0123-456789abcdef
region:id uuid アプリケーションのリージョンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
region:name string アプリケーションのリージョンの名前 "us"
released_at datetime アプリケーションが最後にリリースされた日時 2012-01-01T12:00:00Z
repo_size number アプリケーションのGitリポジトリのサイズ(バイト) 1024
slug_size number アプリケーションのスラッグの大きさ(バイト) 512
stack string アプリケーションのスタック "cedar"
updated_at datetime アプリケーションの更新日時 2012-01-01T12:00:00Z
web_url string アプリケーションのWebのURL "http://example.herokuapp.com"
### アプリケーションの作成 ``` POST /apps ``` #### オプションのパラメータ
名前 タイプ 説明
name string アプリケーションのユニークな名前 "example"
region:id uuid アプリケーションのリージョンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
region:name string アプリケーションのリージョンの名前 "us"
stack string アプリケーションのスタック "cedar"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"name\":\"example\",\"region\":{\"id\":\"01234567-89ab-cdef-0123-456789abcdef\",\"name\":\"us\"},\"stack\":\"cedar\"}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "archived_at": "2012-01-01T12:00:00Z", "buildpack_provided_description": "Ruby/Rack", "created_at": "2012-01-01T12:00:00Z", "git_url": "git@heroku.com/example.git", "id": "01234567-89ab-cdef-0123-456789abcdef", "maintenance": false, "name": "example", "owner": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "region": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us" }, "released_at": "2012-01-01T12:00:00Z", "repo_size": 1024, "slug_size": 512, "stack": "cedar", "updated_at": "2012-01-01T12:00:00Z", "web_url": "http://example.herokuapp.com" } ``` ### アプリケーションの一覧 ``` GET /apps ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "archived_at": "2012-01-01T12:00:00Z", "buildpack_provided_description": "Ruby/Rack", "created_at": "2012-01-01T12:00:00Z", "git_url": "git@heroku.com/example.git", "id": "01234567-89ab-cdef-0123-456789abcdef", "maintenance": false, "name": "example", "owner": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "region": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us" }, "released_at": "2012-01-01T12:00:00Z", "repo_size": 1024, "slug_size": 512, "stack": "cedar", "updated_at": "2012-01-01T12:00:00Z", "web_url": "http://example.herokuapp.com" } ] ``` ### アプリケーションの情報 ``` GET /apps/{app_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "archived_at": "2012-01-01T12:00:00Z", "buildpack_provided_description": "Ruby/Rack", "created_at": "2012-01-01T12:00:00Z", "git_url": "git@heroku.com/example.git", "id": "01234567-89ab-cdef-0123-456789abcdef", "maintenance": false, "name": "example", "owner": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "region": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us" }, "released_at": "2012-01-01T12:00:00Z", "repo_size": 1024, "slug_size": 512, "stack": "cedar", "updated_at": "2012-01-01T12:00:00Z", "web_url": "http://example.herokuapp.com" } ``` ### アプリケーションの更新 ``` PATCH /apps/{app_id_or_name} ``` #### オプションのパラメータ
名前 タイプ 説明
maintenance boolean maintenance status of app false
name string unique name of app "example"
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"maintenance\":false,\"name\":\"example\"}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "archived_at": "2012-01-01T12:00:00Z", "buildpack_provided_description": "Ruby/Rack", "created_at": "2012-01-01T12:00:00Z", "git_url": "git@heroku.com/example.git", "id": "01234567-89ab-cdef-0123-456789abcdef", "maintenance": false, "name": "example", "owner": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "region": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us" }, "released_at": "2012-01-01T12:00:00Z", "repo_size": 1024, "slug_size": 512, "stack": "cedar", "updated_at": "2012-01-01T12:00:00Z", "web_url": "http://example.herokuapp.com" } ``` ### アプリケーションの削除 ``` DELETE /apps/{app_id_or_name} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/apps/$APP_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "archived_at": "2012-01-01T12:00:00Z", "buildpack_provided_description": "Ruby/Rack", "created_at": "2012-01-01T12:00:00Z", "git_url": "git@heroku.com/example.git", "id": "01234567-89ab-cdef-0123-456789abcdef", "maintenance": false, "name": "example", "owner": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "region": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us" }, "released_at": "2012-01-01T12:00:00Z", "repo_size": 1024, "slug_size": 512, "stack": "cedar", "updated_at": "2012-01-01T12:00:00Z", "web_url": "http://example.herokuapp.com" } ``` ## アプリケーションの機能 アプリケーションの機能とは、Herokuのアプリケーションにとって利用可能かどうかというHerokuラボの利用可能性を表しています。 ### 属性
名前 タイプ 説明
created_at datetime アプリケーションの機能が作成された日時 2012-01-01T12:00:00-00:00
description string アプリケーションの機能の説明 "Causes app to example."
doc_url string アプリケーションの機能のドキュメントのURL "http://devcenter.heroku.com/articles/example"
enabled boolean アプリケーションの機能が利用可能かどうか true
id uuid アプリケーションの機能のユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string uアプリケーションの機能のユニークな名前 "example"
updated_at datetime アプリケーションの機能が更新された日時 2012-01-01T12:00:00-00:00
### アプリケーションの機能の一覧 ``` GET /apps/{app_id_or_name}/features ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/features \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes app to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ] ``` ### アプリケーションの機能の情報 ``` GET /apps/{app_id_or_name}/features/{feature_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/features/$FEATURE_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes app to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ### アプリケーションの機能の更新 ``` PATCH /apps/{app_id_or_name}/features/{feature_id_or_name} ``` #### 必須パラメータ
名前 タイプ 説明
enabled boolean アプリケーションの機能が利用可能かどうか true
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/features/$FEATURE_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"enabled\":true}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00-00:00", "description": "Causes app to example.", "doc_url": "http://devcenter.heroku.com/articles/example", "enabled": true, "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ## アプリケーショントランスファー [トランスファー](https://devcenter.heroku.com/articles/transferring-apps)はユーザにアプリケーションの所有権を他のユーザに移す事を許します。移行されたアプリケーションは無料か有料のリソースを持っていると思いますが、もし有料ならば、受け取ったユーザは[アカウントの認証](https://devcenter.heroku.com/articles/account-verification)をする必要があります。 ### 属性
名前 タイプ 説明
created_at datetime トランスファーが作成された日時 2012-01-01T12:00:00Z
app:id string 移行されたアプリケーションのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
app:name string 移行されたアプリケーションの名前 "example"
id uuid このトランスファーのユニークなID 01234567-89ab-cdef-0123-456789abcdef
owner:id string 送信したユーザのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
owner:email string 送信したユーザのメールアドレス "username@example.com"
recipient:id string 受信するユーザのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
recipient:email string 受信するユーザのメールアドレス "username@example.com"
state string トランスファーの最新の状態; accepted/declined/pending "pending"
updated_at datetime トランスファーが更新された日時 2012-01-01T12:00:00Z
### アプリケーショントランスファーの作成 ``` POST /account/app-transfers ``` #### オプションのパラメータ
名前 タイプ 説明
app:id string 移行されたアプリケーションのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
app:name string 移行されたアプリケーションの名前 "example"
recipient:id string 受信するユーザのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
recipient:email string 受信するユーザのメールアドレス "username@example.com"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/account/app-transfers \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"app\":{\"id\":\"01234567-89ab-cdef-0123-456789abcdef\",\"name\":\"example\"},\"recipient\":{\"email\":\"username@example.com\",\"id\":\"01234567-89ab-cdef-0123-456789abcdef\"}}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "app": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "owner": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "recipient": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "state": "pending", "updated_at": "2012-01-01T12:00:00Z" } ``` ### アプリケーショントランスファーの一覧 ``` GET /account/app-transfers ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/app-transfers \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "app": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "owner": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "recipient": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "state": "pending", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### アプリケーショントランスファーの情報 ``` GET /account/app-transfers/{transfer_id} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/app-transfers/$TRANSFER_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "app": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "owner": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "recipient": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "state": "pending", "updated_at": "2012-01-01T12:00:00Z" } ``` ### アプリケーショントランスファーの更新 ``` PATCH /account/app-transfers/{transfer_id} ``` #### 必須パラメータ
名前 タイプ 説明
state string トランスファーの最新の状態; accepted/declined/pending "pending"
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/account/app-transfers/$TRANSFER_ID \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"state\":\"pending\"}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "app": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "owner": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "recipient": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "state": "pending", "updated_at": "2012-01-01T12:00:00Z" } ``` ### アプリケーショントランスファーの削除 ``` DELETE /account/app-transfers/{transfer_id} ``` #### Curlの例 ```term $ curl -n -X Delete https://api.heroku.com/account/app-transfers/$TRANSFER_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "app": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "owner": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "recipient": { "id": "01234567-89ab-cdef-0123-456789abcdef", "email": "username@example.com" }, "state": "pending", "updated_at": "2012-01-01T12:00:00Z" } ``` ## コラボレータ コラボレータはHerokuのアプリケーションにアクセスできるようになった他のユーザです。 ### 属性
名前 タイプ 説明
created_at datetime コラボレータが作成された日時 2012-01-01T12:00:00Z
id uuid このコラボレータのユニークなID 01234567-89ab-cdef-0123-456789abcdef
silent boolean trueの場合、コラボレーション用の招待をメールで送るのをやめます false
updated_at datetime コラボレータが更新された日時 2012-01-01T12:00:00Z
user:email string コラボレータのメールアドレス "collaborator@example.com"
user:id uuid ユーザのユニークなID 01234567-89ab-cdef-0123-456789abcdef
### コラボレータの作成 ``` POST /apps/{app_id_or_name}/collaborators ``` #### オプションのパラメータ
名前 タイプ 説明
silent boolean trueの場合、コラボレーション用の招待をメールで送るのをやめます false
user:email string コラボレータのメールアドレス "collaborator@example.com"
user:id uuid ユーザのユニークなID 01234567-89ab-cdef-0123-456789abcdef
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/collaborators \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"silent\":false,\"user\":{\"email\":\"collaborator@example.com\",\"id\":\"01234567-89ab-cdef-0123-456789abcdef\"}}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "collaborator@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" } } ``` ### コラボレータの一覧 ``` GET /apps/{app_id_or_name}/collaborators ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/collaborators \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "collaborator@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" } } ] ``` ### コラボレータの情報 ``` GET /apps/{app_id_or_name}/collaborators/{collaborator_id_or_email} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/collaborators/$COLLABORATOR_ID_OR_EMAIL \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "collaborator@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" } } ``` ### コラボレータの削除 ``` DELETE /apps/{app_id_or_name}/collaborators/{collaborator_id_or_email} ``` #### Curlの例 ```term $ curl -n -X Delete https://api.heroku.com/apps/$APP_ID_OR_NAME/collaborators/$COLLABORATOR_ID_OR_EMAIL \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "collaborator@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" } } ``` ## 設定変数 設定変数はHerokuのアプリケーションへ提供される設定情報の管理を許可します。 ### 属性
名前 タイプ 説明
{key} string Dynoの環境用のキーバリューのペア "{value}"
### 設定変数の情報 ``` GET /apps/{app_id_or_name}/config-vars ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/config-vars \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "FOO": "bar", "BAZ": "qux", "QUUX": "corge" } ``` ### 設定変数の更新 ``` PATCH /apps/{app_id_or_name}/config-vars ``` #### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/config-vars \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "BAZ": "grault", "QUUX": "corge" } ``` ## ドメイン ドメインは、Herokuのアプリケーションへどのルータが接続されるべきかを定義します。 ### 属性
名前 タイプ 説明
created_at datetime ドメインが作成された日時 2012-01-01T12:00:00Z
hostname string 完全なホスト名 "subdomain.example.com"
id uuid このドメインのユニークなID 01234567-89ab-cdef-0123-456789abcdef
updated_at datetime ドメインが更新された日時 2012-01-01T12:00:00Z
### ドメインの作成 ``` POST /apps/{app_id_or_name}/domains ``` #### 必須パラメータ
名前 タイプ 説明
hostname string 完全なホスト名 "subdomain.example.com"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/domains \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"hostname\":\"subdomain.example.com\"}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "hostname": "subdomain.example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ### ドメインの一覧 ``` GET /apps/{app_id_or_name}/domains ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/domains \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "hostname": "subdomain.example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### ドメインの情報 ``` GET /apps/{app_id_or_name}/domains/{domain_id_or_hostname} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/domains/$DOMAIN_ID_OR_HOSTNAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "hostname": "subdomain.example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ### Domainの削除 ``` DELETE /apps/{app_id_or_name}/domains/{domain_id_or_hostname} ``` #### Curlの例 ```term $ curl -n -X Delete https://api.heroku.com/apps/$APP_ID_OR_NAME/domains/$DOMAIN_ID_OR_HOSTNAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "hostname": "subdomain.example.com", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ## Dyno DynoはHerokuのアプリケーションの実行処理をカプセル化します。 ### 属性
名前 タイプ 説明
attach boolean 出力を流しているかどうか true
attach_url string 付属したプロセスから出力を流しているURLか、プロセスがひもづいていない場合はnullが入ります "rendezvous://rendezvous.runtime.heroku.com:5000/{rendezvous-id}"
command string このプロセスを開始するために使われるコマンド "bash"
created_at datetime ドメインが作成された日時 2012-01-01T12:00:00Z
env hash Dynoの実行のための追加の環境変数 {"COLUMNS"=>80, "LINES"=>24}
id uuid このDynoのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string アプリ上でのこのプロセスの名前 "run.1"
release:id uuid このプロセスが開始されたリリースのユニークなID 01234567-89ab-cdef-0123-456789abcdef
release:version number このプロセスが開始されたリリースのユニークなバージョン 456
size number Dynoのサイズ (デフォルトは1) 1
state string プロセスの現在のステータス(以下のどれか: crashed, down, idle, starting, up) "up"
type string プロセスのタイプ "run"
updated_at datetime プロセスが最後に状態を変えた日時 2012-01-01T12:00:00Z
### Dynoの作成 ``` POST /apps/{app_id_or_name}/dynos ``` #### 必須パラメータ
名前 タイプ 説明
command string このプロセスを開始するために使われるコマンド "bash"
#### オプションのパラメータ
名前 タイプ 説明
attach boolean 出力を流しているかどうか true
env hash Dynoの実行のための追加の環境変数 {"COLUMNS"=>80, "LINES"=>24}
size number Dynoのサイズ (デフォルトは1) 1
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/dynos \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"attach\":true,\"env\":{\"COLUMNS\":80,\"LINES\":24},\"size\":1,\"command\":\"bash\"}" ``` #### レスポンス ``` HTTP/1.1 201 Created ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "attach_url": "rendezvous://rendezvous.runtime.heroku.com:5000/{rendezvous-id}", "command": "bash", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "run.1", "release": { "id": "01234567-89ab-cdef-0123-456789abcdef", "version": 456 }, "size": 1, "state": "up", "type": "run", "updated_at": "2012-01-01T12:00:00Z" } ``` ### Dynoの一覧 ``` GET /apps/{app_id_or_name}/dynos ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/dynos \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "attach_url": "rendezvous://rendezvous.runtime.heroku.com:5000/{rendezvous-id}", "command": "bash", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "run.1", "release": { "id": "01234567-89ab-cdef-0123-456789abcdef", "version": 456 }, "size": 1, "state": "up", "type": "run", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### Dynoの情報 ``` GET /apps/{app_id_or_name}/dynos/{dyno_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/dynos/$DYNO_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "attach_url": "rendezvous://rendezvous.runtime.heroku.com:5000/{rendezvous-id}", "command": "bash", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "run.1", "release": { "id": "01234567-89ab-cdef-0123-456789abcdef", "version": 456 }, "size": 1, "state": "up", "type": "run", "updated_at": "2012-01-01T12:00:00Z" } ``` ### Dynoの削除 ``` DELETE /apps/{app_id_or_name}/dynos/{dyno_id_or_name} ``` #### Curlの例 ```term $ curl -n -X Delete https://api.heroku.com/apps/$APP_ID_OR_NAME/dynos/$DYNO_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "attach_url": "rendezvous://rendezvous.runtime.heroku.com:5000/{rendezvous-id}", "command": "bash", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "run.1", "release": { "id": "01234567-89ab-cdef-0123-456789abcdef", "version": 456 }, "size": 1, "state": "up", "type": "run", "updated_at": "2012-01-01T12:00:00Z" } ``` ## 構成 あなたのアプリケーションのために維持されるべきプロセスの構成です。コマンドとタイプは、アプリケーションと共にアップロードされたProcfileによって定義されます。 ### 属性
名前 タイプ 説明
command string プロセスタイプの為に使うコマンド "bundle exec rails server -p $PORT"
created_at datetime プロセスタイプが作成された日時 2012-01-01T12:00:00Z
id uuid このプロセスタイプのユニークなID 01234567-89ab-cdef-0123-456789abcdef
quantity number 維持しているプロセスの数 1
size number Dynoの数 (デフォルトは1) 1
type string 維持しているプロセスのタイプ "web"
updated_at datetime Dynoのタイプが更新された日時 2012-01-01T12:00:00Z
### 構成の一覧 ``` GET /apps/{app_id_or_name}/formation ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/formation \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "command": "bundle exec rails server -p $PORT", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "quantity": 1, "size": 1, "type": "web", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### 構成の情報 ``` GET /apps/{app_id_or_name}/formation/{formation_id_or_type} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/formation/$FORMATION_ID_OR_TYPE \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "command": "bundle exec rails server -p $PORT", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "quantity": 1, "size": 1, "type": "web", "updated_at": "2012-01-01T12:00:00Z" } ``` ### 構成の更新 ``` PATCH /apps/{app_id_or_name}/formation/{formation_id_or_type} ``` #### オプションのパラメータ
名前 タイプ 説明
quantity number number of processes to maintain 1
size number dyno size (default: 1) 1
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/formation/$FORMATION_ID_OR_TYPE \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"quantity\":1,\"size\":1}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "command": "bundle exec rails server -p $PORT", "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "quantity": 1, "size": 1, "type": "web", "updated_at": "2012-01-01T12:00:00Z" } ``` ## キー キーはアカウントに関連づいており、Gitのオペレーションが出来るようにユーザに権限付与するために使われる公開SSHキーを表しています。 ### 属性
名前 タイプ 説明
created_at datetime キーが作成された日時 2012-01-01T12:00:00Z
email string キーの内容で提供されているメールアドレス "username@example.com"
fingerprint string 内容を元にしているユニークな文字列 "17:63:a4:ba:24:d3:7f:af:17:c8:94:82:7e:80:56:bf"
id uuid このキーのユニークなID 01234567-89ab-cdef-0123-456789abcdef
public_key string アップロードされた、完全なpublic_key "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com"
updated_at datetime キーが更新された日時 2012-01-01T12:00:00Z
### キーの作成 ``` POST /account/keys ``` #### 必須パラメータ
名前 タイプ 説明
public_key string アップロードされた、完全なpublic_key "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/account/keys \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"public_key\":\"ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com\"}" ``` #### レスポンス ``` HTTP/1.1 201 Created ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "fingerprint": "17:63:a4:ba:24:d3:7f:af:17:c8:94:82:7e:80:56:bf", "id": "01234567-89ab-cdef-0123-456789abcdef", "public_key": "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com", "updated_at": "2012-01-01T12:00:00Z" } ``` ### キーの一覧 ``` GET /account/keys ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/keys \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "fingerprint": "17:63:a4:ba:24:d3:7f:af:17:c8:94:82:7e:80:56:bf", "id": "01234567-89ab-cdef-0123-456789abcdef", "public_key": "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### キーの情報 ``` GET /account/keys/{key_id_or_fingerprint} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/keys/$KEY_ID_OR_FINGERPRINT \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "fingerprint": "17:63:a4:ba:24:d3:7f:af:17:c8:94:82:7e:80:56:bf", "id": "01234567-89ab-cdef-0123-456789abcdef", "public_key": "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com", "updated_at": "2012-01-01T12:00:00Z" } ``` ### キーの削除 ``` DELETE /account/keys/{key_id_or_fingerprint} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/account/keys/$KEY_ID_OR_FINGERPRINT \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "email": "username@example.com", "fingerprint": "17:63:a4:ba:24:d3:7f:af:17:c8:94:82:7e:80:56:bf", "id": "01234567-89ab-cdef-0123-456789abcdef", "public_key": "ssh-rsa AAAAB3NzaC1ycVc/../839Uv username@example.com", "updated_at": "2012-01-01T12:00:00Z" } ``` ## ログドレイン [ログドレイン](https://devcenter.heroku.com/articles/logging#syslog-drains)はHerokuのログを外部的なシステムログサーバへ長期的にアーカイブできるような方法を提供しています。 この外部サービスはHerokuからシステムログのパケットを受け取るように設定されている必要があります。さらに、そのURLはこのAPIヲ使ってアプリケーションに追加することが可能です。 ### 属性
名前 タイプ 説明
addon:id uuid ドレインを提供するアドオンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
created_at datetime ログドレインが作成された日時 2012-01-01T12:00:00Z
id uuid このログドレインのユニークなID 01234567-89ab-cdef-0123-456789abcdef
updated_at datetime ログセッションが更新された日時 2012-01-01T12:00:00Z
url string ログドレインと関連づいているURL "https://example.com/drain"
### ログドレインの作成 ``` POST /apps/{app_id_or_name}/log-drains ``` #### 必須パラメータ
名前 タイプ 説明
url string ログドレインと関連づいているURL "https://example.com/drain"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/log-drains \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"url\":\"https://example.com/drain\"}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "addon": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "url": "https://example.com/drain" } ``` ### ログドレインの一覧 ``` GET /apps/{app_id_or_name}/log-drains ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/log-drains \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "addon": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "url": "https://example.com/drain" } ] ``` ### ログドレインの情報 ``` GET /apps/{app_id_or_name}/log-drains/{drain_id_or_url} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/log-drains/$DRAIN_ID_OR_URL \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "addon": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "url": "https://example.com/drain" } ``` ### ログドレインの削除 ``` DELETE /apps/{app_id_or_name}/log-drains/{drain_id_or_url} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/apps/$APP_ID_OR_NAME/log-drains/$DRAIN_ID_OR_URL \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "addon": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "url": "https://example.com/drain" } ``` ## ログセッション ログセッションはあなたのアプリケーションのログからデータを流すURLを提供します。出力は、提供されているLogplexのURLへHTTP GETメソッドを実行し、そのあと繰り返しそのソケットから読み取る事で実行されます。セッションは作成されてから5分間か接続が成功してから1時間までは利用可能です。アプリケーションのログへの継続的なアクセスのために、[ログドレイン](https://devcenter.heroku.com/articles/logging#syslog-drains)の設定をしたほうが良いでしょう。 Log sessions provide a URL to stream data from your app logs. Streaming is performed by doing an HTTP GET method on the provided Logplex URL and then repeatedly reading from the socket. Sessions remain available for about 5 minutes after creation or about one hour after connecting. For continuous access to an app's log, you should set up a [log drain](https://devcenter.heroku.com/articles/logging#syslog-drains). ### 属性
名前 タイプ 説明
created_at datetime ログの接続が作成された日時 2012-01-01T12:00:00Z
dyno string 結果を制限するためのDynoの指定 "web.1"
id uuid このログセッションのユニークなID 01234567-89ab-cdef-0123-456789abcdef
lines number 一度に流すログの行数 10
logplex_url string ログを流すためのセッションのURL "https://logplex.heroku.com/sessions/01234567-89ab-cdef-0123-456789abcdef?srv=1325419200"
source string 結果を制限するためのログのソースの指定 "app"
tail boolean 実行中のログを流すかどうか true
updated_at datetime ログのセッションが更新された日時 2012-01-01T12:00:00Z
### ログセッションの作成 ``` POST /apps/{app_id_or_name}/log-sessions ``` #### オプションのパラメータ
名前 タイプ 説明
dyno string dyno to limit results to "web.1"
lines number number of log lines to stream at once 10
source string log source to limit results to "app"
tail boolean whether to stream ongoing logs true
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/log-sessions \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"dyno\":\"web.1\",\"lines\":10,\"source\":\"app\",\"tail\":true}" ``` #### レスポンス ``` HTTP/1.1 201 Created ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "logplex_url": "https://logplex.heroku.com/sessions/01234567-89ab-cdef-0123-456789abcdef?srv=1325419200", "updated_at": "2012-01-01T12:00:00Z" } ``` ## OAuth認証 OAuth認証はHerokuのユーザが自動化やカスタマイズ、プラットフォームの使用を拡張するために権限付与されたクライアントを表します。さらなる情報のためには、[Heroku OAuth ドキュメント](https://devcenter.heroku.com/articles/oauth)を確認してください。 ### 属性
名前 タイプ 説明
access_token:expires_in number OAuthのアクセストークンが失効するまでの秒数 7200
access_token:id uuid このOAuthのアクセストークンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
access_token:token string 実際のOAuthのアクセストークン "01234567-89ab-cdef-0123-456789abcdef"
client:id uuid OAuthで権限付与するクライアントのユニークなID 01234567-89ab-cdef-0123-456789abcdef
client:name string OAuthで権限付与するクライアントの名前 "example"
client:redirect_uri string OAuth権限付与クライアントで権限を付与した後にリダイレクトするエンドポイント "https://example.com/auth/heroku/callback"
created_at datetime OAuth認証が作成された日時 2012-01-01T12:00:00Z
description string このOAuth認証のヒューマンフレンドリーな説明 "sample authorization"
grant:code string OAuth認、権限付加用のコード "01234567-89ab-cdef-0123-456789abcdef"
grant:expires_in datetime この認証が無効化される日付 2012-01-01T12:00:00Z
grant:id uuid この認証付加のユニークなID 01234567-89ab-cdef-0123-456789abcdef
id uuid OAuth認証のユニークなID 01234567-89ab-cdef-0123-456789abcdef
refresh_token:expires_in number OAuthのリフレッシュトークンが失効するまでの秒数; リフレッシュトークンが`null`ならずっと失効しなくなるでしょう 7200
refresh_token:id uuid この認証のリフレッシュトークンに対するユニークなID 01234567-89ab-cdef-0123-456789abcdef
refresh_token:token string 実際のOAuthのリフレッシュトークン "01234567-89ab-cdef-0123-456789abcdef"
scope array[string] OAuth認証が許可するアクセスのスコープ ["global"]
updated_at datetime OAuth認証が更新される日時 2012-01-01T12:00:00Z
### OAuth認証の作成 ``` POST /oauth/authorizations ``` #### 必須パラメータ
名前 タイプ 説明
scope array[string] OAuth認証が許可するアクセスのスコープ ["global"]
#### オプションのパラメータ
名前 タイプ 説明
client:id uuid OAuthで権限付与するクライアントのユニークなID 01234567-89ab-cdef-0123-456789abcdef
description string このOAuth認証のヒューマンフレンドリーな説明 "sample authorization"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/oauth/authorizations \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"client\":{\"id\":\"01234567-89ab-cdef-0123-456789abcdef\"},\"description\":\"sample authorization\",\"scope\":[\"global\"]}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "access_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "client": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback" }, "created_at": "2012-01-01T12:00:00Z", "description": "sample authorization", "grant": { "code": "01234567-89ab-cdef-0123-456789abcdef", "expires_in": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "refresh_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "scope": ["global"], "updated_at": "2012-01-01T12:00:00Z" } ``` ### OAuth認証の一覧 ``` GET /oauth/authorizations ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/oauth/authorizations \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "access_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "client": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback" }, "created_at": "2012-01-01T12:00:00Z", "description": "sample authorization", "grant": { "code": "01234567-89ab-cdef-0123-456789abcdef", "expires_in": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "refresh_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "scope": ["global"], "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### OAuth認証の情報 ``` GET /oauth/authorizations/{authorization_id} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/oauth/authorizations/$AUTHORIZATION_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "access_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "client": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback" }, "created_at": "2012-01-01T12:00:00Z", "description": "sample authorization", "grant": { "code": "01234567-89ab-cdef-0123-456789abcdef", "expires_in": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "refresh_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "scope": ["global"], "updated_at": "2012-01-01T12:00:00Z" } ``` ### OAuth認証の削除 ``` DELETE /oauth/authorizations/{authorization_id} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/oauth/authorizations/$AUTHORIZATION_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "access_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "client": { "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback" }, "created_at": "2012-01-01T12:00:00Z", "description": "sample authorization", "grant": { "code": "01234567-89ab-cdef-0123-456789abcdef", "expires_in": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "id": "01234567-89ab-cdef-0123-456789abcdef", "refresh_token": { "expires_in": "7200", "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "scope": ["global"], "updated_at": "2012-01-01T12:00:00Z" } ``` ## OAuthクライアント OAuthクライアントはHerokuのユーザが自動化やカスタマイズ、プラットフォームの使用を拡張するために権限付与するためのアプリケーションです。さらなる情報のためには、[Heroku OAuth ドキュメント](https://devcenter.heroku.com/articles/oauth)を確認してください。 ### 属性
名前 タイプ 説明
created_at datetime OAuthクライアントの作成された日時 2012-01-01T12:00:00Z
id uuid OAuthクライアントのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string OAuthクライアントの名前 "example"
redirect_uri string OAuthクライアントを使って認証した後にリダイレクトするエンドポイント "https://example.com/auth/heroku/callback"
secret string このクライアント下でOAuthの権限を保持するために使われるシークレット "01234567-89ab-cdef-0123-456789abcdef"
updated_at datetime OAuthクライアントが更新された時の日時 2012-01-01T12:00:00Z
### OAuthクライアントの作成 ``` POST /oauth/clients ``` #### 必須パラメータ
名前 タイプ 説明
name string OAuth client name "example"
redirect_uri string endpoint for redirection after authorization with OAuth client "https://example.com/auth/heroku/callback"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/oauth/clients \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"name\":\"example\",\"redirect_uri\":\"https://example.com/auth/heroku/callback\"}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback", "secret": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ### OAuthクライアントの一覧 ``` GET /oauth/clients ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/oauth/clients \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback", "secret": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### OAuthクライアントの情報 ``` GET /oauth/clients/{client_id} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/oauth/clients/$CLIENT_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback", "secret": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ### OAuthクライアントの更新 ``` PATCH /oauth/clients/{client_id} ``` #### オプションのパラメータ
名前 タイプ 説明
name string OAuth client name "example"
redirect_uri string endpoint for redirection after authorization with OAuth client "https://example.com/auth/heroku/callback"
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/oauth/clients/$CLIENT_ID \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"name\":\"example\",\"redirect_uri\":\"https://example.com/auth/heroku/callback\"}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback", "secret": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ``` ### OAuthクライアントの削除 ``` DELETE /oauth/clients/{client_id} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/oauth/clients/$CLIENT_ID \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "example", "redirect_uri": "https://example.com/auth/heroku/callback", "secret": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z" } ```

OAuthトークン

OAuthトークンは権限付与されたクライアントにアクセスを提供し、自動化やカスタマイズ、プラットフォームの使用を拡張するための権限付与をHerokuのユーザの代わりに行います。さらなる情報のためには、Heroku OAuth ドキュメントを確認してください。

属性

名前 タイプ 説明
authorization:id uuid OAuthトークンの認証のユニークID 01234567-89ab-cdef-0123-456789abcdef
access_token:expires_in number OAuthのアクセストークンが失効するまでの秒数 2592000
access_token:id uuid OAuthのアクセストークンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
access_token:token string OAuthのアクセストークンの内容 "01234567-89ab-cdef-0123-456789abcdef"
client:secret string トークンを保持するために使われるOAuthクライアントのシークレット "01234567-89ab-cdef-0123-456789abcdef"
created_at datetime OAuthトークンが作成された日時 2012-01-01T12:00:00Z
grant:code string OAuthのWebアプリケーションの認証から取得した認可コード "01234567-89ab-cdef-0123-456789abcdef"
grant:type string 認可リクエストのタイプ。`authorization_code`または`refresh_token` "authorization_code"
id uuid OAuthトークンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
refresh_token:expires_in number OAuthのリフレッシュトークンが失効するまでの秒数; リフレッシュトークンが`null`ならずっと失効しなくなるでしょう 2592000
refresh_token:id uuid OAuthのリフレッシュトークンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
refresh_token:token string リフレッシュトークンの内容 "01234567-89ab-cdef-0123-456789abcdef"
session:id string OAuthトークンセッションのユニークなID "01234567-89ab-cdef-0123-456789abcdef"
updated_at datetime OAuthトークンが更新された日時 2012-01-01T12:00:00Z
user:id uuid ユーザのユニークなID 01234567-89ab-cdef-0123-456789abcdef
### OAuthトークンの作成 ``` POST /oauth/tokens ``` #### 必須パラメータ
名前 タイプ 説明
grant:type string type of grant requested, one of `authorization_code` or `refresh_token` "authorization_code"
#### オプションのパラメータ
名前 タイプ 説明
client:secret string OAuth client secret used to obtain token "01234567-89ab-cdef-0123-456789abcdef"
grant:code string grant code recieved from OAuth web application authorization "01234567-89ab-cdef-0123-456789abcdef"
refresh_token:token string content of OAuth refresh token "01234567-89ab-cdef-0123-456789abcdef"
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/oauth/tokens \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"client\":{\"secret\":\"01234567-89ab-cdef-0123-456789abcdef\"},\"grant\":{\"code\":\"01234567-89ab-cdef-0123-456789abcdef\",\"type\":\"authorization_code\"},\"refresh_token\":{\"token\":\"01234567-89ab-cdef-0123-456789abcdef\"}}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "authorization": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "access_token": { "expires_in": 2592000, "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "created_at": "2012-01-01T12:00:00Z", "id": "01234567-89ab-cdef-0123-456789abcdef", "refresh_token": { "expires_in": 2592000, "id": "01234567-89ab-cdef-0123-456789abcdef", "token": "01234567-89ab-cdef-0123-456789abcdef" }, "session": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, "updated_at": "2012-01-01T12:00:00Z", "user": { "id": "01234567-89ab-cdef-0123-456789abcdef" } } ``` ## プラン プランはアプリケーションに追加されるであろうアドオンの、異なる設定を表しています。 ### 属性
名前 タイプ 説明
created_at datetime プランが作成された日時 2012-01-01T12:00:00Z
description string プランの説明 "Heroku Postgres Dev"
id uuid プランのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string プランのユニークな名前 "heroku-postgresql:dev"
price:cents number プランの単位当たりの価格(セント) 0
price:unit string プランの価格の単位 "month"
state string プランのリリース状態 "public"
updated_at datetime プランが更新された日時 2012-01-01T12:00:00Z
### プランの一覧 ``` GET /addon-services/{addon_service_id_or_name}/plans ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/addon-services/$ADDON_SERVICE_ID_OR_NAME/plans \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "description": "Heroku Postgres Dev", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev", "price": { "cents": 0, "unit": "month" }, "state": "public", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### プランの情報 ``` GET /addon-services/{addon_service_id_or_name}/plans/{plan_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/addon-services/$ADDON_SERVICE_ID_OR_NAME/plans/$PLAN_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "description": "Heroku Postgres Dev", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "heroku-postgresql:dev", "price": { "cents": 0, "unit": "month" }, "state": "public", "updated_at": "2012-01-01T12:00:00Z" } ``` ## レートリミット レートリミットはアカウントごとに保有しているリクエストトークンの数を表しています。このエンドポイントに対するリクエストはレートリミットとしてカウントされません。 ### 属性
名前 タイプ 説明
remaining number 現在のインターバルにおける許可されたリクエストの残り回数 2399
### レートリミットの一覧 ``` GET /account/rate-limits ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/account/rate-limits \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "remaining": 2399 } ] ``` ## リージョン リージョンはアプリケーションが実行されている地理的な場所を表します。 ### 属性
名前 タイプ 説明
created_at datetime リージョンが作成された日時 2012-01-01T12:00:00Z
description string リージョンの説明 "United States"
id uuid このリージョンのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string このリージョンのユニークな名前 "us"
updated_at datetime リージョンが更新された日時 2012-01-01T12:00:00Z
### リージョンの一覧 ``` GET /regions ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/regions \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "description": "United States", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us", "updated_at": "2012-01-01T12:00:00Z" } ] ``` ### リージョンの情報 ``` GET /regions/{region_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/regions/$REGION_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "description": "United States", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "us", "updated_at": "2012-01-01T12:00:00Z" } ``` ## リリース リリースはHerokuのアプリケーション向けのコード、設定変数、そしてアドオンを表しています。 ### 属性
名前 タイプ 説明
created_at datetime リリースが作成された日時 2012-01-01T12:00:00Z
description string このリリースの変更の説明 "Added new feature"
id uuid このリリースのユニークなID 01234567-89ab-cdef-0123-456789abcdef
updated_at datetime リージョンが更新された日時 2012-01-01T12:00:00Z
user:email string リリースを作成したユーザのメールアドレス "username@example.com"
user:id uuid リリースを作成したユーザのユニークなID 01234567-89ab-cdef-0123-456789abcdef
version number リリースに割り当てられたユニークなバージョン 456
### リリースの一覧 ``` GET /apps/{app_id_or_name}/releases ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/releases \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "created_at": "2012-01-01T12:00:00Z", "description": "Added new feature", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "version": 456 } ] ``` ### リリースの情報 ``` GET /apps/{app_id_or_name}/releases/{release_id_or_version} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/releases/$RELEASE_ID_OR_VERSION \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "created_at": "2012-01-01T12:00:00Z", "description": "Added new feature", "id": "01234567-89ab-cdef-0123-456789abcdef", "updated_at": "2012-01-01T12:00:00Z", "user": { "email": "username@example.com", "id": "01234567-89ab-cdef-0123-456789abcdef" }, "version": 456 } ``` ## SSLエンドポイント [SSL エンドポイント](https://devcenter.heroku.com/articles/ssl-endpoint) はHerokuのアプリケーションへのHTTPSトラフィック向けに独自のSSL証明書を発行する公開された場所です。これらのAPIを使ってSSLエンドポイントを利用する前にアプリケーションは`ssl:endpoint`アドオンをインストールする必要があることに注意してください。 ### 属性
名前 タイプ 説明
certificate_chain string 公開認証鍵チェーンの生の内容(例: .crt または .pem ファイル) "-----BEGIN CERTIFICATE----- ..."
cname string CNAMEレコード, ドメインを刺すアドレス "example.herokussl.com"
created_at datetime エンドポイントが作成された日時 2012-01-01T12:00:00-00:00
id uuid SSLエンドポイントのユニークなID 01234567-89ab-cdef-0123-456789abcdef
name string SSLエンドポイントのユニークな名前 "tokyo-1234"
private_key string 秘密鍵の内容(例: .key ファイル) "-----BEGIN RSA PRIVATE KEY----- ..."
rollback boolean ロールバックが実行されるべきかを示します true
updated_at datetime エンドポイントが更新された日時 2012-01-01T12:00:00-00:00
### SSLエンドポイントの作成 ``` POST /apps/{app_id_or_name}/ssl-endpoints ``` #### 必須パラメータ
名前 タイプ 説明
certificate_chain string 公開認証鍵チェーンの生の内容(例: .crt または .pem ファイル) "-----BEGIN CERTIFICATE----- ..."
private_key string 秘密鍵の内容(例: .key ファイル) "-----BEGIN RSA PRIVATE KEY----- ..."
#### Curlの例 ```term $ curl -n -X POST https://api.heroku.com/apps/$APP_ID_OR_NAME/ssl-endpoints \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"certificate_chain\":\"-----BEGIN CERTIFICATE----- ...\",\"private_key\":\"-----BEGIN RSA PRIVATE KEY----- ...\"}" ``` #### レスポンス ``` HTTP/1.1 201の作成d ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "certificate_chain": "-----BEGIN CERTIFICATE----- ...", "cname": "example.herokussl.com", "created_at": "2012-01-01T12:00:00-00:00", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "tokyo-1234", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ### SSLエンドポイントの一覧 ``` GET /apps/{app_id_or_name}/ssl-endpoints ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/ssl-endpoints \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK Content-Range: ids 01234567-89ab-cdef-0123-456789abcdef..01234567-89ab-cdef-0123-456789abcdef; max=200 ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript [ { "certificate_chain": "-----BEGIN CERTIFICATE----- ...", "cname": "example.herokussl.com", "created_at": "2012-01-01T12:00:00-00:00", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "tokyo-1234", "updated_at": "2012-01-01T12:00:00-00:00" } ] ``` ### SSLエンドポイントの情報 ``` GET /apps/{app_id_or_name}/ssl-endpoints/{ssl_endpoint_id_or_name} ``` #### Curlの例 ```term $ curl -n -X GET https://api.heroku.com/apps/$APP_ID_OR_NAME/ssl-endpoints/$SSL_ENDPOINT_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "certificate_chain": "-----BEGIN CERTIFICATE----- ...", "cname": "example.herokussl.com", "created_at": "2012-01-01T12:00:00-00:00", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "tokyo-1234", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ### SSLエンドポイントの更新 Updates an SSL Endpoint with a new certificate and private key or [rolls back an SSL Endpoint](https://devcenter.heroku.com/articles/ssl-endpoint#undo) when the `rollback` parameter is given a value of `true`.
PATCH /apps/{app_id_or_name}/ssl-endpoints/{ssl_endpoint_id_or_name}

オプションのパラメータ

名前 タイプ 説明
certificate_chain string 公開認証鍵チェーンの生の内容(例: .crt または .pem ファイル) "-----BEGIN CERTIFICATE----- ..."
private_key string 秘密鍵の内容(例: .key ファイル) "-----BEGIN RSA PRIVATE KEY----- ..."
rollback boolean ロールバックが実行されるべきかを示します true
#### Curlの例 ```term $ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/ssl-endpoints/$SSL_ENDPOINT_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" \ -H "Content-Type: application/json" \ -d "{\"certificate_chain\":\"-----BEGIN CERTIFICATE----- ...\",\"private_key\":\"-----BEGIN RSA PRIVATE KEY----- ...\",\"rollback\":true}" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "certificate_chain": "-----BEGIN CERTIFICATE----- ...", "cname": "example.herokussl.com", "created_at": "2012-01-01T12:00:00-00:00", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "tokyo-1234", "updated_at": "2012-01-01T12:00:00-00:00" } ``` ### SSLエンドポイントの削除 ``` DELETE /apps/{app_id_or_name}/ssl-endpoints/{ssl_endpoint_id_or_name} ``` #### Curlの例 ```term $ curl -n -Xの削除 https://api.heroku.com/apps/$APP_ID_OR_NAME/ssl-endpoints/$SSL_ENDPOINT_ID_OR_NAME \ -H "Accept: application/vnd.heroku+json; version=3" ``` #### レスポンス ``` HTTP/1.1 200 OK ETag: "0123456789abcdef0123456789abcdef" Last-Modified: Sun, 01 Jan 2012 12:00:00 GMT RateLimit-Remaining: 1200 ``` ```javascript { "certificate_chain": "-----BEGIN CERTIFICATE----- ...", "cname": "example.herokussl.com", "created_at": "2012-01-01T12:00:00-00:00", "id": "01234567-89ab-cdef-0123-456789abcdef", "name": "tokyo-1234", "updated_at": "2012-01-01T12:00:00-00:00" } ```
Clone this wiki locally