schema.json in platform-api-1.0.1 vs schema.json in platform-api-2.0.0
- old
+ new
@@ -88,10 +88,26 @@
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
+ },
+ "display_name": {
+ "description": "user readable feature name",
+ "example": "My Feature",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "feedback_email": {
+ "description": "e-mail to send feedback about the feature",
+ "example": "feedback@heroku.com",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
}
},
"links": [
{
"description": "Info for an existing account feature.",
@@ -164,10 +180,16 @@
"state": {
"$ref": "#/definitions/account-feature/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/account-feature/definitions/updated_at"
+ },
+ "display_name": {
+ "$ref": "#/definitions/account-feature/definitions/display_name"
+ },
+ "feedback_email": {
+ "$ref": "#/definitions/account-feature/definitions/feedback_email"
}
}
},
"account": {
"description": "An account represents an individual signed up to use the Heroku platform.",
@@ -392,11 +414,11 @@
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/account"
},
- "title": "Info"
+ "title": "Info By User"
},
{
"description": "Update account.",
"href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
@@ -418,21 +440,21 @@
]
},
"targetSchema": {
"$ref": "#/definitions/account"
},
- "title": "Update"
+ "title": "Update By User"
},
{
"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"
+ "title": "Delete By User"
}
],
"properties": {
"allow_tracking": {
"$ref": "#/definitions/account/definitions/allow_tracking"
@@ -534,21 +556,21 @@
"method": "POST",
"rel": "create",
"targetSchema": {
"$ref": "#/definitions/add-on"
},
- "title": "Create - Provision"
+ "title": "Provision"
},
{
"description": "Mark an add-on as deprovisioned.",
"href": "/addons/{(%23%2Fdefinitions%2Fadd-on%2Fdefinitions%2Fidentity)}/actions/deprovision",
"method": "POST",
"rel": "create",
"targetSchema": {
"$ref": "#/definitions/add-on"
},
- "title": "Create - Deprovision"
+ "title": "Deprovision"
}
],
"properties": {
}
},
@@ -612,10 +634,19 @@
"readOnly": true,
"type": [
"string"
]
},
+ "namespace": {
+ "description": "attachment namespace",
+ "example": "role:analytics",
+ "readOnly": true,
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"updated_at": {
"description": "when add-on attachment was updated",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
@@ -651,10 +682,13 @@
"force": {
"$ref": "#/definitions/add-on-attachment/definitions/force"
},
"name": {
"$ref": "#/definitions/add-on-attachment/definitions/name"
+ },
+ "namespace": {
+ "$ref": "#/definitions/add-on-attachment/definitions/namespace"
}
},
"required": [
"addon",
"app"
@@ -817,10 +851,13 @@
"$ref": "#/definitions/add-on-attachment/definitions/id"
},
"name": {
"$ref": "#/definitions/add-on-attachment/definitions/name"
},
+ "namespace": {
+ "$ref": "#/definitions/add-on-attachment/definitions/namespace"
+ },
"updated_at": {
"$ref": "#/definitions/add-on-attachment/definitions/updated_at"
},
"web_url": {
"$ref": "#/definitions/add-on-attachment/definitions/web_url"
@@ -895,10 +932,13 @@
"type": [
"object"
]
},
"targetSchema": {
+ "type": [
+ "array"
+ ],
"items": {
"$ref": "#/definitions/add-on-config"
}
},
"title": "Update"
@@ -1058,11 +1098,11 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By Region"
}
],
"properties": {
"id": {
"$ref": "#/definitions/add-on-region-capability/definitions/id"
@@ -1373,10 +1413,35 @@
]
}
},
"links": [
{
+ "description": "List all existing add-ons.",
+ "href": "/addons",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/add-on"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Info for an existing add-on.",
+ "href": "/addons/{(%23%2Fdefinitions%2Fadd-on%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/add-on"
+ },
+ "title": "Info"
+ },
+ {
"description": "Create a new add-on.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons",
"method": "POST",
"rel": "create",
"schema": {
@@ -1442,36 +1507,46 @@
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/add-on"
},
- "title": "Info"
+ "title": "Info By App"
},
{
- "description": "List all existing add-ons.",
- "href": "/addons",
+ "description": "List existing add-ons for an app.",
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/add-on"
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By App"
},
{
- "description": "Info for an existing add-on.",
- "href": "/addons/{(%23%2Fdefinitions%2Fadd-on%2Fdefinitions%2Fidentity)}",
- "method": "GET",
- "rel": "self",
- "targetSchema": {
- "$ref": "#/definitions/add-on"
+ "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%2Fadd-on%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/plan/definitions/identity"
+ }
+ },
+ "required": [
+ "plan"
+ ],
+ "type": [
+ "object"
+ ]
},
- "title": "Info"
+ "title": "Update"
},
{
"description": "List all existing add-ons a user has access to",
"href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/addons",
"method": "GET",
@@ -1482,46 +1557,26 @@
},
"type": [
"array"
]
},
- "title": "List by User"
+ "title": "List By User"
},
{
- "description": "List existing add-ons for an app.",
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/addons",
+ "description": "List add-ons used across all Team apps",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/addons",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
"$ref": "#/definitions/add-on"
},
"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%2Fadd-on%2Fdefinitions%2Fidentity)}",
- "method": "PATCH",
- "rel": "update",
- "schema": {
- "properties": {
- "plan": {
- "$ref": "#/definitions/plan/definitions/identity"
- }
- },
- "required": [
- "plan"
- ],
- "type": [
- "object"
- ]
- },
- "title": "Update"
+ "title": "List By Team"
}
],
"properties": {
"actions": {
"$ref": "#/definitions/add-on/definitions/actions"
@@ -1681,10 +1736,26 @@
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
+ },
+ "display_name": {
+ "description": "user readable feature name",
+ "example": "My Feature",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "feedback_email": {
+ "description": "e-mail to send feedback about the feature",
+ "example": "feedback@heroku.com",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
}
},
"links": [
{
"description": "Info for an existing app feature.",
@@ -1757,10 +1828,16 @@
"state": {
"$ref": "#/definitions/app-feature/definitions/state"
},
"updated_at": {
"$ref": "#/definitions/app-feature/definitions/updated_at"
+ },
+ "display_name": {
+ "$ref": "#/definitions/app-feature/definitions/display_name"
+ },
+ "feedback_email": {
+ "$ref": "#/definitions/app-feature/definitions/feedback_email"
}
}
},
"app-formation-set": {
"description": "App formation set describes the combination of process types with their quantities and sizes as well as application process tier",
@@ -2592,11 +2669,11 @@
]
},
"title": "List"
},
{
- "description": "List owned and collaborated apps (excludes organization apps).",
+ "description": "List owned and collaborated apps (excludes team apps).",
"href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}/apps",
"method": "GET",
"ranges": [
"id",
"name",
@@ -2705,10 +2782,25 @@
"type": [
"null",
"object"
]
},
+ "team": {
+ "description": "identity of team",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/team/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "type": [
+ "null",
+ "object"
+ ]
+ },
"region": {
"description": "identity of app region",
"properties": {
"id": {
"$ref": "#/definitions/region/definitions/id"
@@ -3438,15 +3530,15 @@
"permissions": {
"type": [
"array"
],
"items": {
- "$ref": "#/definitions/organization-app-permission"
+ "$ref": "#/definitions/team-app-permission"
}
},
"role": {
- "$ref": "#/definitions/organization/definitions/role"
+ "$ref": "#/definitions/team/definitions/role"
},
"updated_at": {
"$ref": "#/definitions/collaborator/definitions/updated_at"
},
"user": {
@@ -4450,10 +4542,13 @@
{
"$ref": "#/definitions/release"
},
{
"$ref": "#/definitions/space"
+ },
+ {
+ "$ref": "#/definitions/team"
}
],
"readOnly": true,
"type": [
"object"
@@ -4502,10 +4597,11 @@
"formation-set",
"inbound-ruleset",
"organization",
"release",
"space",
+ "team",
"user"
],
"example": "app",
"readOnly": true,
"type": [
@@ -4777,11 +4873,11 @@
"schema": {
"$ref": "#/definitions/filter-apps/definitions/filter"
},
"targetSchema": {
"items": {
- "$ref": "#/definitions/organization-app"
+ "$ref": "#/definitions/team-app"
},
"type": [
"array"
]
}
@@ -4947,11 +5043,11 @@
},
"type": [
"array"
]
},
- "title": "Batch update"
+ "title": "Batch Update"
},
{
"description": "Update process type",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/formation/{(%23%2Fdefinitions%2Fformation%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
@@ -5098,11 +5194,11 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By Organization"
},
{
"description": "Create an Identity Provider for an organization",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fname)}/identity-providers",
"method": "POST",
@@ -5132,11 +5228,11 @@
]
},
"targetSchema": {
"$ref": "#/definitions/identity-provider"
},
- "title": "Create"
+ "title": "Create By Organization"
},
{
"description": "Update an organization's Identity Provider",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fname)}/identity-providers/{(%23%2Fdefinitions%2Fidentity-provider%2Fdefinitions%2Fid)}",
"method": "PATCH",
@@ -5161,21 +5257,109 @@
]
},
"targetSchema": {
"$ref": "#/definitions/identity-provider"
},
- "title": "Update"
+ "title": "Update By Organization"
},
{
"description": "Delete an organization's Identity Provider",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fname)}/identity-providers/{(%23%2Fdefinitions%2Fidentity-provider%2Fdefinitions%2Fid)}",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/identity-provider"
},
- "title": "Delete"
+ "title": "Delete By Organization"
+ },
+ {
+ "description": "Get a list of a team's Identity Providers",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/identity-providers",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/identity-provider"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List By Team"
+ },
+ {
+ "description": "Create an Identity Provider for a team",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/identity-providers",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "certificate": {
+ "$ref": "#/definitions/identity-provider/definitions/certificate"
+ },
+ "entity_id": {
+ "$ref": "#/definitions/identity-provider/definitions/entity_id"
+ },
+ "slo_target_url": {
+ "$ref": "#/definitions/identity-provider/definitions/slo_target_url"
+ },
+ "sso_target_url": {
+ "$ref": "#/definitions/identity-provider/definitions/sso_target_url"
+ }
+ },
+ "required": [
+ "certificate",
+ "sso_target_url",
+ "entity_id"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/identity-provider"
+ },
+ "title": "Create By Team"
+ },
+ {
+ "description": "Update a team's Identity Provider",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/identity-providers/{(%23%2Fdefinitions%2Fidentity-provider%2Fdefinitions%2Fid)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "certificate": {
+ "$ref": "#/definitions/identity-provider/definitions/certificate"
+ },
+ "entity_id": {
+ "$ref": "#/definitions/identity-provider/definitions/entity_id"
+ },
+ "slo_target_url": {
+ "$ref": "#/definitions/identity-provider/definitions/slo_target_url"
+ },
+ "sso_target_url": {
+ "$ref": "#/definitions/identity-provider/definitions/sso_target_url"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/identity-provider"
+ },
+ "title": "Update By Team"
+ },
+ {
+ "description": "Delete a team's Identity Provider",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fname)}/identity-providers/{(%23%2Fdefinitions%2Fidentity-provider%2Fdefinitions%2Fid)}",
+ "method": "DELETE",
+ "rel": "destroy",
+ "targetSchema": {
+ "$ref": "#/definitions/identity-provider"
+ },
+ "title": "Delete By Team"
}
],
"properties": {
"certificate": {
"$ref": "#/definitions/identity-provider/definitions/certificate"
@@ -5294,11 +5478,11 @@
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/inbound-ruleset"
},
- "title": "Info"
+ "title": "Current"
},
{
"description": "Info on an existing Inbound Ruleset",
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/inbound-rulesets/{(%23%2Fdefinitions%2Finbound-ruleset%2Fdefinitions%2Fidentity)}",
"method": "GET",
@@ -7075,12 +7259,13 @@
}
}
},
"organization-add-on": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "A list of add-ons the Organization uses across all apps",
+ "description": "Deprecated: A list of add-ons the Organization uses across all apps",
"stability": "production",
+ "deprecated_at": "2017-04-10",
"title": "Heroku Platform API - Organization Add-on",
"type": [
"object"
],
"links": [
@@ -7100,13 +7285,14 @@
"title": "List For Organization"
}
]
},
"organization-app-collaborator": {
- "description": "An organization collaborator represents an account that has been given access to an organization app on Heroku.",
+ "description": "Deprecated: An organization collaborator represents an account that has been given access to an organization app on Heroku.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"title": "Heroku Platform API - Organization App Collaborator",
"type": [
"object"
],
"definitions": {
@@ -7124,10 +7310,19 @@
"href": "/organizations/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/collaborators",
"method": "POST",
"rel": "create",
"schema": {
"properties": {
+ "permissions": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/organization-app-permission/definitions/name"
+ },
+ "description": "An array of permissions to give to the collaborator."
+ },
"silent": {
"$ref": "#/definitions/collaborator/definitions/silent"
},
"user": {
"$ref": "#/definitions/account/definitions/identity"
@@ -7168,10 +7363,29 @@
{
"description": "Update an existing collaborator from an organization app.",
"href": "/organizations/apps/{(%23%2Fdefinitions%2Forganization-app%2Fdefinitions%2Fidentity)}/collaborators/{(%23%2Fdefinitions%2Forganization-app-collaborator%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
+ "schema": {
+ "properties": {
+ "permissions": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/organization-app-permission/definitions/name"
+ },
+ "description": "An array of permissions to give to the collaborator."
+ }
+ },
+ "required": [
+ "permissions"
+ ],
+ "type": [
+ "object"
+ ]
+ },
"targetSchema": {
"$ref": "#/definitions/organization-app-collaborator"
},
"title": "Update"
},
@@ -7239,12 +7453,13 @@
}
}
},
"organization-app": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "An organization app encapsulates the organization specific functionality of Heroku apps.",
+ "description": "Deprecated: An organization app encapsulates the organization specific functionality of Heroku apps.",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"title": "Heroku Platform API - Organization App",
"type": [
"object"
],
"definitions": {
@@ -7534,13 +7749,14 @@
"$ref": "#/definitions/app/definitions/web_url"
}
}
},
"organization-feature": {
- "description": "An organization feature represents a feature enabled on an organization account.",
+ "description": "Deprecated: An organization feature represents a feature enabled on an organization account.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"strictProperties": true,
"title": "Heroku Platform API - Organization Feature",
"type": [
"object"
],
@@ -7569,11 +7785,11 @@
"type": [
"string"
]
},
"enabled": {
- "description": "whether or not account feature has been enabled",
+ "description": "whether or not organization feature has been enabled",
"example": true,
"readOnly": false,
"type": [
"boolean"
]
@@ -7619,15 +7835,31 @@
"format": "date-time",
"readOnly": true,
"type": [
"string"
]
+ },
+ "display_name": {
+ "description": "user readable feature name",
+ "example": "My Feature",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "feedback_email": {
+ "description": "e-mail to send feedback about the feature",
+ "example": "feedback@heroku.com",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
}
},
"links": [
{
- "description": "Info for an existing account feature.",
+ "description": "Info for an existing organization feature.",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fidentity)}/features/{(%23%2Fdefinitions%2Forganization-feature%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/organization-feature"
@@ -7646,43 +7878,73 @@
"type": [
"array"
]
},
"title": "List"
+ },
+ {
+ "description": "Update an existing organization feature.",
+ "href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fidentity)}/features/{(%23%2Fdefinitions%2Forganization-feature%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "enabled": {
+ "$ref": "#/definitions/organization-feature/definitions/enabled"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/organization-feature"
+ },
+ "title": "Update"
}
],
"properties": {
"created_at": {
- "$ref": "#/definitions/account-feature/definitions/created_at"
+ "$ref": "#/definitions/organization-feature/definitions/created_at"
},
"description": {
- "$ref": "#/definitions/account-feature/definitions/description"
+ "$ref": "#/definitions/organization-feature/definitions/description"
},
"doc_url": {
- "$ref": "#/definitions/account-feature/definitions/doc_url"
+ "$ref": "#/definitions/organization-feature/definitions/doc_url"
},
"enabled": {
- "$ref": "#/definitions/account-feature/definitions/enabled"
+ "$ref": "#/definitions/organization-feature/definitions/enabled"
},
"id": {
- "$ref": "#/definitions/account-feature/definitions/id"
+ "$ref": "#/definitions/organization-feature/definitions/id"
},
"name": {
- "$ref": "#/definitions/account-feature/definitions/name"
+ "$ref": "#/definitions/organization-feature/definitions/name"
},
"state": {
- "$ref": "#/definitions/account-feature/definitions/state"
+ "$ref": "#/definitions/organization-feature/definitions/state"
},
"updated_at": {
- "$ref": "#/definitions/account-feature/definitions/updated_at"
+ "$ref": "#/definitions/organization-feature/definitions/updated_at"
+ },
+ "display_name": {
+ "$ref": "#/definitions/organization-feature/definitions/display_name"
+ },
+ "feedback_email": {
+ "$ref": "#/definitions/organization-feature/definitions/feedback_email"
}
}
},
"organization-invitation": {
- "description": "An organization invitation represents an invite to an organization.",
+ "description": "Deprecated: An organization invitation represents an invite to an organization.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"strictProperties": true,
"title": "Heroku Platform API - Organization Invitation",
"type": [
"object"
],
@@ -7861,12 +8123,13 @@
}
}
},
"organization-invoice": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "An organization invoice is an itemized bill of goods for an organization which includes pricing and charges.",
+ "description": "Deprecated: An organization invoice is an itemized bill of goods for an organization which includes pricing and charges.",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"strictProperties": true,
"title": "Heroku Platform API - Organization Invoice",
"type": [
"object"
],
@@ -8088,12 +8351,13 @@
}
}
},
"organization-member": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "An organization member is an individual with access to an organization.",
+ "description": "Deprecated: An organization member is an individual with access to an organization.",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"additionalProperties": false,
"required": [
"created_at",
"email",
"federated",
@@ -8305,11 +8569,11 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "App List"
}
],
"properties": {
"created_at": {
"$ref": "#/definitions/organization-member/definitions/created_at"
@@ -8351,13 +8615,14 @@
]
}
}
},
"organization-preferences": {
- "description": "Tracks an organization's preferences",
+ "description": "Deprecated: Tracks an organization's preferences",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"strictProperties": true,
"title": "Heroku Platform API - Organization Preferences",
"type": [
"object"
],
@@ -8405,10 +8670,13 @@
"description": "Update Organization Preferences",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization-preferences%2Fdefinitions%2Fidentity)}/preferences",
"method": "PATCH",
"rel": "update",
"schema": {
+ "type": [
+ "object"
+ ],
"properties": {
"whitelisting-enabled": {
"$ref": "#/definitions/organization-preferences/definitions/whitelisting-enabled"
}
}
@@ -8428,12 +8696,13 @@
}
}
},
"organization": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "Organizations allow you to manage access to a shared group of applications across your development team.",
+ "description": "Deprecated: Organizations allow you to manage access to a shared group of applications across your development team.",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"strictProperties": true,
"title": "Heroku Platform API - Organization",
"type": [
"object"
],
@@ -8882,11 +9151,11 @@
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/outbound-ruleset"
},
- "title": "Info"
+ "title": "Current"
},
{
"description": "Info on an existing Outbound Ruleset",
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets/{(%23%2Fdefinitions%2Foutbound-ruleset%2Fdefinitions%2Fidentity)}",
"method": "GET",
@@ -9057,12 +9326,13 @@
}
}
},
"organization-app-permission": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
- "description": "An organization app permission is a behavior that is assigned to a user in an organization app.",
+ "description": "Deprecated: An organization app permission is a behavior that is assigned to a user in an organization app.",
"stability": "prototype",
+ "deprecated_at": "2017-04-10",
"title": "Heroku Platform API - Organization App Permission",
"type": [
"object"
],
"definitions": {
@@ -9186,11 +9456,11 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By Pipeline"
},
{
"description": "List pipeline couplings.",
"href": "/pipeline-couplings",
"method": "GET",
@@ -9275,18 +9545,18 @@
"$ref": "#/definitions/pipeline-coupling"
},
"title": "Update"
},
{
- "description": "Info for an existing pipeline coupling.",
+ "description": "Info for an existing app pipeline coupling.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/pipeline-couplings",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/pipeline-coupling"
},
- "title": "Info"
+ "title": "Info By App"
}
],
"properties": {
"app": {
"description": "app involved in the pipeline coupling",
@@ -9515,10 +9785,13 @@
"object"
]
},
"source": {
"description": "the app being promoted from",
+ "type": [
+ "object"
+ ],
"properties": {
"app": {
"description": "the app which was promoted from",
"properties": {
"id": {
@@ -9531,11 +9804,17 @@
]
}
}
},
"targets": {
+ "type": [
+ "array"
+ ],
"items": {
+ "type": [
+ "object"
+ ],
"properties": {
"app": {
"description": "the app is being promoted to",
"properties": {
"id": {
@@ -9757,17 +10036,17 @@
"description": "List existing pipelines.",
"href": "/pipelines",
"method": "GET",
"rel": "instances",
"targetSchema": {
+ "type": [
+ "array"
+ ],
"items": {
"$ref": "#/definitions/pipeline"
}
},
- "type": [
- "array"
- ],
"title": "List"
}
],
"properties": {
"created_at": {
@@ -9947,20 +10226,30 @@
}
},
"links": [
{
"description": "Info for existing plan.",
- "href": "/addon-services/{(%23%2Fdefinitions%2Fadd-on-service%2Fdefinitions%2Fidentity)}/plans/{(%23%2Fdefinitions%2Fplan%2Fdefinitions%2Fidentity)}",
+ "href": "/plans/{(%23%2Fdefinitions%2Fplan%2Fdefinitions%2Fidentity)}",
"method": "GET",
"rel": "self",
"targetSchema": {
"$ref": "#/definitions/plan"
},
"title": "Info"
},
{
- "description": "List existing plans.",
+ "description": "Info for existing plan by Add-on.",
+ "href": "/addon-services/{(%23%2Fdefinitions%2Fadd-on-service%2Fdefinitions%2Fidentity)}/plans/{(%23%2Fdefinitions%2Fplan%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/plan"
+ },
+ "title": "Info By Add-on"
+ },
+ {
+ "description": "List existing plans by Add-on.",
"href": "/addon-services/{(%23%2Fdefinitions%2Fadd-on-service%2Fdefinitions%2Fidentity)}/plans",
"method": "GET",
"rel": "instances",
"targetSchema": {
"items": {
@@ -9968,11 +10257,11 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By Add-on"
}
],
"properties": {
"addon_service": {
"description": "identity of add-on service",
@@ -11100,10 +11389,13 @@
"description": "Update an existing user's set of permissions on a space.",
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
"method": "PATCH",
"rel": "update",
"schema": {
+ "type": [
+ "object"
+ ],
"properties": {
"permissions": {
"type": [
"array"
],
@@ -11482,10 +11774,24 @@
},
"type": [
"object"
]
},
+ "team": {
+ "description": "team that owns this space",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/team/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
"region": {
"description": "identity of space region",
"properties": {
"id": {
"$ref": "#/definitions/region/definitions/id"
@@ -11848,10 +12154,1809 @@
"updated_at": {
"$ref": "#/definitions/stack/definitions/updated_at"
}
}
},
+ "team-app-collaborator": {
+ "description": "A team collaborator represents an account that has been given access to a team app on Heroku.",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "development",
+ "title": "Heroku Platform API - Team App Collaborator",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/collaborator/definitions/email"
+ }
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Create a new collaborator on a team app. Use this endpoint instead of the `/apps/{app_id_or_name}/collaborator` endpoint when you want the collaborator to be granted [permissions] (https://devcenter.heroku.com/articles/org-users-access#roles-and-app-permissions) according to their role in the team.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/collaborators",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "permissions": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/team-app-permission/definitions/name"
+ },
+ "description": "An array of permissions to give to the collaborator."
+ },
+ "silent": {
+ "$ref": "#/definitions/collaborator/definitions/silent"
+ },
+ "user": {
+ "$ref": "#/definitions/account/definitions/identity"
+ }
+ },
+ "required": [
+ "user"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Delete an existing collaborator from a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}/collaborators/{(%23%2Fdefinitions%2Fteam-app-collaborator%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "destroy",
+ "targetSchema": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "title": "Delete"
+ },
+ {
+ "description": "Info for a collaborator on a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}/collaborators/{(%23%2Fdefinitions%2Fteam-app-collaborator%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "Update an existing collaborator from a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}/collaborators/{(%23%2Fdefinitions%2Fteam-app-collaborator%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "permissions": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/team-app-permission/definitions/name"
+ },
+ "description": "An array of permissions to give to the collaborator."
+ }
+ },
+ "required": [
+ "permissions"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "List collaborators on a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}/collaborators",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "app": {
+ "description": "app collaborator belongs to",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/app/definitions/name"
+ },
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "created_at": {
+ "$ref": "#/definitions/collaborator/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/collaborator/definitions/id"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/collaborator/definitions/updated_at"
+ },
+ "user": {
+ "description": "identity of collaborated account",
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "federated": {
+ "$ref": "#/definitions/account/definitions/federated"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ },
+ "team-app-permission": {
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "description": "A team app permission is a behavior that is assigned to a user in a team app.",
+ "stability": "prototype",
+ "title": "Heroku Platform API - Team App Permission",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team-app-permission/definitions/name"
+ }
+ ]
+ },
+ "name": {
+ "description": "The name of the app permission.",
+ "example": "view",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "description": {
+ "description": "A description of what the app permission allows.",
+ "example": "Can manage config, deploy, run commands and restart the app.",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Lists permissions available to teams.",
+ "href": "/teams/permissions",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-app-permission"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/team-app-permission/definitions/name"
+ },
+ "description": {
+ "$ref": "#/definitions/team-app-permission/definitions/description"
+ }
+ }
+ },
+ "team-app": {
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "description": "An team app encapsulates the team specific functionality of Heroku apps.",
+ "stability": "development",
+ "title": "Heroku Platform API - Team App",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "locked": {
+ "default": false,
+ "description": "are other team members forbidden from joining this app.",
+ "example": false,
+ "type": [
+ "boolean"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/app/definitions/name"
+ }
+ ]
+ },
+ "joined": {
+ "default": false,
+ "description": "is the current member a collaborator on this app.",
+ "example": false,
+ "type": [
+ "boolean"
+ ]
+ },
+ "personal": {
+ "default": false,
+ "description": "force creation of the app in the user account even if a default team is set.",
+ "example": false,
+ "type": [
+ "boolean"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Create a new app in the specified team, in the default team if unspecified, or in personal account, if default team is not set.",
+ "href": "/teams/apps",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "locked": {
+ "$ref": "#/definitions/team-app/definitions/locked"
+ },
+ "name": {
+ "$ref": "#/definitions/app/definitions/name"
+ },
+ "team": {
+ "$ref": "#/definitions/team/definitions/name"
+ },
+ "personal": {
+ "$ref": "#/definitions/team-app/definitions/personal"
+ },
+ "region": {
+ "$ref": "#/definitions/region/definitions/name"
+ },
+ "space": {
+ "$ref": "#/definitions/space/definitions/name"
+ },
+ "stack": {
+ "$ref": "#/definitions/stack/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "title": "Create"
+ },
+ {
+ "description": "List apps in the default team, or in personal account, if default team is not set.",
+ "href": "/teams/apps",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-app"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Info for a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "title": "Info"
+ },
+ {
+ "description": "Lock or unlock a team app.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "locked": {
+ "$ref": "#/definitions/team-app/definitions/locked"
+ }
+ },
+ "required": [
+ "locked"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-app"
+ },
+ "title": "Update Locked"
+ },
+ {
+ "description": "Transfer an existing team app to another Heroku account.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "owner": {
+ "$ref": "#/definitions/account/definitions/identity"
+ }
+ },
+ "required": [
+ "owner"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "title": "Transfer to Account"
+ },
+ {
+ "description": "Transfer an existing team app to another team.",
+ "href": "/teams/apps/{(%23%2Fdefinitions%2Fteam-app%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "owner": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "required": [
+ "owner"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-app"
+ },
+ "title": "Transfer to Team"
+ },
+ {
+ "description": "List team apps.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/apps",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-app"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List By Team"
+ }
+ ],
+ "properties": {
+ "archived_at": {
+ "$ref": "#/definitions/app/definitions/archived_at"
+ },
+ "buildpack_provided_description": {
+ "$ref": "#/definitions/app/definitions/buildpack_provided_description"
+ },
+ "created_at": {
+ "$ref": "#/definitions/app/definitions/created_at"
+ },
+ "git_url": {
+ "$ref": "#/definitions/app/definitions/git_url"
+ },
+ "id": {
+ "$ref": "#/definitions/app/definitions/id"
+ },
+ "joined": {
+ "$ref": "#/definitions/team-app/definitions/joined"
+ },
+ "locked": {
+ "$ref": "#/definitions/team-app/definitions/locked"
+ },
+ "maintenance": {
+ "$ref": "#/definitions/app/definitions/maintenance"
+ },
+ "name": {
+ "$ref": "#/definitions/app/definitions/name"
+ },
+ "team": {
+ "description": "team that owns this app",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "owner": {
+ "description": "identity of app owner",
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ }
+ },
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "region": {
+ "description": "identity of app region",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/region/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/region/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "released_at": {
+ "$ref": "#/definitions/app/definitions/released_at"
+ },
+ "repo_size": {
+ "$ref": "#/definitions/app/definitions/repo_size"
+ },
+ "slug_size": {
+ "$ref": "#/definitions/app/definitions/slug_size"
+ },
+ "space": {
+ "description": "identity of space",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/space/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/space/definitions/name"
+ }
+ },
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "stack": {
+ "description": "identity of app stack",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/stack/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/stack/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "updated_at": {
+ "$ref": "#/definitions/app/definitions/updated_at"
+ },
+ "web_url": {
+ "$ref": "#/definitions/app/definitions/web_url"
+ }
+ }
+ },
+ "team-feature": {
+ "description": "A team feature represents a feature enabled on a team account.",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Team Feature",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when team feature was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "description": {
+ "description": "description of team feature",
+ "example": "Causes account to example.",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "doc_url": {
+ "description": "documentation URL of team feature",
+ "example": "http://devcenter.heroku.com/articles/example",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "enabled": {
+ "description": "whether or not team feature has been enabled",
+ "example": true,
+ "readOnly": false,
+ "type": [
+ "boolean"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of team feature",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team-feature/definitions/id"
+ },
+ {
+ "$ref": "#/definitions/team-feature/definitions/name"
+ }
+ ]
+ },
+ "name": {
+ "description": "unique name of team feature",
+ "example": "name",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "state": {
+ "description": "state of team feature",
+ "example": "public",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when team feature was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "display_name": {
+ "description": "user readable feature name",
+ "example": "My Feature",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "feedback_email": {
+ "description": "e-mail to send feedback about the feature",
+ "example": "feedback@heroku.com",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Info for an existing team feature.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/features/{(%23%2Fdefinitions%2Fteam-feature%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/team-feature"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "List existing team features.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/features",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-feature"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "created_at": {
+ "$ref": "#/definitions/team-feature/definitions/created_at"
+ },
+ "description": {
+ "$ref": "#/definitions/team-feature/definitions/description"
+ },
+ "doc_url": {
+ "$ref": "#/definitions/team-feature/definitions/doc_url"
+ },
+ "enabled": {
+ "$ref": "#/definitions/team-feature/definitions/enabled"
+ },
+ "id": {
+ "$ref": "#/definitions/team-feature/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/team-feature/definitions/name"
+ },
+ "state": {
+ "$ref": "#/definitions/team-feature/definitions/state"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/team-feature/definitions/updated_at"
+ },
+ "display_name": {
+ "$ref": "#/definitions/team-feature/definitions/display_name"
+ },
+ "feedback_email": {
+ "$ref": "#/definitions/team-feature/definitions/feedback_email"
+ }
+ }
+ },
+ "team-invitation": {
+ "description": "A team invitation represents an invite to a team.",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Team Invitation",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when invitation was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team-invitation/definitions/id"
+ }
+ ]
+ },
+ "id": {
+ "description": "unique identifier of an invitation",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "token": {
+ "description": "special token for invitation",
+ "example": "614ae25aa2d4802096cd7c18625b526c",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when invitation was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Get a list of a team's Identity Providers",
+ "title": "List",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fname)}/invitations",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-invitation"
+ },
+ "type": [
+ "array"
+ ]
+ }
+ },
+ {
+ "description": "Create Team Invitation",
+ "title": "Create",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/invitations",
+ "method": "PUT",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ }
+ },
+ "required": [
+ "email",
+ "role"
+ ],
+ "type": [
+ "object"
+ ]
+ }
+ },
+ {
+ "description": "Revoke a team invitation.",
+ "title": "Revoke",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/invitations/{(%23%2Fdefinitions%2Fteam-invitation%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "self"
+ },
+ {
+ "description": "Get an invitation by its token",
+ "title": "Get",
+ "href": "/teams/invitations/{(%23%2Fdefinitions%2Fteam-invitation%2Fdefinitions%2Ftoken)}",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "$ref": "#/definitions/team-invitation"
+ }
+ },
+ {
+ "description": "Accept Team Invitation",
+ "title": "Accept",
+ "href": "/teams/invitations/{(%23%2Fdefinitions%2Fteam-invitation%2Fdefinitions%2Ftoken)}/accept",
+ "method": "POST",
+ "rel": "create",
+ "targetSchema": {
+ "$ref": "#/definitions/team-member"
+ }
+ }
+ ],
+ "properties": {
+ "created_at": {
+ "$ref": "#/definitions/team-invitation/definitions/created_at"
+ },
+ "id": {
+ "$ref": "#/definitions/team-invitation/definitions/id"
+ },
+ "invited_by": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/account/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "team": {
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/team/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/team-invitation/definitions/updated_at"
+ },
+ "user": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/account/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ },
+ "team-invoice": {
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "description": "A Team Invoice is an itemized bill of goods for a team which includes pricing and charges.",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Team Invoice",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "addons_total": {
+ "description": "total add-ons charges in on this invoice",
+ "example": 25000,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "database_total": {
+ "description": "total database charges on this invoice",
+ "example": 25000,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "charges_total": {
+ "description": "total charges on this invoice",
+ "example": 0,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "created_at": {
+ "description": "when invoice was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "credits_total": {
+ "description": "total credits on this invoice",
+ "example": 100000,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "dyno_units": {
+ "description": "total amount of dyno units consumed across dyno types.",
+ "example": 1.92,
+ "readOnly": true,
+ "type": [
+ "number"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of this invoice",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team-invoice/definitions/number"
+ }
+ ]
+ },
+ "number": {
+ "description": "human readable invoice number",
+ "example": 9403943,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "payment_status": {
+ "description": "status of the invoice payment",
+ "example": "Paid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "platform_total": {
+ "description": "total platform charges on this invoice",
+ "example": 50000,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "period_end": {
+ "description": "the ending date that the invoice covers",
+ "example": "01/31/2014",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "period_start": {
+ "description": "the starting date that this invoice covers",
+ "example": "01/01/2014",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "state": {
+ "description": "payment status for this invoice (pending, successful, failed)",
+ "example": 1,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "total": {
+ "description": "combined total of charges and credits on this invoice",
+ "example": 100000,
+ "readOnly": true,
+ "type": [
+ "integer"
+ ]
+ },
+ "updated_at": {
+ "description": "when invoice was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "weighted_dyno_hours": {
+ "description": "The total amount of hours consumed across dyno types.",
+ "example": 1488,
+ "readOnly": true,
+ "type": [
+ "number"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Info for existing invoice.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/invoices/{(%23%2Fdefinitions%2Fteam-invoice%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/team-invoice"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "List existing invoices.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/invoices",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-invoice"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ }
+ ],
+ "properties": {
+ "addons_total": {
+ "$ref": "#/definitions/team-invoice/definitions/addons_total"
+ },
+ "database_total": {
+ "$ref": "#/definitions/team-invoice/definitions/database_total"
+ },
+ "charges_total": {
+ "$ref": "#/definitions/team-invoice/definitions/charges_total"
+ },
+ "created_at": {
+ "$ref": "#/definitions/team-invoice/definitions/created_at"
+ },
+ "credits_total": {
+ "$ref": "#/definitions/team-invoice/definitions/credits_total"
+ },
+ "dyno_units": {
+ "$ref": "#/definitions/team-invoice/definitions/dyno_units"
+ },
+ "id": {
+ "$ref": "#/definitions/team-invoice/definitions/id"
+ },
+ "number": {
+ "$ref": "#/definitions/team-invoice/definitions/number"
+ },
+ "payment_status": {
+ "$ref": "#/definitions/team-invoice/definitions/payment_status"
+ },
+ "period_end": {
+ "$ref": "#/definitions/team-invoice/definitions/period_end"
+ },
+ "period_start": {
+ "$ref": "#/definitions/team-invoice/definitions/period_start"
+ },
+ "platform_total": {
+ "$ref": "#/definitions/team-invoice/definitions/platform_total"
+ },
+ "state": {
+ "$ref": "#/definitions/team-invoice/definitions/state"
+ },
+ "total": {
+ "$ref": "#/definitions/team-invoice/definitions/total"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/team-invoice/definitions/updated_at"
+ },
+ "weighted_dyno_hours": {
+ "$ref": "#/definitions/team-invoice/definitions/weighted_dyno_hours"
+ }
+ }
+ },
+ "team-member": {
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "description": "A team member is an individual with access to a team.",
+ "stability": "development",
+ "additionalProperties": false,
+ "required": [
+ "created_at",
+ "email",
+ "federated",
+ "updated_at"
+ ],
+ "title": "Heroku Platform API - Team Member",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when the membership record was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "email": {
+ "description": "email address of the team member",
+ "example": "someone@example.org",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "federated": {
+ "description": "whether the user is federated and belongs to an Identity Provider",
+ "example": false,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of the team member",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team-member/definitions/email"
+ },
+ {
+ "$ref": "#/definitions/team-member/definitions/id"
+ }
+ ]
+ },
+ "name": {
+ "description": "full name of the team member",
+ "example": "Tina Edmonds",
+ "readOnly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "two_factor_authentication": {
+ "description": "whether the Enterprise team member has two factor authentication enabled",
+ "example": true,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
+ "updated_at": {
+ "description": "when the membership record was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Create a new team member, or update their role.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members",
+ "method": "PUT",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/team-member/definitions/email"
+ },
+ "federated": {
+ "$ref": "#/definitions/team-member/definitions/federated"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ }
+ },
+ "required": [
+ "email",
+ "role"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-member"
+ },
+ "title": "Create or Update"
+ },
+ {
+ "description": "Create a new team member.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/team-member/definitions/email"
+ },
+ "federated": {
+ "$ref": "#/definitions/team-member/definitions/federated"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ }
+ },
+ "required": [
+ "email",
+ "role"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-member"
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Update a team member.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/team-member/definitions/email"
+ },
+ "federated": {
+ "$ref": "#/definitions/team-member/definitions/federated"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ }
+ },
+ "required": [
+ "email",
+ "role"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-member"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "Remove a member from the team.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Fteam-member%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "destroy",
+ "targetSchema": {
+ "$ref": "#/definitions/team-member"
+ },
+ "title": "Delete"
+ },
+ {
+ "description": "List members of the team.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members",
+ "method": "GET",
+ "ranges": [
+ "email"
+ ],
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-member"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "List the apps of a team member.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Fteam-member%2Fdefinitions%2Fidentity)}/apps",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team-app"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List By Member"
+ }
+ ],
+ "properties": {
+ "created_at": {
+ "$ref": "#/definitions/team-member/definitions/created_at"
+ },
+ "email": {
+ "$ref": "#/definitions/team-member/definitions/email"
+ },
+ "federated": {
+ "$ref": "#/definitions/team-member/definitions/federated"
+ },
+ "id": {
+ "$ref": "#/definitions/team-member/definitions/id"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ },
+ "two_factor_authentication": {
+ "$ref": "#/definitions/team-member/definitions/two_factor_authentication"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/team-member/definitions/updated_at"
+ },
+ "user": {
+ "description": "user information for the membership",
+ "properties": {
+ "email": {
+ "$ref": "#/definitions/account/definitions/email"
+ },
+ "id": {
+ "$ref": "#/definitions/account/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/account/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ }
+ }
+ },
+ "team-preferences": {
+ "description": "Tracks a Team's Preferences",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Team Preferences",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "default-permission": {
+ "description": "The default permission used when adding new members to the team",
+ "example": "member",
+ "readOnly": false,
+ "enum": [
+ "admin",
+ "member",
+ "viewer",
+ null
+ ],
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "identity": {
+ "$ref": "#/definitions/team/definitions/identity"
+ },
+ "whitelisting-enabled": {
+ "description": "Whether whitelisting rules should be applied to add-on installations",
+ "example": true,
+ "readOnly": false,
+ "type": [
+ "boolean",
+ "null"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Retrieve Team Preferences",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/team-preferences"
+ },
+ "title": "List"
+ },
+ {
+ "description": "Update Team Preferences",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "whitelisting-enabled": {
+ "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
+ }
+ }
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team-preferences"
+ },
+ "title": "Update"
+ }
+ ],
+ "properties": {
+ "default-permission": {
+ "$ref": "#/definitions/team-preferences/definitions/default-permission"
+ },
+ "whitelisting-enabled": {
+ "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
+ }
+ }
+ },
+ "team": {
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "description": "Teams allow you to manage access to a shared group of applications and other resources.",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Team",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "created_at": {
+ "description": "when the team was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "credit_card_collections": {
+ "description": "whether charges incurred by the team are paid by credit card.",
+ "example": true,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
+ "default": {
+ "description": "whether to use this team when none is specified",
+ "example": true,
+ "readOnly": false,
+ "type": [
+ "boolean"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of team",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/team/definitions/name"
+ },
+ {
+ "$ref": "#/definitions/team/definitions/id"
+ }
+ ]
+ },
+ "address_1": {
+ "type": [
+ "string"
+ ],
+ "description": "street address line 1",
+ "example": "40 Hickory Lane"
+ },
+ "address_2": {
+ "type": [
+ "string"
+ ],
+ "description": "street address line 2",
+ "example": "Suite 103"
+ },
+ "card_number": {
+ "type": [
+ "string"
+ ],
+ "description": "encrypted card number of payment method",
+ "example": "encrypted-card-number"
+ },
+ "city": {
+ "type": [
+ "string"
+ ],
+ "description": "city",
+ "example": "San Francisco"
+ },
+ "country": {
+ "type": [
+ "string"
+ ],
+ "description": "country",
+ "example": "US"
+ },
+ "cvv": {
+ "type": [
+ "string"
+ ],
+ "description": "card verification value",
+ "example": "123"
+ },
+ "expiration_month": {
+ "type": [
+ "string"
+ ],
+ "description": "expiration month",
+ "example": "11"
+ },
+ "expiration_year": {
+ "type": [
+ "string"
+ ],
+ "description": "expiration year",
+ "example": "2014"
+ },
+ "first_name": {
+ "type": [
+ "string"
+ ],
+ "description": "the first name for payment method",
+ "example": "Jason"
+ },
+ "last_name": {
+ "type": [
+ "string"
+ ],
+ "description": "the last name for payment method",
+ "example": "Walker"
+ },
+ "other": {
+ "type": [
+ "string"
+ ],
+ "description": "metadata",
+ "example": "Additional information for payment method"
+ },
+ "postal_code": {
+ "type": [
+ "string"
+ ],
+ "description": "postal code",
+ "example": "90210"
+ },
+ "state": {
+ "type": [
+ "string"
+ ],
+ "description": "state",
+ "example": "CA"
+ },
+ "membership_limit": {
+ "description": "upper limit of members allowed in a team.",
+ "example": 25,
+ "readOnly": true,
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "name": {
+ "description": "unique name of team",
+ "example": "example",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "provisioned_licenses": {
+ "description": "whether the team is provisioned licenses by salesforce.",
+ "example": true,
+ "readOnly": true,
+ "type": [
+ "boolean"
+ ]
+ },
+ "role": {
+ "description": "role in the team",
+ "enum": [
+ "admin",
+ "collaborator",
+ "member",
+ "owner",
+ null
+ ],
+ "example": "admin",
+ "readOnly": true,
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "type": {
+ "description": "type of team.",
+ "example": "team",
+ "enum": [
+ "enterprise",
+ "team"
+ ],
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "updated_at": {
+ "description": "when the team was updated",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "List teams in which you are a member.",
+ "href": "/teams",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/team"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Info for a team.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "title": "Info"
+ },
+ {
+ "description": "Update team properties.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "default": {
+ "$ref": "#/definitions/team/definitions/default"
+ },
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team"
+ },
+ "title": "Update"
+ },
+ {
+ "description": "Create a new team.",
+ "href": "/teams",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ },
+ "address_1": {
+ "$ref": "#/definitions/team/definitions/address_1"
+ },
+ "address_2": {
+ "$ref": "#/definitions/team/definitions/address_2"
+ },
+ "card_number": {
+ "$ref": "#/definitions/team/definitions/card_number"
+ },
+ "city": {
+ "$ref": "#/definitions/team/definitions/city"
+ },
+ "country": {
+ "$ref": "#/definitions/team/definitions/country"
+ },
+ "cvv": {
+ "$ref": "#/definitions/team/definitions/cvv"
+ },
+ "expiration_month": {
+ "$ref": "#/definitions/team/definitions/expiration_month"
+ },
+ "expiration_year": {
+ "$ref": "#/definitions/team/definitions/expiration_year"
+ },
+ "first_name": {
+ "$ref": "#/definitions/team/definitions/first_name"
+ },
+ "last_name": {
+ "$ref": "#/definitions/team/definitions/last_name"
+ },
+ "other": {
+ "$ref": "#/definitions/team/definitions/other"
+ },
+ "postal_code": {
+ "$ref": "#/definitions/team/definitions/postal_code"
+ },
+ "state": {
+ "$ref": "#/definitions/team/definitions/state"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "$ref": "#/definitions/team"
+ },
+ "title": "Create"
+ },
+ {
+ "description": "Delete an existing team.",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "destroy",
+ "targetSchema": {
+ "$ref": "#/definitions/team"
+ },
+ "title": "Delete"
+ }
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/team/definitions/id"
+ },
+ "created_at": {
+ "$ref": "#/definitions/team/definitions/created_at"
+ },
+ "credit_card_collections": {
+ "$ref": "#/definitions/team/definitions/credit_card_collections"
+ },
+ "default": {
+ "$ref": "#/definitions/team/definitions/default"
+ },
+ "membership_limit": {
+ "$ref": "#/definitions/team/definitions/membership_limit"
+ },
+ "name": {
+ "$ref": "#/definitions/team/definitions/name"
+ },
+ "provisioned_licenses": {
+ "$ref": "#/definitions/team/definitions/provisioned_licenses"
+ },
+ "role": {
+ "$ref": "#/definitions/team/definitions/role"
+ },
+ "type": {
+ "$ref": "#/definitions/team/definitions/type"
+ },
+ "updated_at": {
+ "$ref": "#/definitions/team/definitions/updated_at"
+ }
+ }
+ },
"user-preferences": {
"description": "Tracks a user's preferences and message dismissals",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
@@ -11989,10 +14094,13 @@
"description": "Update User Preferences",
"href": "/users/{(%23%2Fdefinitions%2Fuser-preferences%2Fdefinitions%2Fidentity)}/preferences",
"method": "PATCH",
"rel": "update",
"schema": {
+ "type": [
+ "object"
+ ],
"properties": {
"timezone": {
"$ref": "#/definitions/user-preferences/definitions/timezone"
},
"default-organization": {
@@ -12155,18 +14263,21 @@
},
"type": [
"array"
]
},
- "title": "List"
+ "title": "List By Organization"
},
{
"description": "Whitelist an Add-on Service",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
"method": "POST",
"rel": "create",
"schema": {
+ "type": [
+ "object"
+ ],
"properties": {
"addon_service": {
"description": "name of the Add-on to whitelist",
"example": "heroku-postgresql",
"type": [
@@ -12181,21 +14292,75 @@
},
"type": [
"array"
]
},
- "title": "Create"
+ "title": "Create By Organization"
},
{
"description": "Remove a whitelisted entity",
"href": "/organizations/{(%23%2Fdefinitions%2Forganization%2Fdefinitions%2Fidentity)}/whitelisted-addon-services/{(%23%2Fdefinitions%2Fwhitelisted-add-on-service%2Fdefinitions%2Fidentity)}",
"method": "DELETE",
"rel": "destroy",
"targetSchema": {
"$ref": "#/definitions/whitelisted-add-on-service"
},
- "title": "Delete"
+ "title": "Delete By Organization"
+ },
+ {
+ "description": "List all whitelisted Add-on Services for a Team",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/whitelisted-add-on-service"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List By Team"
+ },
+ {
+ "description": "Whitelist an Add-on Service",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
+ "method": "POST",
+ "rel": "create",
+ "schema": {
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "addon_service": {
+ "description": "name of the Add-on to whitelist",
+ "example": "heroku-postgresql",
+ "type": [
+ "string"
+ ]
+ }
+ }
+ },
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/whitelisted-add-on-service"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "Create By Team"
+ },
+ {
+ "description": "Remove a whitelisted entity",
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services/{(%23%2Fdefinitions%2Fwhitelisted-add-on-service%2Fdefinitions%2Fidentity)}",
+ "method": "DELETE",
+ "rel": "destroy",
+ "targetSchema": {
+ "$ref": "#/definitions/whitelisted-add-on-service"
+ },
+ "title": "Delete By Team"
}
],
"properties": {
"added_at": {
"$ref": "#/definitions/whitelisted-add-on-service/definitions/added_at"
@@ -12414,9 +14579,36 @@
"ssl-endpoint": {
"$ref": "#/definitions/ssl-endpoint"
},
"stack": {
"$ref": "#/definitions/stack"
+ },
+ "team-app-collaborator": {
+ "$ref": "#/definitions/team-app-collaborator"
+ },
+ "team-app-permission": {
+ "$ref": "#/definitions/team-app-permission"
+ },
+ "team-app": {
+ "$ref": "#/definitions/team-app"
+ },
+ "team-feature": {
+ "$ref": "#/definitions/team-feature"
+ },
+ "team-invitation": {
+ "$ref": "#/definitions/team-invitation"
+ },
+ "team-invoice": {
+ "$ref": "#/definitions/team-invoice"
+ },
+ "team-member": {
+ "$ref": "#/definitions/team-member"
+ },
+ "team-preferences": {
+ "$ref": "#/definitions/team-preferences"
+ },
+ "team": {
+ "$ref": "#/definitions/team"
},
"user-preferences": {
"$ref": "#/definitions/user-preferences"
},
"whitelisted-add-on-service": {