UNPKG

heroku-client

Version:
1,722 lines (1,721 loc) 208 kB
// 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" }