platform-api 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module PlatformAPI
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
data/schema.json CHANGED
@@ -1697,6 +1697,15 @@
1697
1697
  "description": "gzipped tarball of source code containing app.json manifest file",
1698
1698
  "example": "https://example.com/source.tgz?token=xyz",
1699
1699
  "properties": {
1700
+ "checksum": {
1701
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
1702
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
1703
+ "readOnly": true,
1704
+ "type": [
1705
+ "null",
1706
+ "string"
1707
+ ]
1708
+ },
1700
1709
  "url": {
1701
1710
  "description": "URL of gzipped tarball of source code containing app.json manifest file",
1702
1711
  "example": "https://example.com/source.tgz?token=xyz",
@@ -1704,6 +1713,15 @@
1704
1713
  "type": [
1705
1714
  "string"
1706
1715
  ]
1716
+ },
1717
+ "version": {
1718
+ "description": "Version of the gzipped tarball.",
1719
+ "example": "v1.3.0",
1720
+ "readOnly": true,
1721
+ "type": [
1722
+ "string",
1723
+ "null"
1724
+ ]
1707
1725
  }
1708
1726
  },
1709
1727
  "type": [
@@ -2020,8 +2038,8 @@
2020
2038
  },
2021
2039
  "git_url": {
2022
2040
  "description": "git repo URL of app",
2023
- "example": "git@heroku.com:example.git",
2024
- "pattern": "^git@heroku\\.com:[a-z][a-z0-9-]{2,29}\\.git$",
2041
+ "example": "https://git.heroku.com/example.git",
2042
+ "pattern": "^https://git\\.heroku\\.com/[a-z][a-z0-9-]{2,29}\\.git$",
2025
2043
  "readOnly": true,
2026
2044
  "type": [
2027
2045
  "string"
@@ -2467,17 +2485,6 @@
2467
2485
  "object"
2468
2486
  ],
2469
2487
  "definitions": {
2470
- "buildpack": {
2471
- "description": "Buildpack to execute in a build",
2472
- "type": [
2473
- "object"
2474
- ],
2475
- "properties": {
2476
- "url": {
2477
- "$ref": "#/definitions/buildpack-installation/definitions/url"
2478
- }
2479
- }
2480
- },
2481
2488
  "created_at": {
2482
2489
  "description": "when build was created",
2483
2490
  "example": "2012-01-01T12:00:00Z",
@@ -2514,6 +2521,15 @@
2514
2521
  "source_blob": {
2515
2522
  "description": "location of gzipped tarball of source code used to create build",
2516
2523
  "properties": {
2524
+ "checksum": {
2525
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
2526
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
2527
+ "readOnly": true,
2528
+ "type": [
2529
+ "null",
2530
+ "string"
2531
+ ]
2532
+ },
2517
2533
  "url": {
2518
2534
  "description": "URL where gzipped tar archive of source code for build was downloaded.",
2519
2535
  "example": "https://example.com/source.tgz?token=xyz",
@@ -2634,7 +2650,15 @@
2634
2650
  "null"
2635
2651
  ],
2636
2652
  "items": {
2637
- "$ref": "#/definitions/build/definitions/buildpack"
2653
+ "description": "Buildpack to execute in a build",
2654
+ "type": [
2655
+ "object"
2656
+ ],
2657
+ "properties": {
2658
+ "url": {
2659
+ "$ref": "#/definitions/buildpack-installation/definitions/url"
2660
+ }
2661
+ }
2638
2662
  }
2639
2663
  },
2640
2664
  "created_at": {
@@ -2720,7 +2744,7 @@
2720
2744
  ]
2721
2745
  },
2722
2746
  "url": {
2723
- "description": "location of the buildpack for the app",
2747
+ "description": "location of the buildpack for the app. Either a url (unofficial buildpacks) or an internal urn (heroku official buildpacks).",
2724
2748
  "example": "https://github.com/heroku/heroku-buildpack-ruby",
2725
2749
  "readOnly": false,
2726
2750
  "type": [
@@ -2728,7 +2752,7 @@
2728
2752
  ]
2729
2753
  },
2730
2754
  "name": {
2731
- "description": "name of the buildpack for the app",
2755
+ "description": "either the shorthand name (heroku official buildpacks) or url (unofficial buildpacks) of the buildpack for the app",
2732
2756
  "example": "heroku/ruby",
2733
2757
  "readOnly": false,
2734
2758
  "type": [
@@ -2745,6 +2769,7 @@
2745
2769
  "schema": {
2746
2770
  "properties": {
2747
2771
  "updates": {
2772
+ "description": "The buildpack attribute can accept a name, a url, or a urn.",
2748
2773
  "items": {
2749
2774
  "$ref": "#/definitions/buildpack-installation/definitions/update"
2750
2775
  },
@@ -3736,6 +3761,9 @@
3736
3761
  },
3737
3762
  {
3738
3763
  "$ref": "#/definitions/release"
3764
+ },
3765
+ {
3766
+ "$ref": "#/definitions/space"
3739
3767
  }
3740
3768
  ],
3741
3769
  "readOnly": true,
@@ -3784,6 +3812,7 @@
3784
3812
  "failed-event",
3785
3813
  "formation",
3786
3814
  "release",
3815
+ "space",
3787
3816
  "user"
3788
3817
  ],
3789
3818
  "example": "app",
@@ -4087,19 +4116,19 @@
4087
4116
  "additionalProperties": false,
4088
4117
  "description": "Properties to update a process type",
4089
4118
  "properties": {
4090
- "process": {
4091
- "$ref": "#/definitions/formation/definitions/identity"
4092
- },
4093
4119
  "quantity": {
4094
4120
  "$ref": "#/definitions/formation/definitions/quantity"
4095
4121
  },
4096
4122
  "size": {
4097
4123
  "$ref": "#/definitions/formation/definitions/size"
4124
+ },
4125
+ "type": {
4126
+ "$ref": "#/definitions/formation/definitions/type"
4098
4127
  }
4099
4128
  },
4100
4129
  "readOnly": false,
4101
4130
  "required": [
4102
- "process"
4131
+ "type"
4103
4132
  ],
4104
4133
  "type": [
4105
4134
  "object"
@@ -4146,16 +4175,7 @@
4146
4175
  "items": {
4147
4176
  "$ref": "#/definitions/formation/definitions/update"
4148
4177
  },
4149
- "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\".",
4150
- "example": [
4151
- {
4152
- "quantity": 1,
4153
- "size": "standard-2X",
4154
- "type": [
4155
- "web"
4156
- ]
4157
- }
4158
- ]
4178
+ "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\"."
4159
4179
  }
4160
4180
  },
4161
4181
  "required": [
@@ -4368,14 +4388,8 @@
4368
4388
  "items": {
4369
4389
  "$ref": "#/definitions/inbound-ruleset/definitions/rule"
4370
4390
  }
4371
- },
4372
- "default_action": {
4373
- "$ref": "#/definitions/inbound-ruleset/definitions/action"
4374
4391
  }
4375
- },
4376
- "required": [
4377
- "default_action"
4378
- ]
4392
+ }
4379
4393
  },
4380
4394
  "title": "Create"
4381
4395
  }
