schema.json in platform-api-0.5.0 vs schema.json in platform-api-0.6.0
- old
+ new
@@ -1695,17 +1695,35 @@
},
"source_blob": {
"description": "gzipped tarball of source code containing app.json manifest file",
"example": "https://example.com/source.tgz?token=xyz",
"properties": {
+ "checksum": {
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "readOnly": true,
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"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"
]
+ },
+ "version": {
+ "description": "Version of the gzipped tarball.",
+ "example": "v1.3.0",
+ "readOnly": true,
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"type": [
"object"
]
@@ -2018,12 +2036,12 @@
"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$",
+ "example": "https://git.heroku.com/example.git",
+ "pattern": "^https://git\\.heroku\\.com/[a-z][a-z0-9-]{2,29}\\.git$",
"readOnly": true,
"type": [
"string"
]
},
@@ -2465,21 +2483,10 @@
"strictProperties": true,
"type": [
"object"
],
"definitions": {
- "buildpack": {
- "description": "Buildpack to execute in a build",
- "type": [
- "object"
- ],
- "properties": {
- "url": {
- "$ref": "#/definitions/buildpack-installation/definitions/url"
- }
- }
- },
"created_at": {
"description": "when build was created",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
@@ -2512,10 +2519,19 @@
]
},
"source_blob": {
"description": "location of gzipped tarball of source code used to create build",
"properties": {
+ "checksum": {
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "readOnly": true,
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"url": {
"description": "URL where gzipped tar archive of source code for build was downloaded.",
"example": "https://example.com/source.tgz?token=xyz",
"readOnly": true,
"type": [
@@ -2632,11 +2648,19 @@
"type": [
"array",
"null"
],
"items": {
- "$ref": "#/definitions/build/definitions/buildpack"
+ "description": "Buildpack to execute in a build",
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "url": {
+ "$ref": "#/definitions/buildpack-installation/definitions/url"
+ }
+ }
}
},
"created_at": {
"$ref": "#/definitions/build/definitions/created_at"
},
@@ -2718,19 +2742,19 @@
"type": [
"object"
]
},
"url": {
- "description": "location of the buildpack for the app",
+ "description": "location of the buildpack for the app. Either a url (unofficial buildpacks) or an internal urn (heroku official buildpacks).",
"example": "https://github.com/heroku/heroku-buildpack-ruby",
"readOnly": false,
"type": [
"string"
]
},
"name": {
- "description": "name of the buildpack for the app",
+ "description": "either the shorthand name (heroku official buildpacks) or url (unofficial buildpacks) of the buildpack for the app",
"example": "heroku/ruby",
"readOnly": false,
"type": [
"string"
]
@@ -2743,10 +2767,11 @@
"method": "PUT",
"rel": "update",
"schema": {
"properties": {
"updates": {
+ "description": "The buildpack attribute can accept a name, a url, or a urn.",
"items": {
"$ref": "#/definitions/buildpack-installation/definitions/update"
},
"type": [
"array"
@@ -3734,10 +3759,13 @@
{
"$ref": "#/definitions/formation"
},
{
"$ref": "#/definitions/release"
+ },
+ {
+ "$ref": "#/definitions/space"
}
],
"readOnly": true,
"type": [
"object"
@@ -3782,10 +3810,11 @@
"domain",
"dyno",
"failed-event",
"formation",
"release",
+ "space",
"user"
],
"example": "app",
"readOnly": true,
"type": [
@@ -4085,23 +4114,23 @@
},
"update": {
"additionalProperties": false,
"description": "Properties to update a process type",
"properties": {
- "process": {
- "$ref": "#/definitions/formation/definitions/identity"
- },
"quantity": {
"$ref": "#/definitions/formation/definitions/quantity"
},
"size": {
"$ref": "#/definitions/formation/definitions/size"
+ },
+ "type": {
+ "$ref": "#/definitions/formation/definitions/type"
}
},
"readOnly": false,
"required": [
- "process"
+ "type"
],
"type": [
"object"
]
}
@@ -4144,20 +4173,11 @@
"array"
],
"items": {
"$ref": "#/definitions/formation/definitions/update"
},
- "description": "Array with formation updates. Each element must have \"type\", the id or name of the process type to be updated, and can optionally update its \"quantity\" or \"size\".",
- "example": [
- {
- "quantity": 1,
- "size": "standard-2X",
- "type": [
- "web"
- ]
- }
- ]
+ "description": "Array with formation updates. Each element must have \"type\", the id or name of the process type to be updated, and can optionally update its \"quantity\" or \"size\"."
}
},
"required": [
"updates"
],
@@ -4366,18 +4386,12 @@
"array"
],
"items": {
"$ref": "#/definitions/inbound-ruleset/definitions/rule"
}
- },
- "default_action": {
- "$ref": "#/definitions/inbound-ruleset/definitions/action"
}
- },
- "required": [
- "default_action"
- ]
+ }
},
"title": "Create"
}
],
"properties": {
@@ -4393,13 +4407,10 @@
],
"items": {
"$ref": "#/definitions/inbound-ruleset/definitions/rule"
}
},
- "default_action": {
- "$ref": "#/definitions/inbound-ruleset/definitions/action"
- },
"created_by": {
"$ref": "#/definitions/account/definitions/email"
}
}
},
@@ -5539,10 +5550,28 @@
"scope": {
"$ref": "#/definitions/oauth-authorization/definitions/scope"
},
"updated_at": {
"$ref": "#/definitions/oauth-authorization/definitions/updated_at"
+ },
+ "user": {
+ "description": "authenticated user associated with this authorization",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ },
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "full_name": {
+ "$ref": "#/definitions/account/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
}
}
},
"oauth-client": {
"description": "OAuth clients are applications that Heroku users can authorize to automate, customize or extend their usage of the platform. For more information please refer to the [Heroku OAuth documentation](https://devcenter.heroku.com/articles/oauth).",
@@ -7934,10 +7963,677 @@
"state": {
"$ref": "#/definitions/payment/definitions/state"
}
}
},
+ "pipeline-coupling": {
+ "description": "Information about an app's coupling to a pipeline",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "title": "Heroku Platform API - Pipeline Coupling",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when pipeline coupling was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of pipeline coupling",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/pipeline-coupling/definitions/id"
+ }
+ ]
+ },
+ "stage": {
+ "description": "target pipeline stage",
+ "example": "production",
+ "enum": [
+ "review",
+ "development",
+ "staging",
+ "production"
+ ],
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when pipeline coupling was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "List couplings for a pipeline",
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/pipeline-couplings",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "List pipeline couplings.",
+ "href": "/pipeline-couplings",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Create a new pipeline coupling.",
+ "href": "/pipeline-couplings",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "app": {
+ "$ref": "#/definitions/app/definitions/identity"
+ },
+ "pipeline": {
+ "$ref": "#/definitions/pipeline/definitions/identity"
+ },
+ "stage": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
+ }
+ },
+ "required": [
+ "app",
+ "pipeline",
+ "stage"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Info for an existing pipeline coupling.",
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "Delete an existing pipeline coupling.",
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "delete",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "title": "Delete"
+ },
+ {
+ "description": "Update an existing pipeline coupling.",
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "stage": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "Info for an existing pipeline coupling.",
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/pipeline-couplings",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "title": "Info"
+ }
+ ],
+ "properties": {
+ "app": {
+ "description": "app involved in the pipeline coupling",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "created_at": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/id"
+ },
+ "pipeline": {
+ "description": "pipeline involved in the coupling",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "stage": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/pipeline-coupling/definitions/updated_at"
+ }
+ }
+ },
+ "pipeline-promotion-target": {
+ "description": "Promotion targets represent an individual app being promoted to",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Pipeline Promotion Target",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "error_message": {
+ "description": "an error message for why the promotion failed",
+ "example": "User does not have access to that app",
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of promotion target",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "readOnly": true,
+ "format": "uuid",
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/id"
+ }
+ ]
+ },
+ "status": {
+ "description": "status of promotion",
+ "example": "pending",
+ "readOnly": true,
+ "enum": [
+ "pending",
+ "succeeded",
+ "failed"
+ ],
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "List promotion targets belonging to an existing promotion.",
+ "href": "/pipeline-promotions/{(%23%2Fdefinitions%2Fpipeline-promotion%2Fdefinitions%2Fid)}/promotion-targets",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/pipeline-promotion-target"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "app": {
+ "description": "the app which was promoted to",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "error_message": {
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/error_message"
+ },
+ "id": {
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/id"
+ },
+ "pipeline_promotion": {
+ "description": "the promotion which the target belongs to",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "release": {
+ "description": "the release which was created on the target app",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/release/definitions/id"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "status": {
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/status"
+ }
+ }
+ },
+ "pipeline-promotion": {
+ "description": "Promotions allow you to move code from an app in a pipeline to all targets",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Pipeline Promotion",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when promotion was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "type": [
+ "string"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of promotion",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "readOnly": true,
+ "format": "uuid",
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
+ }
+ ]
+ },
+ "status": {
+ "description": "status of promotion",
+ "example": "pending",
+ "readOnly": true,
+ "enum": [
+ "pending",
+ "completed"
+ ],
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when promotion was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Create a new promotion.",
+ "href": "/pipeline-promotions",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "pipeline": {
+ "description": "pipeline involved in the promotion",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "source": {
+ "description": "the app being promoted from",
+ "properties": {
+ "app": {
+ "description": "the app which was promoted from",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ },
+ "targets": {
+ "items": {
+ "properties": {
+ "app": {
+ "description": "the app is being promoted to",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "pipeline",
+ "source",
+ "targets"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Info for existing pipeline promotion.",
+ "href": "/pipeline-promotions/{(%23%2Fdefinitions%2Fpipeline-promotion%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline-promotion"
+ },
+ "title": "Info"
+ }
+ ],
+ "properties": {
+ "created_at": {
+ "$ref": "#/definitions/pipeline-promotion/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
+ },
+ "pipeline": {
+ "description": "the pipeline which the promotion belongs to",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "source": {
+ "description": "the app being promoted from",
+ "properties": {
+ "app": {
+ "description": "the app which was promoted from",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "release": {
+ "description": "the release used to promoted from",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/release/definitions/id"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "status": {
+ "$ref": "#/definitions/pipeline-promotion/definitions/status"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/pipeline-promotion/definitions/updated_at"
+ }
+ }
+ },
+ "pipeline": {
+ "description": "A pipeline allows grouping of apps into different stages.",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Pipeline",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when pipeline was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of pipeline",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ },
+ {
+ "$ref": "#/definitions/pipeline/definitions/name"
+ }
+ ]
+ },
+ "name": {
+ "description": "name of pipeline",
+ "example": "example",
+ "pattern": "^[a-z][a-z0-9-]{2,29}$",
+ "readOnly": false,
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when pipeline was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Create a new pipeline.",
+ "href": "/pipelines",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/pipeline/definitions/name"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline"
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Info for existing pipeline.",
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "Delete an existing pipeline.",
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}",
+ "method": "DELETE",
+ "rel": "delete",
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline"
+ },
+ "title": "Delete"
+ },
+ {
+ "description": "Update an existing pipeline.",
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/pipeline/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/pipeline"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "List existing pipelines.",
+ "href": "/pipelines",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "type": [
+ "array"
+ ],
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "created_at": {
+ "$ref": "#/definitions/pipeline/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/pipeline/definitions/name"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/pipeline/definitions/updated_at"
+ }
+ }
+ },
"plan": {
"description": "Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
@@ -7986,10 +8682,26 @@
"readOnly": true,
"type": [
"string"
]
},
+ "installable_inside_private_network": {
+ "description": "whether this plan is installable to a Private Spaces app",
+ "example": false,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
+ "installable_outside_private_network": {
+ "description": "whether this plan is installable to a Common Runtime app",
+ "example": true,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
"identity": {
"anyOf": [
{
"$ref": "#/definitions/plan/definitions/id"
},
@@ -8020,10 +8732,18 @@
"readOnly": true,
"type": [
"string"
]
},
+ "space_default": {
+ "description": "whether this plan is the default for apps in Private Spaces",
+ "example": false,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
"state": {
"description": "release status for plan",
"example": "public",
"readOnly": true,
"type": [
@@ -8081,10 +8801,16 @@
"$ref": "#/definitions/plan/definitions/human_name"
},
"id": {
"$ref": "#/definitions/plan/definitions/id"
},
+ "installable_inside_private_network": {
+ "$ref": "#/definitions/plan/definitions/installable_inside_private_network"
+ },
+ "installable_outside_private_network": {
+ "$ref": "#/definitions/plan/definitions/installable_outside_private_network"
+ },
"name": {
"$ref": "#/definitions/plan/definitions/name"
},
"price": {
"description": "price",
@@ -8099,10 +8825,13 @@
"strictProperties": true,
"type": [
"object"
]
},
+ "space_default": {
+ "$ref": "#/definitions/plan/definitions/space_default"
+ },
"state": {
"$ref": "#/definitions/plan/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/plan/definitions/updated_at"
@@ -8245,11 +8974,11 @@
"type": [
"string"
]
},
"private_capable": {
- "description": "whether or not region is available for creating a private space",
+ "description": "whether or not region is available for creating a Private Space",
"example": false,
"readOnly": true,
"type": [
"boolean"
]
@@ -8686,31 +9415,10 @@
"description": "Create a new slug. For more information please refer to [Deploying Slugs using the Platform API](https://devcenter.heroku.com/articles/platform-api-deploying-slugs).",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/slugs",
"method": "POST",
"rel": "create",
"schema": {
- "example": {
- "blob": {
- "method": "PUT",
- "url": "https://api.heroku.com/slugs/1234.tgz"
- },
- "buildpack_provided_description": "Ruby/Rack",
- "checksum": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "commit": "60883d9e8947a57e04dc9124f25df004866a2051",
- "commit_description": "fixed a bug with API documentation",
- "created_at": "2012-01-01T12:00:00Z",
- "id": "01234567-89ab-cdef-0123-456789abcdef",
- "process_types": {
- "web": "./bin/web -p $PORT"
- },
- "size": 2048,
- "stack": {
- "id": "01234567-89ab-cdef-0123-456789abcdef",
- "name": "cedar-14"
- },
- "updated_at\"": "2012-01-01T12:00:00Z"
- },
"properties": {
"buildpack_provided_description": {
"$ref": "#/definitions/slug/definitions/buildpack_provided_description"
},
"checksum": {
@@ -8735,11 +9443,32 @@
"type": [
"object"
]
},
"targetSchema": {
- "$ref": "#/definitions/slug"
+ "$ref": "#/definitions/slug",
+ "example": {
+ "blob": {
+ "method": "PUT",
+ "url": "https://api.heroku.com/slugs/1234.tgz"
+ },
+ "buildpack_provided_description": "Ruby/Rack",
+ "checksum": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "commit": "60883d9e8947a57e04dc9124f25df004866a2051",
+ "commit_description": "fixed a bug with API documentation",
+ "created_at": "2012-01-01T12:00:00Z",
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
+ "process_types": {
+ "web": "./bin/web -p $PORT"
+ },
+ "size": 2048,
+ "stack": {
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
+ "name": "cedar-14"
+ },
+ "updated_at": "2012-01-01T12:00:00Z"
+ }
},
"title": "Create"
}
],
"properties": {
@@ -8909,10 +9638,159 @@
"object"
]
}
}
},
+ "space-app-access": {
+ "description": "Space access represents the privileges a particular user has on a particular space.",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "title": "Heroku Platform API - Space Access",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "id": {
+ "description": "unique identifier of the space a user has privileges on",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/space-app-access/definitions/id"
+ }
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "List privileges for a given user on a given space.",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/space-app-access"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "Update an existing user's set of privileges on a space.",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "privileges": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "name": {
+ "type": [
+ "string"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/space-app-access"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "List all users and their privileges on a space.",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/space-app-access"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "space": {
+ "description": "space user belongs to",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/app/definitions/name"
+ },
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "created_at": {
+ "$ref": "#/definitions/space/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/space/definitions/id"
+ },
+ "privileges": {
+ "description": "user space privileges",
+ "type": [
+ "array"
+ ],
+ "items": {
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "description": {
+ "type": [
+ "string"
+ ]
+ },
+ "name": {
+ "type": [
+ "string"
+ ]
+ }
+ }
+ }
+ },
+ "updated_at": {
+ "$ref": "#/definitions/space/definitions/updated_at"
+ },
+ "user": {
+ "description": "identity of user account",
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ },
"space-nat": {
"description": "Network address translation (NAT) for stable outbound IP addresses from a space",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "prototype",
"strictProperties": true,
@@ -9556,10 +10434,19 @@
"type": [
"string",
"null"
]
},
+ "default-organization": {
+ "description": "User's default organization",
+ "example": "sushi-inc",
+ "readOnly": false,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"dismissed-github-banner": {
"description": "Whether the user has dismissed the GitHub link banner",
"example": true,
"readOnly": false,
"type": [
@@ -9610,10 +10497,24 @@
"type": [
"boolean",
"null"
]
},
+ "dismissed-pipelines-github-banners": {
+ "description": "Which pipeline uuids the user has dismissed the GitHub banner for",
+ "example": [
+ "96c68759-f310-4910-9867-e0b062064098"
+ ],
+ "readOnly": false,
+ "type": [
+ "null",
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/pipeline/definitions/id"
+ }
+ },
"dismissed-sms-banner": {
"description": "Whether the user has dismissed the 2FA SMS banner",
"example": true,
"readOnly": false,
"type": [
@@ -9641,10 +10542,13 @@
"schema": {
"properties": {
"timezone": {
"$ref": "#/definitions/user-preferences/definitions/timezone"
},
+ "default-organization": {
+ "$ref": "#/definitions/user-preferences/definitions/default-organization"
+ },
"dismissed-github-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-github-banner"
},
"dismissed-getting-started": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-getting-started"
@@ -9656,10 +10560,16 @@
"$ref": "#/definitions/user-preferences/definitions/dismissed-org-wizard-notification"
},
"dismissed-pipelines-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-banner"
},
+ "dismissed-pipelines-github-banner": {
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banner"
+ },
+ "dismissed-pipelines-github-banners": {
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banners"
+ },
"dismissed-sms-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-sms-banner"
}
}
},
@@ -9671,10 +10581,13 @@
],
"properties": {
"timezone": {
"$ref": "#/definitions/user-preferences/definitions/timezone"
},
+ "default-organization": {
+ "$ref": "#/definitions/user-preferences/definitions/default-organization"
+ },
"dismissed-github-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-github-banner"
},
"dismissed-getting-started": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-getting-started"
@@ -9689,10 +10602,13 @@
"$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-banner"
},
"dismissed-pipelines-github-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banner"
},
+ "dismissed-pipelines-github-banners": {
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banners"
+ },
"dismissed-sms-banner": {
"$ref": "#/definitions/user-preferences/definitions/dismissed-sms-banner"
}
}
},
@@ -9789,15 +10705,14 @@
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
"method": "POST",
"rel": "create",
"schema": {
"properties": {
- "addon": {
- "description": "name of one or more Add-ons to whitelist",
+ "addon_service": {
+ "description": "name of the Add-on to whitelist",
"example": "heroku-postgresql",
"type": [
- "array",
"string"
]
}
}
},
@@ -9966,10 +10881,22 @@
"$ref": "#/definitions/payment-method"
},
"payment": {
"$ref": "#/definitions/payment"
},
+ "pipeline-coupling": {
+ "$ref": "#/definitions/pipeline-coupling"
+ },
+ "pipeline-promotion-target": {
+ "$ref": "#/definitions/pipeline-promotion-target"
+ },
+ "pipeline-promotion": {
+ "$ref": "#/definitions/pipeline-promotion"
+ },
+ "pipeline": {
+ "$ref": "#/definitions/pipeline"
+ },
"plan": {
"$ref": "#/definitions/plan"
},
"rate-limit": {
"$ref": "#/definitions/rate-limit"
@@ -9989,9 +10916,12 @@
"sms-number": {
"$ref": "#/definitions/sms-number"
},
"source": {
"$ref": "#/definitions/source"
+ },
+ "space-app-access": {
+ "$ref": "#/definitions/space-app-access"
},
"space-nat": {
"$ref": "#/definitions/space-nat"
},
"space": {