UNPKG

heroku-client

Version:
1,684 lines (1,683 loc) 266 kB
// jshint ignore:start module.exports = { "$schema": "http://interagent.github.io/interagent-hyper-schema", "type": [ "object" ], "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", "null" ] }, "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" ] }, "sms_number": { "description": "SMS number of account", "example": "+1 ***-***-1234", "readOnly": true, "type": [ "string", "null" ] }, "suspended_at": { "description": "when account was suspended", "example": "2012-01-01T12:00:00Z", "format": "date-time", "readOnly": true, "type": [ "string", "null" ] }, "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" }, { "description": "Info for account.", "href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}", "method": "GET", "rel": "self", "targetSchema": { "$ref": "#/definitions/account" }, "title": "Info" }, { "description": "Update account.", "href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}", "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": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}", "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": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}", "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": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}", "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" }, "sms_number": { "$ref": "#/definitions/account/definitions/sms_number" }, "suspended_at": { "$ref": "#/definitions/account/definitions/suspended_at" }, "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/id" }, "name": { "$ref": "#/definitions/organization/definitions/name" } }, "strictProperties": true, "type": [ "object", "null" ] } } }, "addon-attachment": { "description": "An add-on attachment represents a connection between an app and an add-on that it has been given access to.", "$schema": "http://json-schema.org/draft-04/hyper-schema", "stability": "prototype", "strictProperties": true, "title": "Heroku Platform API - Add-on Attachment", "type": [ "object" ], "definitions": { "created_at": { "description": "when add-on attachment was created", "example": "2012-01-01T12:00:00Z", "format": "date-time", "readOnly": true, "type": [ "string" ] }, "id": { "description": "unique identifier of this add-on attachment", "example": "01234567-89ab-cdef-0123-456789abcdef", "format": "uuid", "readOnly": true, "type": [ "string" ] }, "force": { "default": false, "description": "whether or not to allow existing attachment with same name to be replaced", "example": false, "readOnly": false, "type": [ "boolean" ] }, "identity": { "anyOf": [ { "$ref": "#/definitions/addon-attachment/definitions/id" } ] }, "scopedIdentity": { "anyOf": [ { "$ref": "#/definitions/addon-attachment/definitions/id" }, { "$ref": "#/definitions/addon-attachment/definitions/name" } ] }, "name": { "description": "unique name for this add-on attachment to this app", "example": "DATABASE", "readOnly": true, "type": [ "string" ] }, "updated_at": { "description": "when add-on attachment was updated", "example": "2012-01-01T12:00:00Z", "format": "date-time", "readOnly": true, "type": [ "string" ] } }, "links": [ { "description": "Create a new add-on attachment.", "href": "/addon-attachments", "method": "POST", "rel": "create", "schema": { "properties": { "addon": { "$ref": "#/definitions/addon/definitions/identity" }, "app": { "$ref": "#/definitions/app/definitions/identity" }, "force": { "$ref": "#/definitions/addon-attachment/definitions/force" }, "name": { "$ref": "#/definitions/addon-attachment/definitions/name" } }, "required": [ "addon", "app" ], "type": [ "object" ] }, "targetSchema": { "$ref": "#/definitions/addon-attachment" }, "title": "Create" }, { "description": "Delete an existing add-on attachment.", "href": "/addon-attachments/{(%23%2Fdefinitions%2Faddon-attachment%2Fdefinitions%2Fidentity)}", "method": "DELETE", "rel": "destroy", "targetSchema": { "$ref": "#/definitions/addon-attachment" }, "title": "Delete" }, { "description": "Info for existing add-on attachment.", "href": "/addon-attachments/{(%23%2Fdefinitions%2Faddon-attachment%2Fdefinitions%2Fidentity)}", "method": "GET", "rel": "self", "targetSchema": { "$ref": "#/definitions/addon-attachment" }, "title": "Info" }, { "description": "List existing add-on attachments.", "href": "/addon-attachments", "method": "GET", "rel": "instances", "targetSchema": { "items": { "$ref": "#/definitions/addon-attachment" }, "type": [ "array" ] }, "title": "List" }, { "description": "List existing add-on attachments for an add-on.", "href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}/addon-attachments", "method": "GET", "rel": "instances", "targetSchema": { "items": { "$ref": "#/definitions/addon-attachment" }, "type": [ "array" ] }, "title": "List by Add-on" }, { "description": "List existing add-on attachments for an app.", "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addon-attachments", "method": "GET", "rel": "instances", "targetSchema": { "items": { "$ref": "#/definitions/addon-attachment" }, "type": [ "array" ] }, "title": "List by App" }, { "description": "Info for existing add-on attachment for an app.", "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addon-attachments/{(%23%2Fdefinitions%2Faddon-attachment%2Fdefinitions%2FscopedIdentity)}", "method": "GET", "rel": "self", "targetSchema": { "$ref": "#/definitions/addon-attachment" }, "title": "Info by App" } ], "properties": { "addon": { "description": "identity of add-on", "properties": { "id": { "$ref": "#/definitions/addon/definitions/id" }, "name": { "$ref": "#/definitions/addon/definitions/name" }, "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 } }, "strictProperties": true, "type": [ "object" ] }, "app": { "description": "application that is attached to add-on", "properties": { "id": { "$ref": "#/definitions/app/definitions/id" }, "name": { "$ref": "#/definitions/app/definitions/name" } }, "strictProperties": true, "type": [ "object" ] }, "created_at": { "$ref": "#/definitions/addon-attachment/definitions/created_at" }, "id": { "$ref": "#/definitions/addon-attachment/definitions/id" }, "name": { "$ref": "#/definitions/addon-attachment/definitions/name" }, "updated_at": { "$ref": "#/definitions/addon-attachment/definitions/updated_at" } } }, "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": { "cli_plugin_name": { "description": "npm package name of the add-on service's Heroku CLI plugin", "example": "heroku-papertrail", "readOnly": true, "type": [ "string", "null" ] }, "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" ] }, "supports_multiple_installations": { "default": false, "description": "whether or not apps can have access to more than one instance of this add-on at the same time", "example": false, "readOnly": true, "type": [ "boolean" ] }, "supports_sharing": { "default": false, "description": "whether or not apps can have access to add-ons billed to a different app", "example": false, "readOnly": true, "type": [ "boolean" ] }, "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": { "cli_plugin_name": { "$ref": "#/definitions/addon-service/definitions/cli_plugin_name" }, "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" }, "supports_multiple_installations": { "$ref": "#/definitions/addon-service/definitions/supports_multiple_installations" }, "supports_sharing": { "$ref": "#/definitions/addon-service/definitions/supports_sharing" }, "updated_at": { "$ref": "#/definitions/addon-service/definitions/updated_at" } } }, "addon": { "description": "Add-ons represent add-ons that have been provisioned and attached to one or more apps.", "$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 exposed to the owning app by this add-on", "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": "globally unique name of the add-on", "example": "acme-inc-primary-database", "pattern": "^[a-zA-Z][A-Za-z0-9_-]+$", "readOnly": true, "type": [ "string" ] }, "provider_id": { "description": "id of this add-on with its provider", "example": "abcd1234", "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": { "attachment": { "description": "name for add-on's initial attachment", "example": { "name": "DATABASE_FOLLOWER" }, "name": { "$ref": "#/definitions/addon-attachment/definitions/name" }, "type": [ "object" ] }, "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": "List all existing add-ons.", "href": "/addons", "method": "GET", "rel": "instances", "targetSchema": { "items": { "$ref": "#/definitions/addon" }, "type": [ "array" ] }, "title": "List" }, { "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 for an app.", "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons", "method": "GET", "rel": "instances", "targetSchema": { "items": { "$ref": "#/definitions/addon" }, "type": [ "array" ] }, "title": "List by App" }, { "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": [ "null", "object" ], "properties": { "id": { "$ref": "#/definitions/build/definitions/id" }, "status": { "$ref": "#/definitions/build/definitions/status" }, "output_stream_url": { "$ref": "#/definitions/build/definitions/output_stream_url" } } }, "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": {