@@ -4395,9 +4409,6 @@
4395
4409
  "$ref": "#/definitions/inbound-ruleset/definitions/rule"
4396
4410
  }
4397
4411
  },
4398
- "default_action": {
4399
- "$ref": "#/definitions/inbound-ruleset/definitions/action"
4400
- },
4401
4412
  "created_by": {
4402
4413
  "$ref": "#/definitions/account/definitions/email"
4403
4414
  }
@@ -5541,6 +5552,24 @@
5541
5552
  },
5542
5553
  "updated_at": {
5543
5554
  "$ref": "#/definitions/oauth-authorization/definitions/updated_at"
5555
+ },
5556
+ "user": {
5557
+ "description": "authenticated user associated with this authorization",
5558
+ "properties": {
5559
+ "id": {
5560
+ "$ref": "#/definitions/account/definitions/id"
5561
+ },
5562
+ "email": {
5563
+ "$ref": "#/definitions/account/definitions/email"
5564
+ },
5565
+ "full_name": {
5566
+ "$ref": "#/definitions/account/definitions/name"
5567
+ }
5568
+ },
5569
+ "strictProperties": true,
5570
+ "type": [
5571
+ "object"
5572
+ ]
5544
5573
  }
5545
5574
  }
5546
5575
  },
@@ -7936,18 +7965,17 @@
7936
7965
  }
7937
7966
  }
7938
7967
  },
