ãã©ãããã©ãŒã 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
ãããã®å
容ãèšå®ããªãããªã¯ãšã¹ããå床éããŸãã
Range
APIã®äžè¬çãªãã©ãŒããã㯠<attribute> [<start>]..[<end>][; param1=value1, ...]
ã®æ§ãªåœ¢ãããŠããã§ããããæŽã«ã<start>
ã®å€ã¯ãå¹
ã®éå§ãå®çŸ©ãããŠããªãããšã瀺ãããã«ãéã倧æ¬åŒ§(]
)ãæ¥é èŸãšããŠäœ¿ãäºããããåæ§ã«å¹
ã®çµäºãå®çŸ©ãããŠããªãäºã瀺ãããã«ãéå§å€§æ¬åŒ§([
)ã<end>
ã®å€ã®æ¥å°ŸèŸãšããŠäœ¿ãäºããããŸãã
ã¬ã³ãžå
ã§è¿ãããå€ã®æ°ã¯ãRange
ãããã®ãã©ã¡ãŒã¿ãªã¹ãå
ã®max
ããŒã䜿ãäºã§ã³ã³ãããŒã«ãå¯èœã§ããäŸãã°ãå§ãã®ïŒïŒåã ãã®å€ãååŸããå Žåããã®ãããã«Range: id ..; max=10;
ãšèšå®ããŸããmax
ã¯Next-Range
ã䜿ã£ãŠã€ãã¬ãŒã·ã§ã³ããŠããå Žåã§ãæž¡ãäºãåºæ¥ãŸããããã©ã«ãã®ããŒãžãµã€ãºã¯200ã§æå€§ãµã€ãºã¯1000ã§ãã
çµæã®äžŠã³é ãRange
ãããã§ã³ã³ãããŒã«ãã§ããŸããã©ããªãªã¹ãã®ãšã³ããã€ã³ããã©ã®å±æ§ã§çµæã®äžŠã³æ¿ããåºæ¥ããã瀺ãAccept-Ranges
ããããè¿çããŸãããããã®ã¬ã³ãžã®äžã€ãããRange
ã䜿ã£ããªã¯ãšã¹ããäœæããŠäœ¿ãäºãã§ããŸããäŸãã°GET /apps
ã¯Accept-Ranges: id, name
ãšã¬ã¹ãã³ã¹ãè¿ããŸããname
ã§ãœãŒããæãããªã¯ãšã¹ããããå Žåããšã³ããã€ã³ãã«å¯Ÿãããªã¯ãšã¹ãã«Range: name ..
ããããä»äžããŸããäžŠã³æ¿ãã®ããã©ã«ãã¯æé ã§ãããorder
ãã©ã¡ãŒã¿ã§å€æŽå¯èœã§ããäŸãã°ã Range: name ..; order=desc
ããããŸãã
ãã®APIã¯ãäžæ£äœ¿çšããã°ããå®ãããã«ãããããã®ãŠãŒã¶ãäžæéåœããã«æãããããªã¯ãšã¹ãã®æ°ãå¶éããŠããŸããããããã®ã¢ã«ãŠã³ãã¯1200ããŒã¯ã³ãä¿æã§ãããªã¯ãšã¹ãããŒã¯ã³ã®ããŒã«ãæã£ãŠããŸããããããã®APIã³ãŒã«ã§ããŒã«ããïŒããŒã¯ã³ãåãé€ãããŸããããŒã¯ã³ã¯ã¢ã«ãŠã³ãã«ã²ãã¥ãããŒã«ã«ïŒæéã«1200ã®å²åã§è¿œå ãããŠè¡ããæå€§ã¯1200ã§ããããŒã¯ã³ãå
šããªããªã£ãŠããŸã£ãå Žåããã以éã®åŒã³åºãã¯ãããŒã¯ã³ã䜿ããããã«ãªããŸã§429Too Many Requests
ãè¿ããŸãã
çŸåšã®ããŒã¯ã³ã®æ°ã確èªããããã«ãRateLimit-Remaining
ã¬ã¹ãã³ã¹ãããã䜿ãäºãã§ããŸãããŸããããŒã¯ã³æ°ååŸã®ãããrate limitãšã³ããã€ã³ãã«å¯ŸããŠåãåããããäºãåºæ¥ãŸããrate limit ãšã³ããã€ã³ãã«å¯Ÿãããªã¯ãšã¹ãã¯å¶éã®å¯Ÿè±¡ãšããŠã«ãŠã³ããããŸãããããããªãã®ã¢ã«ãŠã³ããå¶éæ°ã«éããããåå ãããåãããªãå ŽåãHerokuããã·ã¥ããŒãäžã®ã¢ã«ãŠã³ãããŒãžã§APIããŒã埪ç°ããŠããªããæ€èšããŠã¿ãŠãã ããã
ããããã®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 |
ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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": "
[email protected]",
"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 |
ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
#### 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\":\"
[email protected]\"}"
```
#### ã¬ã¹ãã³ã¹
```
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": "
[email protected]",
"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 |
"[email protected]/example.git" |
id |
uuid |
ã¢ããªã±ãŒã·ã§ã³ã®ãŠããŒã¯ãªID |
01234567-89ab-cdef-0123-456789abcdef |
maintenance |
boolean |
ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã³ããã³ã¹ã¹ããŒã¿ã¹ |
false |
name |
string |
ã¢ããªã±ãŒã·ã§ã³ã®ãŠããŒã¯ãªåå |
"example" |
owner:email |
string |
ã¢ããªã±ãŒã·ã§ã³ã®ææè
ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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": "
[email protected]/example.git",
"id": "01234567-89ab-cdef-0123-456789abcdef",
"maintenance": false,
"name": "example",
"owner": {
"email": "
[email protected]",
"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": "
[email protected]/example.git",
"id": "01234567-89ab-cdef-0123-456789abcdef",
"maintenance": false,
"name": "example",
"owner": {
"email": "
[email protected]",
"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": "
[email protected]/example.git",
"id": "01234567-89ab-cdef-0123-456789abcdef",
"maintenance": false,
"name": "example",
"owner": {
"email": "
[email protected]",
"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": "
[email protected]/example.git",
"id": "01234567-89ab-cdef-0123-456789abcdef",
"maintenance": false,
"name": "example",
"owner": {
"email": "
[email protected]",
"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": "
[email protected]/example.git",
"id": "01234567-89ab-cdef-0123-456789abcdef",
"maintenance": false,
"name": "example",
"owner": {
"email": "
[email protected]",
"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 |
éä¿¡ãããŠãŒã¶ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
recipient:id |
string |
åä¿¡ãããŠãŒã¶ã®ãŠããŒã¯ãªID |
"01234567-89ab-cdef-0123-456789abcdef" |
recipient:email |
string |
åä¿¡ãããŠãŒã¶ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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 |
åä¿¡ãããŠãŒã¶ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
#### 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\":\"
[email protected]\",\"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": "
[email protected]"
},
"recipient": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"email": "
[email protected]"
},
"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": "
[email protected]"
},
"recipient": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"email": "
[email protected]"
},
"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": "
[email protected]"
},
"recipient": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"email": "
[email protected]"
},
"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": "
[email protected]"
},
"recipient": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"email": "
[email protected]"
},
"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": "
[email protected]"
},
"recipient": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"email": "
[email protected]"
},
"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 |
ã³ã©ãã¬ãŒã¿ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
user:id |
uuid |
ãŠãŒã¶ã®ãŠããŒã¯ãªID |
01234567-89ab-cdef-0123-456789abcdef |
### ã³ã©ãã¬ãŒã¿ã®äœæ
```
POST /apps/{app_id_or_name}/collaborators
```
#### ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿
åå |
ã¿ã€ã |
説æ |
äŸ |
silent |
boolean |
trueã®å Žåãã³ã©ãã¬ãŒã·ã§ã³çšã®æåŸ
ãã¡ãŒã«ã§éãã®ããããŸã |
false |
user:email |
string |
ã³ã©ãã¬ãŒã¿ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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\":\"
[email protected]\",\"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": "
[email protected]",
"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": "
[email protected]",
"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": "
[email protected]",
"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": "
[email protected]",
"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 |
ããŒã®å
å®¹ã§æäŸãããŠããã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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 [email protected]" |
updated_at |
datetime |
ããŒãæŽæ°ãããæ¥æ |
2012-01-01T12:00:00Z |
### ããŒã®äœæ
```
POST /account/keys
```
#### å¿
é ãã©ã¡ãŒã¿
åå |
ã¿ã€ã |
説æ |
äŸ |
public_key |
string |
ã¢ããããŒãããããå®å
šãªpublic_key |
"ssh-rsa AAAAB3NzaC1ycVc/../839Uv [email protected]" |
#### 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
[email protected]\"}"
```
#### ã¬ã¹ãã³ã¹
```
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": "
[email protected]",
"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
[email protected]",
"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": "
[email protected]",
"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
[email protected]",
"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": "
[email protected]",
"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
[email protected]",
"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": "
[email protected]",
"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
[email protected]",
"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ã¡ãœãããå®è¡ãããã®ããšç¹°ãè¿ããã®ãœã±ããããèªã¿åãäºã§å®è¡ãããŸããã»ãã·ã§ã³ã¯äœæãããŠããïŒåéãæ¥ç¶ãæåããŠããïŒæéãŸã§ã¯å©çšå¯èœã§ããã¢ããªã±ãŒã·ã§ã³ã®ãã°ãžã®ç¶ç¶çãªã¢ã¯ã»ã¹ã®ããã«ã[ãã°ãã¬ã€ã³](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ããŒã¯ã³ã¯æš©éä»äžãããã¯ã©ã€ã¢ã³ãã«ã¢ã¯ã»ã¹ãæäŸããèªååãã«ã¹ã¿ãã€ãºããã©ãããã©ãŒã ã®äœ¿çšãæ¡åŒµããããã®æš©éä»äžã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 |
ãªãªãŒã¹ãäœæãããŠãŒã¶ã®ã¡ãŒã«ã¢ãã¬ã¹ |
"[email protected]" |
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": "
[email protected]",
"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": "
[email protected]",
"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"
}
```