platform-api 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  },