7939
- "plan": {
7940
- "description": "Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.",
7968
+ "pipeline-coupling": {
7969
+ "description": "Information about an app's coupling to a pipeline",
7941
7970
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7942
- "stability": "production",
7943
- "strictProperties": true,
7944
- "title": "Heroku Platform API - Plan",
7971
+ "stability": "prototype",
7972
+ "title": "Heroku Platform API - Pipeline Coupling",
7945
7973
  "type": [
7946
7974
  "object"
7947
7975
  ],
7948
7976
  "definitions": {
7949
7977
  "created_at": {
7950
- "description": "when plan was created",
7978
+ "description": "when pipeline coupling was created",
7951
7979
  "example": "2012-01-01T12:00:00Z",
7952
7980
  "format": "date-time",
7953
7981
  "readOnly": true,
@@ -7955,32 +7983,8 @@
7955
7983
  "string"
7956
7984
  ]
7957
7985
  },
7958
- "default": {
7959
- "description": "whether this plan is the default for its addon service",
7960
- "example": false,
7961
- "readOnly": true,
7962
- "type": [
7963
- "boolean"
7964
- ]
7965
- },
7966
- "description": {
7967
- "description": "description of plan",
7968
- "example": "Heroku Postgres Dev",
7969
- "readOnly": true,
7970
- "type": [
7971
- "string"
7972
- ]
7973
- },
7974
- "human_name": {
7975
- "description": "human readable name of the addon plan",
7976
- "example": "Dev",
7977
- "readOnly": true,
7978
- "type": [
7979
- "string"
7980
- ]
7981
- },
7982
7986
  "id": {
7983
- "description": "unique identifier of this plan",
7987
+ "description": "unique identifier of pipeline coupling",
7984
7988
  "example": "01234567-89ab-cdef-0123-456789abcdef",
7985
7989
  "format": "uuid",
7986
7990
  "readOnly": true,
@@ -7991,47 +7995,25 @@
7991
7995
  "identity": {
7992
7996
  "anyOf": [
7993
7997
  {
7994
- "$ref": "#/definitions/plan/definitions/id"
7995
- },
7996
- {
7997
- "$ref": "#/definitions/plan/definitions/name"
7998
+ "$ref": "#/definitions/pipeline-coupling/definitions/id"
7998
7999
  }
7999
8000
  ]
8000
8001
  },
8001
- "name": {
8002
- "description": "unique name of this plan",
8003
- "example": "heroku-postgresql:dev",
8004
- "readOnly": true,
8005
- "type": [
8006
- "string"
8007
- ]
8008
- },
8009
- "cents": {
8010
- "description": "price in cents per unit of plan",
8011
- "example": 0,
8012
- "readOnly": true,
8013
- "type": [
8014
- "integer"
8015
- ]
8016
- },
8017
- "unit": {
8018
- "description": "unit of price for plan",
8019
- "example": "month",
8020
- "readOnly": true,
8021
- "type": [
8022
- "string"
8023
- ]
8024
- },
8025
- "state": {
8026
- "description": "release status for plan",
8027
- "example": "public",
8028
- "readOnly": true,
8002
+ "stage": {
8003
+ "description": "target pipeline stage",
8004
+ "example": "production",
8005
+ "enum": [
8006
+ "review",
8007
+ "development",
8008
+ "staging",
8009
+ "production"
8010
+ ],
8029
8011
  "type": [
8030
8012
  "string"
8031
8013
  ]
8032
8014
  },
8033
8015
  "updated_at": {
8034
- "description": "when plan was updated",
8016
+ "description": "when pipeline coupling was updated",
8035
8017
  "example": "2012-01-01T12:00:00Z",
8036
8018
  "format": "date-time",
8037
8019
  "readOnly": true,
@@ -8042,91 +8024,838 @@
8042
8024
  },
8043
8025
  "links": [
8044
8026
  {
8045
- "description": "Info for existing plan.",
8046
- "href": "/addon-services/{(%23%2Fdefinitions%2Faddon-service%2Fdefinitions%2Fidentity)}/plans/{(%23%2Fdefinitions%2Fplan%2Fdefinitions%2Fidentity)}",
8027
+ "description": "List couplings for a pipeline",
8028
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/pipeline-couplings",
8047
8029
  "method": "GET",
8048
- "rel": "self",
8030
+ "rel": "instances",
8049
8031
  "targetSchema": {
8050
- "$ref": "#/definitions/plan"
8032
+ "items": {
8033
+ "$ref": "#/definitions/pipeline-coupling"
8034
+ },
8035
+ "type": [
8036
+ "array"
8037
+ ]
8051
8038
  },
8052
- "title": "Info"
8039
+ "title": "List"
8053
8040
  },
8054
8041
  {
8055
- "description": "List existing plans.",
8056
- "href": "/addon-services/{(%23%2Fdefinitions%2Faddon-service%2Fdefinitions%2Fidentity)}/plans",
8042
+ "description": "List pipeline couplings.",
8043
+ "href": "/pipeline-couplings",
8057
8044
  "method": "GET",
8058
8045
  "rel": "instances",
8059
8046
  "targetSchema": {
8060
8047
  "items": {
8061
- "$ref": "#/definitions/plan"
8048
+ "$ref": "#/definitions/pipeline-coupling"
8062
8049
  },
8063
8050
  "type": [
8064
8051
  "array"
8065
8052
  ]
8066
8053
  },
8067
8054
  "title": "List"
8055
+ },
8056
+ {
8057
+ "description": "Create a new pipeline coupling.",
8058
+ "href": "/pipeline-couplings",
8059
+ "method": "POST",
8060
+ "rel": "create",
8061
+ "schema": {
8062
+ "properties": {
8063
+ "app": {
8064
+ "$ref": "#/definitions/app/definitions/identity"
8065
+ },
8066
+ "pipeline": {
8067
+ "$ref": "#/definitions/pipeline/definitions/identity"
8068
+ },
8069
+ "stage": {
8070
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
8071
+ }
8072
+ },
8073
+ "required": [
8074
+ "app",
8075
+ "pipeline",
8076
+ "stage"
8077
+ ],
8078
+ "type": [
8079
+ "object"
8080
+ ]
8081
+ },
8082
+ "targetSchema": {
8083
+ "$ref": "#/definitions/pipeline-coupling"
8084
+ },
8085
+ "title": "Create"
8086
+ },
8087
+ {
8088
+ "description": "Info for an existing pipeline coupling.",
8089
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
8090
+ "method": "GET",
8091
+ "rel": "self",
8092
+ "targetSchema": {
8093
+ "$ref": "#/definitions/pipeline-coupling"
8094
+ },
8095
+ "title": "Info"
8096
+ },
8097
+ {
8098
+ "description": "Delete an existing pipeline coupling.",
8099
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
8100
+ "method": "DELETE",
8101
+ "rel": "delete",
8102
+ "targetSchema": {
8103
+ "$ref": "#/definitions/pipeline-coupling"
8104
+ },
8105
+ "title": "Delete"
8106
+ },
8107
+ {
8108
+ "description": "Update an existing pipeline coupling.",
8109
+ "href": "/pipeline-couplings/{(%23%2Fdefinitions%2Fpipeline-coupling%2Fdefinitions%2Fidentity)}",
8110
+ "method": "PATCH",
8111
+ "rel": "update",
8112
+ "schema": {
8113
+ "properties": {
8114
+ "stage": {
8115
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
8116
+ }
8117
+ },
8118
+ "type": [
8119
+ "object"
8120
+ ]
8121
+ },
8122
+ "targetSchema": {
8123
+ "$ref": "#/definitions/pipeline-coupling"
8124
+ },
8125
+ "title": "Update"
8126
+ },
8127
+ {
8128
+ "description": "Info for an existing pipeline coupling.",
8129
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/pipeline-couplings",
8130
+ "method": "GET",
8131
+ "rel": "self",
8132
+ "targetSchema": {
8133
+ "$ref": "#/definitions/pipeline-coupling"
8134
+ },
8135
+ "title": "Info"
8068
8136
  }
8069
8137
  ],
8070
8138
  "properties": {
8071
- "created_at": {
8072
- "$ref": "#/definitions/plan/definitions/created_at"
8073
- },
8074
- "default": {
8075
- "$ref": "#/definitions/plan/definitions/default"
8076
- },
8077
- "description": {
8078
- "$ref": "#/definitions/plan/definitions/description"
8139
+ "app": {
8140
+ "description": "app involved in the pipeline coupling",
8141
+ "properties": {
8142
+ "id": {
8143
+ "$ref": "#/definitions/app/definitions/id"
8144
+ }
8145
+ },
8146
+ "type": [
8147
+ "object"
8148
+ ]
8079
8149
  },
8080
- "human_name": {
8081
- "$ref": "#/definitions/plan/definitions/human_name"
8150
+ "created_at": {
8151
+ "$ref": "#/definitions/pipeline-coupling/definitions/created_at"
8082
8152
  },
8083
8153
  "id": {
8084
- "$ref": "#/definitions/plan/definitions/id"
8085
- },
8086
- "name": {
8087
- "$ref": "#/definitions/plan/definitions/name"
8154
+ "$ref": "#/definitions/pipeline-coupling/definitions/id"
8088
8155
  },
8089
- "price": {
8090
- "description": "price",
8156
+ "pipeline": {
8157
+ "description": "pipeline involved in the coupling",
8091
8158
  "properties": {
8092
- "cents": {
8093
- "$ref": "#/definitions/plan/definitions/cents"
8094
- },
8095
- "unit": {
8096
- "$ref": "#/definitions/plan/definitions/unit"
8159
+ "id": {
8160
+ "$ref": "#/definitions/pipeline/definitions/id"
8097
8161
  }
8098
8162
  },
8099
- "strictProperties": true,
8100
8163
  "type": [
8101
8164
  "object"
8102
8165
  ]
8103
8166
  },
8104
- "state": {
8105
- "$ref": "#/definitions/plan/definitions/state"
8167
+ "stage": {
8168
+ "$ref": "#/definitions/pipeline-coupling/definitions/stage"
8106
8169
  },
8107
8170
  "updated_at": {
8108
- "$ref": "#/definitions/plan/definitions/updated_at"
8171
+ "$ref": "#/definitions/pipeline-coupling/definitions/updated_at"
8109
8172
  }
8110
8173
  }
8111
8174
  },
8112
- "rate-limit": {
8113
- "description": "Rate Limit represents the number of request tokens each account holds. Requests to this endpoint do not count towards the rate limit.",
8175
+ "pipeline-promotion-target": {
8176
+ "description": "Promotion targets represent an individual app being promoted to",
8114
8177
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
8115
- "stability": "production",
8178
+ "stability": "prototype",
8116
8179
  "strictProperties": true,
8117
- "title": "Heroku Platform API - Rate Limit",
8180
+ "title": "Heroku Platform API - Pipeline Promotion Target",
8118
8181
  "type": [
8119
8182
  "object"
8120
8183
  ],
8121
8184
  "definitions": {
8122
- "identity": {
8185
+ "error_message": {
8186
+ "description": "an error message for why the promotion failed",
8187
+ "example": "User does not have access to that app",
8188
+ "type": [
8189
+ "null",
8190
+ "string"
8191
+ ]
8123
8192
  },
8124
- "remaining": {
8125
- "description": "allowed requests remaining in current interval",
8126
- "example": 2399,
8193
+ "id": {
8194
+ "description": "unique identifier of promotion target",
8195
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
8127
8196
  "readOnly": true,
8197
+ "format": "uuid",
8128
8198
  "type": [
8129
- "integer"
8199
+ "string"
8200
+ ]
8201
+ },
8202
+ "identity": {
8203
+ "anyOf": [
8204
+ {
8205
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/id"
8206
+ }
8207
+ ]
8208
+ },
8209
+ "status": {
8210
+ "description": "status of promotion",
8211
+ "example": "pending",
8212
+ "readOnly": true,
8213
+ "enum": [
8214
+ "pending",
8215
+ "succeeded",
8216
+ "failed"
8217
+ ],
8218
+ "type": [
8219
+ "string"
8220
+ ]
8221
+ }
8222
+ },
8223
+ "links": [
8224
+ {
8225
+ "description": "List promotion targets belonging to an existing promotion.",
8226
+ "href": "/pipeline-promotions/{(%23%2Fdefinitions%2Fpipeline-promotion%2Fdefinitions%2Fid)}/promotion-targets",
8227
+ "method": "GET",
8228
+ "rel": "instances",
8229
+ "targetSchema": {
8230
+ "items": {
8231
+ "$ref": "#/definitions/pipeline-promotion-target"
8232
+ },
8233
+ "type": [
8234
+ "array"
8235
+ ]
8236
+ },
8237
+ "title": "List"
8238
+ }
8239
+ ],
8240
+ "properties": {
8241
+ "app": {
8242
+ "description": "the app which was promoted to",
8243
+ "properties": {
8244
+ "id": {
8245
+ "$ref": "#/definitions/app/definitions/id"
8246
+ }
8247
+ },
8248
+ "strictProperties": true,
8249
+ "type": [
8250
+ "object"
8251
+ ]
8252
+ },
8253
+ "error_message": {
8254
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/error_message"
8255
+ },
8256
+ "id": {
8257
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/id"
8258
+ },
8259
+ "pipeline_promotion": {
8260
+ "description": "the promotion which the target belongs to",
8261
+ "properties": {
8262
+ "id": {
8263
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
8264
+ }
8265
+ },
8266
+ "strictProperties": true,
8267
+ "type": [
8268
+ "object"
8269
+ ]
8270
+ },
8271
+ "release": {
8272
+ "description": "the release which was created on the target app",
8273
+ "properties": {
8274
+ "id": {
8275
+ "$ref": "#/definitions/release/definitions/id"
8276
+ }
8277
+ },
8278
+ "type": [
8279
+ "object",
8280
+ "null"
8281
+ ]
8282
+ },
8283
+ "status": {
8284
+ "$ref": "#/definitions/pipeline-promotion-target/definitions/status"
8285
+ }
8286
+ }
8287
+ },
8288
+ "pipeline-promotion": {
8289
+ "description": "Promotions allow you to move code from an app in a pipeline to all targets",
8290
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
8291
+ "stability": "prototype",
8292
+ "strictProperties": true,
8293
+ "title": "Heroku Platform API - Pipeline Promotion",
8294
+ "type": [
8295
+ "object"
8296
+ ],
8297
+ "definitions": {
8298
+ "created_at": {
8299
+ "description": "when promotion was created",
8300
+ "example": "2012-01-01T12:00:00Z",
8301
+ "format": "date-time",
8302
+ "type": [
8303
+ "string"
8304
+ ]
8305
+ },
8306
+ "id": {
8307
+ "description": "unique identifier of promotion",
8308
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
8309
+ "readOnly": true,
8310
+ "format": "uuid",
8311
+ "type": [
8312
+ "string"
8313
+ ]
8314
+ },
8315
+ "identity": {
8316
+ "anyOf": [
8317
+ {
8318
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
8319
+ }
8320
+ ]
8321
+ },
8322
+ "status": {
8323
+ "description": "status of promotion",
8324
+ "example": "pending",
8325
+ "readOnly": true,
8326
+ "enum": [
8327
+ "pending",
8328
+ "completed"
8329
+ ],
8330
+ "type": [
8331
+ "string"
8332
+ ]
8333
+ },
8334
+ "updated_at": {
8335
+ "description": "when promotion was updated",
8336
+ "example": "2012-01-01T12:00:00Z",
8337
+ "format": "date-time",
8338
+ "type": [
8339
+ "string",
8340
+ "null"
8341
+ ]
8342
+ }
8343
+ },
8344
+ "links": [
8345
+ {
8346
+ "description": "Create a new promotion.",
8347
+ "href": "/pipeline-promotions",
8348
+ "method": "POST",
8349
+ "rel": "create",
8350
+ "schema": {
8351
+ "properties": {
8352
+ "pipeline": {
8353
+ "description": "pipeline involved in the promotion",
8354
+ "properties": {
8355
+ "id": {
8356
+ "$ref": "#/definitions/pipeline/definitions/id"
8357
+ }
8358
+ },
8359
+ "required": [
8360
+ "id"
8361
+ ],
8362
+ "type": [
8363
+ "object"
8364
+ ]
8365
+ },
8366
+ "source": {
8367
+ "description": "the app being promoted from",
8368
+ "properties": {
8369
+ "app": {
8370
+ "description": "the app which was promoted from",
8371
+ "properties": {
8372
+ "id": {
8373
+ "$ref": "#/definitions/app/definitions/id"
8374
+ }
8375
+ },
8376
+ "strictProperties": true,
8377
+ "type": [
8378
+ "object"
8379
+ ]
8380
+ }
8381
+ }
8382
+ },
8383
+ "targets": {
8384
+ "items": {
8385
+ "properties": {
8386
+ "app": {
8387
+ "description": "the app is being promoted to",
8388
+ "properties": {
8389
+ "id": {
8390
+ "$ref": "#/definitions/app/definitions/id"
8391
+ }
8392
+ },
8393
+ "strictProperties": true,
8394
+ "type": [
8395
+ "object"
8396
+ ]
8397
+ }
8398
+ }
8399
+ }
8400
+ }
8401
+ },
8402
+ "required": [
8403
+ "pipeline",
8404
+ "source",
8405
+ "targets"
8406
+ ],
8407
+ "type": [
8408
+ "object"
8409
+ ]
8410
+ },
8411
+ "title": "Create"
8412
+ },
8413
+ {
8414
+ "description": "Info for existing pipeline promotion.",
8415
+ "href": "/pipeline-promotions/{(%23%2Fdefinitions%2Fpipeline-promotion%2Fdefinitions%2Fidentity)}",
8416
+ "method": "GET",
8417
+ "rel": "self",
8418
+ "targetSchema": {
8419
+ "$ref": "#/definitions/pipeline-promotion"
8420
+ },
8421
+ "title": "Info"
8422
+ }
8423
+ ],
8424
+ "properties": {
8425
+ "created_at": {
8426
+ "$ref": "#/definitions/pipeline-promotion/definitions/created_at"
8427
+ },
8428
+ "id": {
8429
+ "$ref": "#/definitions/pipeline-promotion/definitions/id"
8430
+ },
8431
+ "pipeline": {
8432
+ "description": "the pipeline which the promotion belongs to",
8433
+ "properties": {
8434
+ "id": {
8435
+ "$ref": "#/definitions/pipeline/definitions/id"
8436
+ }
8437
+ },
8438
+ "strictProperties": true,
8439
+ "type": [
8440
+ "object"
8441
+ ]
8442
+ },
8443
+ "source": {
8444
+ "description": "the app being promoted from",
8445
+ "properties": {
8446
+ "app": {
8447
+ "description": "the app which was promoted from",
8448
+ "properties": {
8449
+ "id": {
8450
+ "$ref": "#/definitions/app/definitions/id"
8451
+ }
8452
+ },
8453
+ "strictProperties": true,
8454
+ "type": [
8455
+ "object"
8456
+ ]
8457
+ },
8458
+ "release": {
8459
+ "description": "the release used to promoted from",
8460
+ "properties": {
8461
+ "id": {
8462
+ "$ref": "#/definitions/release/definitions/id"
8463
+ }
8464
+ },
8465
+ "type": [
8466
+ "object"
8467
+ ]
8468
+ }
8469
+ },
8470
+ "strictProperties": true,
8471
+ "type": [
8472
+ "object"
8473
+ ]
8474
+ },
8475
+ "status": {
8476
+ "$ref": "#/definitions/pipeline-promotion/definitions/status"
8477
+ },
8478
+ "updated_at": {
8479
+ "$ref": "#/definitions/pipeline-promotion/definitions/updated_at"
8480
+ }
8481
+ }
8482
+ },
8483
+ "pipeline": {
8484
+ "description": "A pipeline allows grouping of apps into different stages.",
8485
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
8486
+ "stability": "prototype",
8487
+ "strictProperties": true,
8488
+ "title": "Heroku Platform API - Pipeline",
8489
+ "type": [
8490
+ "object"
8491
+ ],
8492
+ "definitions": {
8493
+ "created_at": {
8494
+ "description": "when pipeline was created",
8495
+ "example": "2012-01-01T12:00:00Z",
8496
+ "format": "date-time",
8497
+ "readOnly": true,
8498
+ "type": [
8499
+ "string"
8500
+ ]
8501
+ },
8502
+ "id": {
8503
+ "description": "unique identifier of pipeline",
8504
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
8505
+ "format": "uuid",
8506
+ "readOnly": true,
8507
+ "type": [
8508
+ "string"
8509
+ ]
8510
+ },
8511
+ "identity": {
8512
+ "anyOf": [
8513
+ {
8514
+ "$ref": "#/definitions/pipeline/definitions/id"
8515
+ },
8516
+ {
8517
+ "$ref": "#/definitions/pipeline/definitions/name"
8518
+ }
8519
+ ]
8520
+ },
8521
+ "name": {
8522
+ "description": "name of pipeline",
8523
+ "example": "example",
8524
+ "pattern": "^[a-z][a-z0-9-]{2,29}$",
8525
+ "readOnly": false,
8526
+ "type": [
8527
+ "string"
8528
+ ]
8529
+ },
8530
+ "updated_at": {
8531
+ "description": "when pipeline was updated",
8532
+ "example": "2012-01-01T12:00:00Z",
8533
+ "format": "date-time",
8534
+ "readOnly": true,
8535
+ "type": [
8536
+ "string"
8537
+ ]
8538
+ }
8539
+ },
8540
+ "links": [
8541
+ {
8542
+ "description": "Create a new pipeline.",
8543
+ "href": "/pipelines",
8544
+ "method": "POST",
8545
+ "rel": "create",
8546
+ "schema": {
8547
+ "properties": {
8548
+ "name": {
8549
+ "$ref": "#/definitions/pipeline/definitions/name"
8550
+ }
8551
+ },
8552
+ "required": [
8553
+ "name"
8554
+ ],
8555
+ "type": [
8556
+ "object"
8557
+ ]
8558
+ },
8559
+ "targetSchema": {
8560
+ "$ref": "#/definitions/pipeline"
8561
+ },
8562
+ "title": "Create"
8563
+ },
8564
+ {
8565
+ "description": "Info for existing pipeline.",
8566
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}",
8567
+ "method": "GET",
8568
+ "rel": "self",
8569
+ "targetSchema": {
8570
+ "$ref": "#/definitions/pipeline"
8571
+ },
8572
+ "title": "Info"
8573
+ },
8574
+ {
8575
+ "description": "Delete an existing pipeline.",
8576
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}",
8577
+ "method": "DELETE",
8578
+ "rel": "delete",
8579
+ "targetSchema": {
8580
+ "$ref": "#/definitions/pipeline"
8581
+ },
8582
+ "title": "Delete"
8583
+ },
8584
+ {
8585
+ "description": "Update an existing pipeline.",
8586
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}",
8587
+ "method": "PATCH",
8588
+ "rel": "update",
8589
+ "schema": {
8590
+ "properties": {
8591
+ "name": {
8592
+ "$ref": "#/definitions/pipeline/definitions/name"
8593
+ }
8594
+ },
8595
+ "type": [
8596
+ "object"
8597
+ ]
8598
+ },
8599
+ "targetSchema": {
8600
+ "$ref": "#/definitions/pipeline"
8601
+ },
8602
+ "title": "Update"
8603
+ },
8604
+ {
8605
+ "description": "List existing pipelines.",
8606
+ "href": "/pipelines",
8607
+ "method": "GET",
8608
+ "rel": "instances",
8609
+ "targetSchema": {
8610
+ "items": {
8611
+ "$ref": "#/definitions/pipeline"
8612
+ }
8613
+ },
8614
+ "type": [
8615
+ "array"
8616
+ ],
8617
+ "title": "List"
8618
+ }
8619
+ ],
8620
+ "properties": {
8621
+ "created_at": {
8622
+ "$ref": "#/definitions/pipeline/definitions/created_at"
8623
+ },
8624
+ "id": {
8625
+ "$ref": "#/definitions/pipeline/definitions/id"
8626
+ },
8627
+ "name": {
8628
+ "$ref": "#/definitions/pipeline/definitions/name"
8629
+ },
8630
+ "updated_at": {
8631
+ "$ref": "#/definitions/pipeline/definitions/updated_at"
8632
+ }
8633
+ }
8634
+ },
8635
+ "plan": {
8636
+ "description": "Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.",
8637
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
8638
+ "stability": "production",
8639
+ "strictProperties": true,
8640
+ "title": "Heroku Platform API - Plan",
8641
+ "type": [
8642
+ "object"
8643
+ ],
8644
+ "definitions": {
8645
+ "created_at": {
8646
+ "description": "when plan was created",
8647
+ "example": "2012-01-01T12:00:00Z",
8648
+ "format": "date-time",
8649
+ "readOnly": true,
8650
+ "type": [
8651
+ "string"
8652
+ ]
8653
+ },
8654
+ "default": {
8655
+ "description": "whether this plan is the default for its addon service",
8656
+ "example": false,
8657
+ "readOnly": true,
8658
+ "type": [
8659
+ "boolean"
8660
+ ]
8661
+ },
8662
+ "description": {
8663
+ "description": "description of plan",
8664
+ "example": "Heroku Postgres Dev",
8665
+ "readOnly": true,
8666
+ "type": [
8667
+ "string"
8668
+ ]
8669
+ },
8670
+ "human_name": {
8671
+ "description": "human readable name of the addon plan",
8672
+ "example": "Dev",
8673
+ "readOnly": true,
8674
+ "type": [
8675
+ "string"
8676
+ ]
8677
+ },
8678
+ "id": {
8679
+ "description": "unique identifier of this plan",
8680
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
8681
+ "format": "uuid",
8682
+ "readOnly": true,
8683
+ "type": [
8684
+ "string"
8685
+ ]
8686
+ },
8687
+ "installable_inside_private_network": {
8688
+ "description": "whether this plan is installable to a Private Spaces app",
8689
+ "example": false,
8690
+ "readOnly": true,
8691
+ "type": [
8692
+ "boolean"
8693
+ ]
8694
+ },
8695
+ "installable_outside_private_network": {
8696
+ "description": "whether this plan is installable to a Common Runtime app",
8697
+ "example": true,
8698
+ "readOnly": true,
8699
+ "type": [
8700
+ "boolean"
8701
+ ]
8702
+ },
8703
+ "identity": {
8704
+ "anyOf": [
8705
+ {
8706
+ "$ref": "#/definitions/plan/definitions/id"
8707
+ },
8708
+ {
8709
+ "$ref": "#/definitions/plan/definitions/name"
8710
+ }
8711
+ ]
8712
+ },
8713
+ "name": {
8714
+ "description": "unique name of this plan",
8715
+ "example": "heroku-postgresql:dev",
8716
+ "readOnly": true,
8717
+ "type": [
8718
+ "string"
8719
+ ]
8720
+ },
8721
+ "cents": {
8722
+ "description": "price in cents per unit of plan",
8723
+ "example": 0,
8724
+ "readOnly": true,
8725
+ "type": [
8726
+ "integer"
8727
+ ]
8728
+ },
8729
+ "unit": {
8730
+ "description": "unit of price for plan",
8731
+ "example": "month",
8732
+ "readOnly": true,
8733
+ "type": [
8734
+ "string"
8735
+ ]
8736
+ },
8737
+ "space_default": {
8738
+ "description": "whether this plan is the default for apps in Private Spaces",
8739
+ "example": false,
8740
+ "readOnly": true,
8741
+ "type": [
8742
+ "boolean"
8743
+ ]
8744
+ },
8745
+ "state": {
8746
+ "description": "release status for plan",
8747
+ "example": "public",
8748
+ "readOnly": true,
8749
+ "type": [
8750
+ "string"
8751
+ ]
8752
+ },
8753
+ "updated_at": {
8754
+ "description": "when plan was updated",
8755
+ "example": "2012-01-01T12:00:00Z",
8756
+ "format": "date-time",
8757
+ "readOnly": true,
8758
+ "type": [
8759
+ "string"
8760
+ ]
8761
+ }
8762
+ },
8763
+ "links": [
8764
+ {
8765
+ "description": "Info for existing plan.",
8766
+ "href": "/addon-services/{(%23%2Fdefinitions%2Faddon-service%2Fdefinitions%2Fidentity)}/plans/{(%23%2Fdefinitions%2Fplan%2Fdefinitions%2Fidentity)}",
8767
+ "method": "GET",
8768
+ "rel": "self",
8769
+ "targetSchema": {
8770
+ "$ref": "#/definitions/plan"
8771
+ },
8772
+ "title": "Info"
8773
+ },
8774
+ {
8775
+ "description": "List existing plans.",
8776
+ "href": "/addon-services/{(%23%2Fdefinitions%2Faddon-service%2Fdefinitions%2Fidentity)}/plans",
8777
+ "method": "GET",
8778
+ "rel": "instances",
8779
+ "targetSchema": {
8780
+ "items": {
8781
+ "$ref": "#/definitions/plan"
8782
+ },
8783
+ "type": [
8784
+ "array"
8785
+ ]
8786
+ },
8787
+ "title": "List"
8788
+ }
8789
+ ],
8790
+ "properties": {
8791
+ "created_at": {
8792
+ "$ref": "#/definitions/plan/definitions/created_at"
8793
+ },
8794
+ "default": {
8795
+ "$ref": "#/definitions/plan/definitions/default"
8796
+ },
8797
+ "description": {
8798
+ "$ref": "#/definitions/plan/definitions/description"
8799
+ },
8800
+ "human_name": {
8801
+ "$ref": "#/definitions/plan/definitions/human_name"
8802
+ },
8803
+ "id": {
8804
+ "$ref": "#/definitions/plan/definitions/id"
8805
+ },
8806
+ "installable_inside_private_network": {
8807
+ "$ref": "#/definitions/plan/definitions/installable_inside_private_network"
8808
+ },
8809
+ "installable_outside_private_network": {
8810
+ "$ref": "#/definitions/plan/definitions/installable_outside_private_network"
8811
+ },
8812
+ "name": {
8813
+ "$ref": "#/definitions/plan/definitions/name"
8814
+ },
8815
+ "price": {
8816
+ "description": "price",
8817
+ "properties": {
8818
+ "cents": {
8819
+ "$ref": "#/definitions/plan/definitions/cents"
8820
+ },
8821
+ "unit": {
8822
+ "$ref": "#/definitions/plan/definitions/unit"
8823
+ }
8824
+ },
8825
+ "strictProperties": true,
8826
+ "type": [
8827
+ "object"
8828
+ ]
8829
+ },
8830
+ "space_default": {
8831
+ "$ref": "#/definitions/plan/definitions/space_default"
8832
+ },
8833
+ "state": {
8834
+ "$ref": "#/definitions/plan/definitions/state"
8835
+ },
8836
+ "updated_at": {
8837
+ "$ref": "#/definitions/plan/definitions/updated_at"
8838
+ }
8839
+ }
8840
+ },
8841
+ "rate-limit": {
8842
+ "description": "Rate Limit represents the number of request tokens each account holds. Requests to this endpoint do not count towards the rate limit.",
8843
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
8844
+ "stability": "production",
8845
+ "strictProperties": true,
8846
+ "title": "Heroku Platform API - Rate Limit",
8847
+ "type": [
8848
+ "object"
8849
+ ],
8850
+ "definitions": {
8851
+ "identity": {
8852
+ },
8853
+ "remaining": {
8854
+ "description": "allowed requests remaining in current interval",
8855
+ "example": 2399,
8856
+ "readOnly": true,
8857
+ "type": [
8858
+ "integer"
8130
8859
  ]
8131
8860
  }
8132
8861
  },
@@ -8247,7 +8976,7 @@
8247
8976
  ]
8248
8977
  },
8249
8978
  "private_capable": {
8250
- "description": "whether or not region is available for creating a private space",
8979
+ "description": "whether or not region is available for creating a Private Space",
8251
8980
  "example": false,
8252
8981
  "readOnly": true,
8253
8982
  "type": [
@@ -8688,27 +9417,6 @@
8688
9417
  "method": "POST",
8689
9418
  "rel": "create",
8690
9419
  "schema": {
8691
- "example": {
8692
- "blob": {
8693
- "method": "PUT",
8694
- "url": "https://api.heroku.com/slugs/1234.tgz"
8695
- },
8696
- "buildpack_provided_description": "Ruby/Rack",
8697
- "checksum": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
8698
- "commit": "60883d9e8947a57e04dc9124f25df004866a2051",
8699
- "commit_description": "fixed a bug with API documentation",
8700
- "created_at": "2012-01-01T12:00:00Z",
8701
- "id": "01234567-89ab-cdef-0123-456789abcdef",
8702
- "process_types": {
8703
- "web": "./bin/web -p $PORT"
8704
- },
8705
- "size": 2048,
8706
- "stack": {
8707
- "id": "01234567-89ab-cdef-0123-456789abcdef",
8708
- "name": "cedar-14"
8709
- },
8710
- "updated_at\"": "2012-01-01T12:00:00Z"
8711
- },
8712
9420
  "properties": {
8713
9421
  "buildpack_provided_description": {
8714
9422
  "$ref": "#/definitions/slug/definitions/buildpack_provided_description"
@@ -8737,7 +9445,28 @@
8737
9445
  ]
8738
9446
  },
8739
9447
  "targetSchema": {
8740
- "$ref": "#/definitions/slug"
9448
+ "$ref": "#/definitions/slug",
9449
+ "example": {
9450
+ "blob": {
9451
+ "method": "PUT",
9452
+ "url": "https://api.heroku.com/slugs/1234.tgz"
9453
+ },
9454
+ "buildpack_provided_description": "Ruby/Rack",
9455
+ "checksum": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
9456
+ "commit": "60883d9e8947a57e04dc9124f25df004866a2051",
9457
+ "commit_description": "fixed a bug with API documentation",
9458
+ "created_at": "2012-01-01T12:00:00Z",
9459
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
9460
+ "process_types": {
9461
+ "web": "./bin/web -p $PORT"
9462
+ },
9463
+ "size": 2048,
9464
+ "stack": {
9465
+ "id": "01234567-89ab-cdef-0123-456789abcdef",
9466
+ "name": "cedar-14"
9467
+ },
9468
+ "updated_at": "2012-01-01T12:00:00Z"
9469
+ }
8741
9470
  },
8742
9471
  "title": "Create"
8743
9472
  }
@@ -8911,6 +9640,155 @@
8911
9640
  }
8912
9641
  }
8913
9642
  },
9643
+ "space-app-access": {
9644
+ "description": "Space access represents the privileges a particular user has on a particular space.",
9645
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
9646
+ "stability": "prototype",
9647
+ "title": "Heroku Platform API - Space Access",
9648
+ "type": [
9649
+ "object"
9650
+ ],
9651
+ "definitions": {
9652
+ "id": {
9653
+ "description": "unique identifier of the space a user has privileges on",
9654
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
9655
+ "format": "uuid",
9656
+ "readOnly": true,
9657
+ "type": [
9658
+ "string"
9659
+ ]
9660
+ },
9661
+ "identity": {
9662
+ "anyOf": [
9663
+ {
9664
+ "$ref": "#/definitions/space-app-access/definitions/id"
9665
+ }
9666
+ ]
9667
+ }
9668
+ },
9669
+ "links": [
9670
+ {
9671
+ "description": "List privileges for a given user on a given space.",
9672
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
9673
+ "method": "GET",
9674
+ "rel": "self",
9675
+ "targetSchema": {
9676
+ "$ref": "#/definitions/space-app-access"
9677
+ },
9678
+ "title": "Info"
9679
+ },
9680
+ {
9681
+ "description": "Update an existing user's set of privileges on a space.",
9682
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
9683
+ "method": "PATCH",
9684
+ "rel": "update",
9685
+ "schema": {
9686
+ "properties": {
9687
+ "privileges": {
9688
+ "type": [
9689
+ "array"
9690
+ ],
9691
+ "items": {
9692
+ "type": [
9693
+ "object"
9694
+ ],
9695
+ "properties": {
9696
+ "name": {
9697
+ "type": [
9698
+ "string"
9699
+ ]
9700
+ }
9701
+ }
9702
+ }
9703
+ }
9704
+ }
9705
+ },
9706
+ "targetSchema": {
9707
+ "$ref": "#/definitions/space-app-access"
9708
+ },
9709
+ "title": "Update"
9710
+ },
9711
+ {
9712
+ "description": "List all users and their privileges on a space.",
9713
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/members",
9714
+ "method": "GET",
9715
+ "rel": "instances",
9716
+ "targetSchema": {
9717
+ "items": {
9718
+ "$ref": "#/definitions/space-app-access"
9719
+ },
9720
+ "type": [
9721
+ "array"
9722
+ ]
9723
+ },
9724
+ "title": "List"
9725
+ }
9726
+ ],
9727
+ "properties": {
9728
+ "space": {
9729
+ "description": "space user belongs to",
9730
+ "properties": {
9731
+ "name": {
9732
+ "$ref": "#/definitions/app/definitions/name"
9733
+ },
9734
+ "id": {
9735
+ "$ref": "#/definitions/app/definitions/id"
9736
+ }
9737
+ },
9738
+ "strictProperties": true,
9739
+ "type": [
9740
+ "object"
9741
+ ]
9742
+ },
9743
+ "created_at": {
9744
+ "$ref": "#/definitions/space/definitions/created_at"
9745
+ },
9746
+ "id": {
9747
+ "$ref": "#/definitions/space/definitions/id"
9748
+ },
9749
+ "privileges": {
9750
+ "description": "user space privileges",
9751
+ "type": [
9752
+ "array"
9753
+ ],
9754
+ "items": {
9755
+ "type": [
9756
+ "object"
9757
+ ],
9758
+ "properties": {
9759
+ "description": {
9760
+ "type": [
9761
+ "string"
9762
+ ]
9763
+ },
9764
+ "name": {
9765
+ "type": [
9766
+ "string"
9767
+ ]
9768
+ }
9769
+ }
9770
+ }
9771
+ },
9772
+ "updated_at": {
9773
+ "$ref": "#/definitions/space/definitions/updated_at"
9774
+ },
9775
+ "user": {
9776
+ "description": "identity of user account",
9777
+ "properties": {
9778
+ "email": {
9779
+ "$ref": "#/definitions/account/definitions/email"
9780
+ },
9781
+ "id": {
9782
+ "$ref": "#/definitions/account/definitions/id"
9783
+ }
9784
+ },
9785
+ "strictProperties": true,
9786
+ "type": [
9787
+ "object"
9788
+ ]
9789
+ }
9790
+ }
9791
+ },
8914
9792
  "space-nat": {
8915
9793
  "description": "Network address translation (NAT) for stable outbound IP addresses from a space",
8916
9794
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
@@ -9558,6 +10436,15 @@
9558
10436
  "null"
9559
10437
  ]
9560
10438
  },
10439
+ "default-organization": {
10440
+ "description": "User's default organization",
10441
+ "example": "sushi-inc",
10442
+ "readOnly": false,
10443
+ "type": [
10444
+ "string",
10445
+ "null"
10446
+ ]
10447
+ },
9561
10448
  "dismissed-github-banner": {
9562
10449
  "description": "Whether the user has dismissed the GitHub link banner",
9563
10450
  "example": true,
@@ -9612,6 +10499,20 @@
9612
10499
  "null"
9613
10500
  ]
9614
10501
  },
10502
+ "dismissed-pipelines-github-banners": {
10503
+ "description": "Which pipeline uuids the user has dismissed the GitHub banner for",
10504
+ "example": [
10505
+ "96c68759-f310-4910-9867-e0b062064098"
10506
+ ],
10507
+ "readOnly": false,
10508
+ "type": [
10509
+ "null",
10510
+ "array"
10511
+ ],
10512
+ "items": {
10513
+ "$ref": "#/definitions/pipeline/definitions/id"
10514
+ }
10515
+ },
9615
10516
  "dismissed-sms-banner": {
9616
10517
  "description": "Whether the user has dismissed the 2FA SMS banner",
9617
10518
  "example": true,
@@ -9643,6 +10544,9 @@
9643
10544
  "timezone": {
9644
10545
  "$ref": "#/definitions/user-preferences/definitions/timezone"
9645
10546
  },
10547
+ "default-organization": {
10548
+ "$ref": "#/definitions/user-preferences/definitions/default-organization"
10549
+ },
9646
10550
  "dismissed-github-banner": {
9647
10551
  "$ref": "#/definitions/user-preferences/definitions/dismissed-github-banner"
9648
10552
  },
@@ -9658,6 +10562,12 @@
9658
10562
  "dismissed-pipelines-banner": {
9659
10563
  "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-banner"
9660
10564
  },
10565
+ "dismissed-pipelines-github-banner": {
10566
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banner"
10567
+ },
10568
+ "dismissed-pipelines-github-banners": {
10569
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banners"
10570
+ },
9661
10571
  "dismissed-sms-banner": {
9662
10572
  "$ref": "#/definitions/user-preferences/definitions/dismissed-sms-banner"
9663
10573
  }
@@ -9673,6 +10583,9 @@
9673
10583
  "timezone": {
9674
10584
  "$ref": "#/definitions/user-preferences/definitions/timezone"
9675
10585
  },
10586
+ "default-organization": {
10587
+ "$ref": "#/definitions/user-preferences/definitions/default-organization"
10588
+ },
9676
10589
  "dismissed-github-banner": {
9677
10590
  "$ref": "#/definitions/user-preferences/definitions/dismissed-github-banner"
9678
10591
  },
@@ -9691,6 +10604,9 @@
9691
10604
  "dismissed-pipelines-github-banner": {
9692
10605
  "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banner"
9693
10606
  },
10607
+ "dismissed-pipelines-github-banners": {
10608
+ "$ref": "#/definitions/user-preferences/definitions/dismissed-pipelines-github-banners"
10609
+ },
9694
10610
  "dismissed-sms-banner": {
9695
10611
  "$ref": "#/definitions/user-preferences/definitions/dismissed-sms-banner"
9696
10612
  }
@@ -9791,11 +10707,10 @@
9791
10707
  "rel": "create",
9792
10708
  "schema": {
9793
10709
  "properties": {
9794
- "addon": {
9795
- "description": "name of one or more Add-ons to whitelist",
10710
+ "addon_service": {
10711
+ "description": "name of the Add-on to whitelist",
9796
10712
  "example": "heroku-postgresql",
9797
10713
  "type": [
9798
- "array",
9799
10714
  "string"
9800
10715
  ]
9801
10716
  }
@@ -9968,6 +10883,18 @@
9968
10883
  "payment": {
9969
10884
  "$ref": "#/definitions/payment"
9970
10885
  },
10886
+ "pipeline-coupling": {
10887
+ "$ref": "#/definitions/pipeline-coupling"
10888
+ },
10889
+ "pipeline-promotion-target": {
10890
+ "$ref": "#/definitions/pipeline-promotion-target"
10891
+ },
10892
+ "pipeline-promotion": {
10893
+ "$ref": "#/definitions/pipeline-promotion"
10894
+ },
10895
+ "pipeline": {
10896
+ "$ref": "#/definitions/pipeline"
10897
+ },
9971
10898
  "plan": {
9972
10899
  "$ref": "#/definitions/plan"
9973
10900
  },
@@ -9992,6 +10919,9 @@
9992
10919
  "source": {
9993
10920
  "$ref": "#/definitions/source"
9994
10921
  },
10922
+ "space-app-access": {
10923
+ "$ref": "#/definitions/space-app-access"
10924
+ },
9995
10925
  "space-nat": {
9996
10926
  "$ref": "#/definitions/space-nat"
9997
10927
  },