heroku-client
Version:
A wrapper for the Heroku v3 API
1,722 lines (1,721 loc) • 208 kB
JavaScript
// jshint ignore:start
module.exports = {
"$schema": "http://interagent.github.io/interagent-hyper-schema",
"definitions": {
"account-feature": {
"description": "An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - Account Feature",
"type": [
"object"
],
"definitions": {
"created_at": {
"description": "when account feature was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"description": {
"description": "description of account feature",
"example": "Causes account to example.",
"readOnly": true,
"type": [
"string"
]
},
"doc_url": {
"description": "documentation URL of account feature",
"example": "http://devcenter.heroku.com/articles/example",
"readOnly": true,
"type": [
"string"
]
},
"enabled": {
"description": "whether or not account feature has been enabled",
"example": true,
"readOnly": false,
"type": [
"boolean"
]
},
"id": {
"description": "unique identifier of account feature",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/account-feature/definitions/id"
},
{
"$ref": "#/definitions/account-feature/definitions/name"
}
]
},
"name": {
"description": "unique name of account feature",
"example": "name",
"readOnly": true,
"type": [
"string"
]
},
"state": {
"description": "state of account feature",
"example": "public",
"readOnly": true,
"type": [
"string"
]
},
"updated_at": {
"description": "when account feature was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
}
},
"links": [
{
"description": "Info for an existing account feature.",
"href": "/account/features/{(%23%2Fdefinitions%2Faccount-feature%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/account-feature"
},
"title": "Info"
},
{
"description": "List existing account features.",
"href": "/account/features",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/account-feature"
},
"type": [
"array"
]
},
"title": "List"
},
{
"description": "Update an existing account feature.",
"href": "/account/features/{(%23%2Fdefinitions%2Faccount-feature%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"enabled": {
"$ref": "#/definitions/account-feature/definitions/enabled"
}
},
"required": [
"enabled"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/account-feature"
},
"title": "Update"
}
],
"properties": {
"created_at": {
"$ref": "#/definitions/account-feature/definitions/created_at"
},
"description": {
"$ref": "#/definitions/account-feature/definitions/description"
},
"doc_url": {
"$ref": "#/definitions/account-feature/definitions/doc_url"
},
"enabled": {
"$ref": "#/definitions/account-feature/definitions/enabled"
},
"id": {
"$ref": "#/definitions/account-feature/definitions/id"
},
"name": {
"$ref": "#/definitions/account-feature/definitions/name"
},
"state": {
"$ref": "#/definitions/account-feature/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/account-feature/definitions/updated_at"
}
}
},
"account": {
"description": "An account represents an individual signed up to use the Heroku platform.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - Account",
"type": [
"object"
],
"definitions": {
"allow_tracking": {
"default": true,
"description": "whether to allow third party web activity tracking",
"example": true,
"readOnly": false,
"type": [
"boolean"
]
},
"beta": {
"default": false,
"description": "whether allowed to utilize beta Heroku features",
"example": false,
"readOnly": false,
"type": [
"boolean"
]
},
"created_at": {
"description": "when account was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"email": {
"description": "unique email address of account",
"example": "username@example.com",
"format": "email",
"readOnly": false,
"type": [
"string"
]
},
"id": {
"description": "unique identifier of an account",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/account/definitions/email"
},
{
"$ref": "#/definitions/account/definitions/id"
}
]
},
"last_login": {
"description": "when account last authorized with Heroku",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"name": {
"description": "full name of the account owner",
"example": "Tina Edmonds",
"readOnly": false,
"type": [
"string",
"null"
]
},
"new_password": {
"description": "the new password for the account when changing the password",
"example": "newpassword",
"readOnly": true,
"type": [
"string"
]
},
"password": {
"description": "current password on the account",
"example": "currentpassword",
"readOnly": true,
"type": [
"string"
]
},
"two_factor_authentication": {
"description": "whether two-factor auth is enabled on the account",
"example": false,
"readOnly": true,
"type": [
"boolean"
]
},
"updated_at": {
"description": "when account was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"verified": {
"default": false,
"description": "whether account has been verified with billing information",
"example": false,
"readOnly": true,
"type": [
"boolean"
]
}
},
"links": [
{
"description": "Info for account.",
"href": "/account",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/account"
},
"title": "Info"
},
{
"description": "Update account.",
"href": "/account",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"allow_tracking": {
"$ref": "#/definitions/account/definitions/allow_tracking"
},
"beta": {
"$ref": "#/definitions/account/definitions/beta"
},
"name": {
"$ref": "#/definitions/account/definitions/name"
},
"password": {
"$ref": "#/definitions/account/definitions/password"
}
},
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/account"
},
"title": "Update"
},
{
"description": "Change Email for account.",
"href": "/account",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"email": {
"$ref": "#/definitions/account/definitions/email"
},
"password": {
"$ref": "#/definitions/account/definitions/password"
}
},
"required": [
"password",
"email"
],
"type": [
"object"
]
},
"title": "Change Email"
},
{
"description": "Change Password for account.",
"href": "/account",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"new_password": {
"$ref": "#/definitions/account/definitions/new_password"
},
"password": {
"$ref": "#/definitions/account/definitions/password"
}
},
"required": [
"new_password",
"password"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/account"
},
"title": "Change Password"
},
{
"description": "Delete account. Note that this action cannot be undone.",
"href": "/account",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/account"
},
"title": "Delete"
}
],
"properties": {
"allow_tracking": {
"$ref": "#/definitions/account/definitions/allow_tracking"
},
"beta": {
"$ref": "#/definitions/account/definitions/beta"
},
"created_at": {
"$ref": "#/definitions/account/definitions/created_at"
},
"email": {
"$ref": "#/definitions/account/definitions/email"
},
"id": {
"$ref": "#/definitions/account/definitions/id"
},
"last_login": {
"$ref": "#/definitions/account/definitions/last_login"
},
"name": {
"$ref": "#/definitions/account/definitions/name"
},
"two_factor_authentication": {
"$ref": "#/definitions/account/definitions/two_factor_authentication"
},
"updated_at": {
"$ref": "#/definitions/account/definitions/updated_at"
},
"verified": {
"$ref": "#/definitions/account/definitions/verified"
},
"default_organization": {
"description": "organization selected by default",
"properties": {
"id": {
"$ref": "#/definitions/organization/definitions/identity"
},
"name": {
"$ref": "#/definitions/organization/definitions/name"
}
},
"strictProperties": true,
"type": [
"object",
"null"
]
}
}
},
"addon-service": {
"description": "Add-on services represent add-ons that may be provisioned for apps. Endpoints under add-on services can be accessed without authentication.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - Add-on Service",
"type": [
"object"
],
"definitions": {
"created_at": {
"description": "when addon-service was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"human_name": {
"description": "human-readable name of the addon service provider",
"example": "Heroku Postgres",
"readOnly": true,
"type": [
"string"
]
},
"id": {
"description": "unique identifier of this addon-service",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/addon-service/definitions/id"
},
{
"$ref": "#/definitions/addon-service/definitions/name"
}
]
},
"name": {
"description": "unique name of this addon-service",
"example": "heroku-postgresql",
"readOnly": true,
"type": [
"string"
]
},
"state": {
"description": "release status for add-on service",
"enum": [
"alpha",
"beta",
"ga",
"shutdown"
],
"example": "ga",
"readOnly": true,
"type": [
"string"
]
},
"updated_at": {
"description": "when addon-service was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
}
},
"links": [
{
"description": "Info for existing addon-service.",
"href": "/addon-services/{(%23%2Fdefinitions%2Faddon-service%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/addon-service"
},
"title": "Info"
},
{
"description": "List existing addon-services.",
"href": "/addon-services",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/addon-service"
},
"type": [
"array"
]
},
"title": "List"
}
],
"properties": {
"created_at": {
"$ref": "#/definitions/addon-service/definitions/created_at"
},
"human_name": {
"$ref": "#/definitions/addon-service/definitions/human_name"
},
"id": {
"$ref": "#/definitions/addon-service/definitions/id"
},
"name": {
"$ref": "#/definitions/addon-service/definitions/name"
},
"state": {
"$ref": "#/definitions/addon-service/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/addon-service/definitions/updated_at"
}
}
},
"addon": {
"description": "Add-ons represent add-ons that have been provisioned for an app.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - Add-on",
"type": [
"object"
],
"definitions": {
"config_vars": {
"description": "config vars associated with this application",
"example": [
"FOO",
"BAZ"
],
"items": {
"type": [
"string"
]
},
"readOnly": true,
"type": [
"array"
]
},
"created_at": {
"description": "when add-on was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"id": {
"description": "unique identifier of add-on",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/addon/definitions/id"
},
{
"$ref": "#/definitions/addon/definitions/name"
}
]
},
"name": {
"description": "name of the add-on unique within its app",
"example": "heroku-postgresql-teal",
"pattern": "^[a-zA-Z][A-Za-z0-9_-]+$",
"readOnly": true,
"type": [
"string"
]
},
"provider_id": {
"description": "id of this add-on with its provider",
"example": "app123@heroku.com",
"readOnly": true,
"type": [
"string"
]
},
"updated_at": {
"description": "when add-on was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"web_url": {
"description": "URL for logging into web interface of add-on (e.g. a dashboard)",
"example": "https://postgres.heroku.com/databases/01234567-89ab-cdef-0123-456789abcdef",
"format": "uri",
"readOnly": true,
"type": [
"null",
"string"
]
}
},
"links": [
{
"description": "Create a new add-on.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons",
"method": "POST",
"rel": "create",
"schema": {
"properties": {
"config": {
"additionalProperties": false,
"description": "custom add-on provisioning options",
"example": {
"db-version": "1.2.3"
},
"patternProperties": {
"^\\w+$": {
"type": [
"string"
]
}
},
"type": [
"object"
]
},
"plan": {
"$ref": "#/definitions/plan/definitions/identity"
}
},
"required": [
"plan"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/addon"
},
"title": "Create"
},
{
"description": "Delete an existing add-on.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/addon"
},
"title": "Delete"
},
{
"description": "Info for an existing add-on.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/addon"
},
"title": "Info"
},
{
"description": "Info for an existing add-on.",
"href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/addon"
},
"title": "Info"
},
{
"description": "List existing add-ons.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/addon"
},
"type": [
"array"
]
},
"title": "List"
},
{
"description": "Change add-on plan. Some add-ons may not support changing plans. In that case, an error will be returned.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"plan": {
"$ref": "#/definitions/plan/definitions/identity"
}
},
"required": [
"plan"
],
"type": [
"object"
]
},
"title": "Update"
}
],
"properties": {
"addon_service": {
"description": "identity of add-on service",
"properties": {
"id": {
"$ref": "#/definitions/addon-service/definitions/id"
},
"name": {
"$ref": "#/definitions/addon-service/definitions/name"
}
},
"strictProperties": true,
"type": [
"object"
]
},
"app": {
"description": "billing application associated with this add-on",
"type": [
"object"
],
"properties": {
"id": {
"$ref": "#/definitions/app/definitions/id"
},
"name": {
"$ref": "#/definitions/app/definitions/name"
}
},
"strictProperties": true
},
"config_vars": {
"$ref": "#/definitions/addon/definitions/config_vars"
},
"created_at": {
"$ref": "#/definitions/addon/definitions/created_at"
},
"id": {
"$ref": "#/definitions/addon/definitions/id"
},
"name": {
"$ref": "#/definitions/addon/definitions/name"
},
"plan": {
"description": "identity of add-on plan",
"properties": {
"id": {
"$ref": "#/definitions/plan/definitions/id"
},
"name": {
"$ref": "#/definitions/plan/definitions/name"
}
},
"strictProperties": true,
"type": [
"object"
]
},
"provider_id": {
"$ref": "#/definitions/addon/definitions/provider_id"
},
"updated_at": {
"$ref": "#/definitions/addon/definitions/updated_at"
},
"web_url": {
"$ref": "#/definitions/addon/definitions/web_url"
}
}
},
"app-feature": {
"description": "An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - App Feature",
"type": [
"object"
],
"definitions": {
"created_at": {
"description": "when app feature was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"description": {
"description": "description of app feature",
"example": "Causes app to example.",
"readOnly": true,
"type": [
"string"
]
},
"doc_url": {
"description": "documentation URL of app feature",
"example": "http://devcenter.heroku.com/articles/example",
"readOnly": true,
"type": [
"string"
]
},
"enabled": {
"description": "whether or not app feature has been enabled",
"example": true,
"readOnly": false,
"type": [
"boolean"
]
},
"id": {
"description": "unique identifier of app feature",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/app-feature/definitions/id"
},
{
"$ref": "#/definitions/app-feature/definitions/name"
}
]
},
"name": {
"description": "unique name of app feature",
"example": "name",
"readOnly": true,
"type": [
"string"
]
},
"state": {
"description": "state of app feature",
"example": "public",
"readOnly": true,
"type": [
"string"
]
},
"updated_at": {
"description": "when app feature was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
}
},
"links": [
{
"description": "Info for an existing app feature.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/features/{(%23%2Fdefinitions%2Fapp-feature%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/app-feature"
},
"title": "Info"
},
{
"description": "List existing app features.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/features",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/app-feature"
},
"type": [
"array"
]
},
"title": "List"
},
{
"description": "Update an existing app feature.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/features/{(%23%2Fdefinitions%2Fapp-feature%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"enabled": {
"$ref": "#/definitions/app-feature/definitions/enabled"
}
},
"required": [
"enabled"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/app-feature"
},
"title": "Update"
}
],
"properties": {
"created_at": {
"$ref": "#/definitions/app-feature/definitions/created_at"
},
"description": {
"$ref": "#/definitions/app-feature/definitions/description"
},
"doc_url": {
"$ref": "#/definitions/app-feature/definitions/doc_url"
},
"enabled": {
"$ref": "#/definitions/app-feature/definitions/enabled"
},
"id": {
"$ref": "#/definitions/app-feature/definitions/id"
},
"name": {
"$ref": "#/definitions/app-feature/definitions/name"
},
"state": {
"$ref": "#/definitions/app-feature/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/app-feature/definitions/updated_at"
}
}
},
"app-setup": {
"description": "An app setup represents an app on Heroku that is setup using an environment, addons, and scripts described in an app.json manifest file.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Setup API - App Setup",
"type": [
"object"
],
"definitions": {
"id": {
"description": "unique identifier of app setup",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"readOnly": true,
"type": [
"string"
],
"format": "uuid"
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/app-setup/definitions/id"
}
]
},
"created_at": {
"description": "when app setup was created",
"example": "2012-01-01T12:00:00Z",
"readOnly": true,
"type": [
"string"
],
"format": "date-time"
},
"updated_at": {
"description": "when app setup was updated",
"example": "2012-01-01T12:00:00Z",
"readOnly": true,
"type": [
"string"
],
"format": "date-time"
},
"status": {
"description": "the overall status of app setup",
"example": "succeeded",
"enum": [
"failed",
"pending",
"succeeded"
],
"readOnly": true,
"type": [
"string"
]
},
"resolved_success_url": {
"description": "fully qualified success url",
"example": "https://example.herokuapp.com/welcome",
"readOnly": true,
"type": [
"string",
"null"
]
},
"failure_message": {
"description": "reason that app setup has failed",
"example": "invalid app.json",
"readOnly": true,
"type": [
"string",
"null"
]
},
"manifest_errors": {
"description": "errors associated with invalid app.json manifest file",
"example": [
"config var FOO is required"
],
"readOnly": true,
"items": {
"type": [
"string"
]
},
"type": [
"array"
]
},
"postdeploy": {
"description": "result of postdeploy script",
"type": [
"object",
"null"
],
"properties": {
"output": {
"description": "output of the postdeploy script",
"example": "assets precompiled",
"readOnly": true,
"type": [
"string"
]
},
"exit_code": {
"description": "The exit code of the postdeploy script",
"example": 1,
"readOnly": true,
"type": [
"integer"
]
}
},
"readOnly": true
}
},
"properties": {
"id": {
"$ref": "#/definitions/app-setup/definitions/id"
},
"created_at": {
"$ref": "#/definitions/app-setup/definitions/created_at"
},
"updated_at": {
"$ref": "#/definitions/app-setup/definitions/updated_at"
},
"status": {
"$ref": "#/definitions/app-setup/definitions/status"
},
"failure_message": {
"$ref": "#/definitions/app-setup/definitions/failure_message"
},
"app": {
"description": "identity of app",
"strictProperties": true,
"type": [
"object"
],
"properties": {
"id": {
"$ref": "#/definitions/app/definitions/id"
},
"name": {
"$ref": "#/definitions/app/definitions/name"
}
}
},
"build": {
"description": "identity and status of build",
"strictProperties": true,
"type": [
"object"
],
"properties": {
"id": {
"$ref": "#/definitions/build/definitions/id"
},
"status": {
"$ref": "#/definitions/build/definitions/status"
}
}
},
"manifest_errors": {
"$ref": "#/definitions/app-setup/definitions/manifest_errors"
},
"postdeploy": {
"$ref": "#/definitions/app-setup/definitions/postdeploy"
},
"resolved_success_url": {
"$ref": "#/definitions/app-setup/definitions/resolved_success_url"
}
},
"links": [
{
"description": "Create a new app setup from a gzipped tar archive containing an app.json manifest file.",
"title": "Create",
"rel": "create",
"method": "POST",
"href": "/app-setups",
"schema": {
"required": [
"source_blob"
],
"type": [
"object"
],
"properties": {
"app": {
"description": "optional parameters for created app",
"properties": {
"locked": {
"$ref": "#/definitions/organization-app/definitions/locked"
},
"name": {
"$ref": "#/definitions/app/definitions/name"
},
"organization": {
"$ref": "#/definitions/organization/definitions/name"
},
"personal": {
"$ref": "#/definitions/organization-app/definitions/personal"
},
"region": {
"$ref": "#/definitions/region/definitions/name"
},
"stack": {
"$ref": "#/definitions/stack/definitions/name"
}
},
"type": [
"object"
]
},
"source_blob": {
"description": "gzipped tarball of source code containing app.json manifest file",
"example": "https://example.com/source.tgz?token=xyz",
"properties": {
"url": {
"description": "URL of gzipped tarball of source code containing app.json manifest file",
"example": "https://example.com/source.tgz?token=xyz",
"readOnly": true,
"type": [
"string"
]
}
},
"type": [
"object"
]
},
"overrides": {
"description": "overrides of keys in the app.json manifest file",
"example": {
"env": {
"FOO": "bar",
"BAZ": "qux"
}
},
"properties": {
"env": {
"description": "overrides of the env specified in the app.json manifest file",
"example": {
"FOO": "bar",
"BAZ": "qux"
},
"readOnly": true,
"additionalProperties": false,
"patternProperties": {
"^\\w+$": {
"type": [
"string"
]
}
},
"type": [
"object"
]
}
},
"type": [
"object"
]
}
}
},
"targetSchema": {
"$ref": "#/definitions/app-setup"
}
},
{
"description": "Get the status of an app setup.",
"title": "Info",
"rel": "self",
"method": "GET",
"href": "/app-setups/{(%23%2Fdefinitions%2Fapp-setup%2Fdefinitions%2Fidentity)}",
"targetSchema": {
"$ref": "#/definitions/app-setup"
}
}
]
},
"app-transfer": {
"description": "An app transfer represents a two party interaction for transferring ownership of an app.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - App Transfer",
"type": [
"object"
],
"definitions": {
"created_at": {
"description": "when app transfer was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"id": {
"description": "unique identifier of app transfer",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/app-transfer/definitions/id"
},
{
"$ref": "#/definitions/app/definitions/name"
}
]
},
"state": {
"description": "the current state of an app transfer",
"enum": [
"pending",
"accepted",
"declined"
],
"example": "pending",
"readOnly": true,
"type": [
"string"
]
},
"updated_at": {
"description": "when app transfer was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
}
},
"links": [
{
"description": "Create a new app transfer.",
"href": "/account/app-transfers",
"method": "POST",
"rel": "create",
"schema": {
"properties": {
"app": {
"$ref": "#/definitions/app/definitions/identity"
},
"recipient": {
"$ref": "#/definitions/account/definitions/identity"
}
},
"required": [
"app",
"recipient"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/app-transfer"
},
"title": "Create"
},
{
"description": "Delete an existing app transfer",
"href": "/account/app-transfers/{(%23%2Fdefinitions%2Fapp-transfer%2Fdefinitions%2Fidentity)}",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/app-transfer"
},
"title": "Delete"
},
{
"description": "Info for existing app transfer.",
"href": "/account/app-transfers/{(%23%2Fdefinitions%2Fapp-transfer%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/app-transfer"
},
"title": "Info"
},
{
"description": "List existing apps transfers.",
"href": "/account/app-transfers",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/app-transfer"
},
"type": [
"array"
]
},
"title": "List"
},
{
"description": "Update an existing app transfer.",
"href": "/account/app-transfers/{(%23%2Fdefinitions%2Fapp-transfer%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"state": {
"$ref": "#/definitions/app-transfer/definitions/state"
}
},
"required": [
"state"
],
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/app-transfer"
},
"title": "Update"
}
],
"properties": {
"app": {
"description": "app involved in the transfer",
"properties": {
"name": {
"$ref": "#/definitions/app/definitions/name"
},
"id": {
"$ref": "#/definitions/app/definitions/id"
}
},
"type": [
"object"
]
},
"created_at": {
"$ref": "#/definitions/app-transfer/definitions/created_at"
},
"id": {
"$ref": "#/definitions/app-transfer/definitions/id"
},
"owner": {
"description": "identity of the owner of the transfer",
"properties": {
"email": {
"$ref": "#/definitions/account/definitions/email"
},
"id": {
"$ref": "#/definitions/account/definitions/id"
}
},
"strictProperties": true,
"type": [
"object"
]
},
"recipient": {
"description": "identity of the recipient of the transfer",
"properties": {
"email": {
"$ref": "#/definitions/account/definitions/email"
},
"id": {
"$ref": "#/definitions/account/definitions/id"
}
},
"strictProperties": true,
"type": [
"object"
]
},
"state": {
"$ref": "#/definitions/app-transfer/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/app-transfer/definitions/updated_at"
}
}
},
"app": {
"description": "An app represents the program that you would like to deploy and run on Heroku.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
"title": "Heroku Platform API - App",
"type": [
"object"
],
"definitions": {
"archived_at": {
"description": "when app was archived",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"null",
"string"
]
},
"buildpack_provided_description": {
"description": "description from buildpack of app",
"example": "Ruby/Rack",
"readOnly": true,
"type": [
"null",
"string"
]
},
"created_at": {
"description": "when app was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"git_url": {
"description": "git repo URL of app",
"example": "git@heroku.com:example.git",
"pattern": "^git@heroku\\.com:[a-z][a-z0-9-]{2,29}\\.git$",
"readOnly": true,
"type": [
"string"
]
},
"id": {
"description": "unique identifier of app",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
"type": [
"string"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/definitions/app/definitions/id"
},
{
"$ref": "#/definitions/app/definitions/name"
}
]
},
"maintenance": {
"default": false,
"description": "maintenance status of app",
"example": false,
"readOnly": false,
"type": [
"boolean"
]
},
"name": {
"description": "unique name of app",
"example": "example",
"pattern": "^[a-z][a-z0-9-]{3,30}$",
"readOnly": false,
"type": [
"string"
]
},
"released_at": {
"default": null,
"description": "when app was released",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"null",
"string"
]
},
"repo_size": {
"default": null,
"description": "git repo size in bytes of app",
"example": 0,
"readOnly": true,
"type": [
"integer",
"null"
]
},
"slug_size": {
"default": null,
"description": "slug size in bytes of app",
"example": 0,
"readOnly": true,
"type": [
"integer",
"null"
]
},
"updated_at": {
"description": "when app was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
},
"web_url": {
"description": "web URL of app",
"example": "https://example.herokuapp.com/",
"format": "uri",
"pattern": "^https://[a-z][a-z0-9-]{3,30}\\.herokuapp\\.com/$",
"readOnly": true,
"type": [
"string"
]
}
},
"links": [
{
"description": "Create a new app.",
"href": "/apps",
"method": "POST",
"rel": "create",
"schema": {
"properties": {
"name": {
"$ref": "#/definitions/app/definitions/name"
},
"region": {
"$ref": "#/definitions/region/definitions/identity"
},
"stack": {
"$ref": "#/definitions/stack/definitions/identity"
}
},
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/app"
},
"title": "Create"
},
{
"description": "Delete an existing app.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/app"
},
"title": "Delete"
},
{
"description": "Info for existing app.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/app"
},
"title": "Info"
},
{
"description": "List existing apps.",
"href": "/apps",
"method": "GET",
"ranges": [
"id",
"name",
"updated_at"
],
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/app"
},
"type": [
"array"
]
},
"title": "List"
},
{
"description": "Update an existing app.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
"properties": {
"build_stack": {
"$ref": "#/definitions/stack/definitions/identity"
},
"maintenance": {
"$ref": "#/definitions/app/definitions/maintenance"
},
"name": {
"$ref": "#/definitions/app/definitions/name"
}
},
"type": [
"object"
]
},
"targetSchema": {
"$ref": "#/definitions/app"
},
"title": "Update"
}