platform-api 3.7.0 → 3.9.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.
data/schema.json CHANGED
@@ -644,8 +644,7 @@
644
644
  "type": [
645
645
  "object"
646
646
  ],
647
- "definitions": {
648
- },
647
+ "definitions": {},
649
648
  "links": [
650
649
  {
651
650
  "description": "Mark an add-on as provisioned for use.",
@@ -668,8 +667,7 @@
668
667
  "title": "Deprovision"
669
668
  }
670
669
  ],
671
- "properties": {
672
- }
670
+ "properties": {}
673
671
  },
674
672
  "add-on-attachment": {
675
673
  "description": "An add-on attachment represents a connection between an app and an add-on that it has been given access to.",
@@ -740,6 +738,21 @@
740
738
  "string"
741
739
  ]
742
740
  },
741
+ "namespace_config": {
742
+ "description": "attachment namespace config, used to specify namespace via key-value pairs",
743
+ "example": {
744
+ "cred": "analyst"
745
+ },
746
+ "type": [
747
+ "null",
748
+ "object"
749
+ ],
750
+ "additionalProperties": {
751
+ "type": [
752
+ "string"
753
+ ]
754
+ }
755
+ },
743
756
  "updated_at": {
744
757
  "description": "when add-on attachment was updated",
745
758
  "example": "2012-01-01T12:00:00Z",
@@ -791,6 +804,9 @@
791
804
  },
792
805
  "namespace": {
793
806
  "$ref": "#/definitions/add-on-attachment/definitions/namespace"
807
+ },
808
+ "namespace_config": {
809
+ "$ref": "#/definitions/add-on-attachment/definitions/namespace_config"
794
810
  }
795
811
  },
796
812
  "required": [
@@ -1347,6 +1363,27 @@
1347
1363
  "type": [
1348
1364
  "string"
1349
1365
  ]
1366
+ },
1367
+ "supported_generations": {
1368
+ "description": "generations supported by this add-on",
1369
+ "readonly": true,
1370
+ "type": [
1371
+ "array"
1372
+ ],
1373
+ "items": {
1374
+ "type": [
1375
+ "object"
1376
+ ],
1377
+ "properties": {
1378
+ "name": {
1379
+ "$ref": "#/definitions/generation/definitions/name",
1380
+ "example": "cedar"
1381
+ },
1382
+ "id": {
1383
+ "$ref": "#/definitions/generation/definitions/id"
1384
+ }
1385
+ }
1386
+ }
1350
1387
  }
1351
1388
  },
1352
1389
  "links": [
@@ -1403,6 +1440,9 @@
1403
1440
  },
1404
1441
  "updated_at": {
1405
1442
  "$ref": "#/definitions/add-on-service/definitions/updated_at"
1443
+ },
1444
+ "supported_generations": {
1445
+ "$ref": "#/definitions/add-on-service/definitions/supported_generations"
1406
1446
  }
1407
1447
  }
1408
1448
  },
@@ -1859,46 +1899,52 @@
1859
1899
  },
1860
1900
  "addon_service": {
1861
1901
  "description": "identity of add-on service",
1862
- "anyOf": [
1863
- {
1864
- "properties": {
1865
- "id": {
1866
- "$ref": "#/definitions/add-on-service/definitions/id"
1867
- },
1868
- "name": {
1869
- "$ref": "#/definitions/add-on-service/definitions/name"
1870
- }
1902
+ "identity": {
1903
+ "anyOf": [
1904
+ {
1905
+ "$ref": "#/definitions/add-on-service/definitions/id"
1871
1906
  },
1872
- "strictProperties": true,
1873
- "type": [
1874
- "object"
1875
- ]
1907
+ {
1908
+ "$ref": "#/definitions/add-on-service/definitions/name"
1909
+ }
1910
+ ]
1911
+ },
1912
+ "properties": {
1913
+ "id": {
1914
+ "$ref": "#/definitions/add-on-service/definitions/id"
1876
1915
  },
1877
- {
1878
- "$ref": "#/definitions/add-on-service"
1916
+ "name": {
1917
+ "$ref": "#/definitions/add-on-service/definitions/name"
1879
1918
  }
1919
+ },
1920
+ "strictProperties": true,
1921
+ "type": [
1922
+ "object"
1880
1923
  ]
1881
1924
  },
1882
1925
  "plan": {
1883
1926
  "description": "identity of add-on plan",
1884
- "anyOf": [
1885
- {
1886
- "properties": {
1887
- "id": {
1888
- "$ref": "#/definitions/plan/definitions/id"
1889
- },
1890
- "name": {
1891
- "$ref": "#/definitions/plan/definitions/name"
1892
- }
1927
+ "identity": {
1928
+ "anyOf": [
1929
+ {
1930
+ "$ref": "#/definitions/plan/definitions/id"
1893
1931
  },
1894
- "strictProperties": true,
1895
- "type": [
1896
- "object"
1897
- ]
1932
+ {
1933
+ "$ref": "#/definitions/plan/definitions/name"
1934
+ }
1935
+ ]
1936
+ },
1937
+ "properties": {
1938
+ "id": {
1939
+ "$ref": "#/definitions/plan/definitions/id"
1898
1940
  },
1899
- {
1900
- "$ref": "#/definitions/plan"
1941
+ "name": {
1942
+ "$ref": "#/definitions/plan/definitions/name"
1901
1943
  }
1944
+ },
1945
+ "strictProperties": true,
1946
+ "type": [
1947
+ "object"
1902
1948
  ]
1903
1949
  },
1904
1950
  "provision_message": {
@@ -3793,6 +3839,32 @@
3793
3839
  "string"
3794
3840
  ]
3795
3841
  },
3842
+ "generation": {
3843
+ "description": "Generation of the Heroku platform for this app",
3844
+ "readOnly": true,
3845
+ "type": [
3846
+ "object"
3847
+ ],
3848
+ "properties": {
3849
+ "id": {
3850
+ "description": "unique identifier of the generation of the Heroku platform for this app",
3851
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
3852
+ "format": "uuid",
3853
+ "readOnly": true,
3854
+ "type": [
3855
+ "string"
3856
+ ]
3857
+ },
3858
+ "name": {
3859
+ "description": "unique name of the generation of the Heroku platform for this app",
3860
+ "example": "cedar",
3861
+ "readOnly": true,
3862
+ "type": [
3863
+ "string"
3864
+ ]
3865
+ }
3866
+ }
3867
+ },
3796
3868
  "git_url": {
3797
3869
  "description": "git repo URL of app",
3798
3870
  "example": "https://git.heroku.com/example.git",
@@ -4081,6 +4153,9 @@
4081
4153
  "created_at": {
4082
4154
  "$ref": "#/definitions/app/definitions/created_at"
4083
4155
  },
4156
+ "generation": {
4157
+ "$ref": "#/definitions/app/definitions/generation"
4158
+ },
4084
4159
  "git_url": {
4085
4160
  "$ref": "#/definitions/app/definitions/git_url"
4086
4161
  },
@@ -4536,7 +4611,7 @@
4536
4611
  },
4537
4612
  "build": {
4538
4613
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
4539
- "description": "A build represents the process of transforming a code tarball into a slug",
4614
+ "description": "A build represents the process of transforming a code tarball into build artifacts",
4540
4615
  "title": "Heroku Build API - Build",
4541
4616
  "stability": "production",
4542
4617
  "strictProperties": false,
@@ -4553,7 +4628,7 @@
4553
4628
  ],
4554
4629
  "definitions": {
4555
4630
  "buildpacks": {
4556
- "description": "buildpacks executed for this build, in order",
4631
+ "description": "buildpacks executed for this build, in order (only applicable to Cedar-generation apps)",
4557
4632
  "type": [
4558
4633
  "array",
4559
4634
  "null"
@@ -4592,6 +4667,14 @@
4592
4667
  "string"
4593
4668
  ]
4594
4669
  },
4670
+ "generation": {
4671
+ "description": "generation of build",
4672
+ "example": "cedar",
4673
+ "readOnly": true,
4674
+ "type": [
4675
+ "string"
4676
+ ]
4677
+ },
4595
4678
  "id": {
4596
4679
  "description": "unique identifier of build",
4597
4680
  "example": "01234567-89ab-cdef-0123-456789abcdef",
@@ -4810,6 +4893,9 @@
4810
4893
  "created_at": {
4811
4894
  "$ref": "#/definitions/build/definitions/created_at"
4812
4895
  },
4896
+ "generation": {
4897
+ "$ref": "#/definitions/build/definitions/generation"
4898
+ },
4813
4899
  "id": {
4814
4900
  "$ref": "#/definitions/build/definitions/id"
4815
4901
  },
@@ -4823,7 +4909,7 @@
4823
4909
  "$ref": "#/definitions/build/definitions/release"
4824
4910
  },
4825
4911
  "slug": {
4826
- "description": "slug created by this build",
4912
+ "description": "slug created by this build (only applicable for Cedar-generation apps)",
4827
4913
  "properties": {
4828
4914
  "id": {
4829
4915
  "$ref": "#/definitions/slug/definitions/id"
@@ -5688,6 +5774,14 @@
5688
5774
  "object"
5689
5775
  ],
5690
5776
  "definitions": {
5777
+ "architecture": {
5778
+ "description": "CPU architecture of this dyno size",
5779
+ "example": "amd64",
5780
+ "readOnly": true,
5781
+ "type": [
5782
+ "string"
5783
+ ]
5784
+ },
5691
5785
  "compute": {
5692
5786
  "description": "minimum vCPUs, non-dedicated may get more depending on load",
5693
5787
  "example": 1,
@@ -5704,8 +5798,34 @@
5704
5798
  "boolean"
5705
5799
  ]
5706
5800
  },
5801
+ "generation": {
5802
+ "description": "Generation of the Heroku platform for this dyno size",
5803
+ "readOnly": true,
5804
+ "type": [
5805
+ "object"
5806
+ ],
5807
+ "properties": {
5808
+ "id": {
5809
+ "description": "unique identifier of the generation of the Heroku platform for this dyno size",
5810
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
5811
+ "format": "uuid",
5812
+ "readOnly": true,
5813
+ "type": [
5814
+ "string"
5815
+ ]
5816
+ },
5817
+ "name": {
5818
+ "description": "unique name of the generation of the Heroku platform for this dyno size",
5819
+ "example": "cedar",
5820
+ "readOnly": true,
5821
+ "type": [
5822
+ "string"
5823
+ ]
5824
+ }
5825
+ }
5826
+ },
5707
5827
  "id": {
5708
- "description": "unique identifier of this dyno size",
5828
+ "description": "unique identifier of the dyno size",
5709
5829
  "example": "01234567-89ab-cdef-0123-456789abcdef",
5710
5830
  "format": "uuid",
5711
5831
  "readOnly": true,
@@ -5732,7 +5852,7 @@
5732
5852
  ]
5733
5853
  },
5734
5854
  "name": {
5735
- "description": "the name of this dyno-size",
5855
+ "description": "name of the dyno size",
5736
5856
  "example": "eco",
5737
5857
  "readOnly": true,
5738
5858
  "type": [
@@ -5765,15 +5885,6 @@
5765
5885
  }
5766
5886
  }
5767
5887
  },
5768
- "dyno_units": {
5769
- "deprecated": true,
5770
- "description": "deprecated. See precise_dyno_units instead",
5771
- "example": 0,
5772
- "readOnly": true,
5773
- "type": [
5774
- "integer"
5775
- ]
5776
- },
5777
5888
  "precise_dyno_units": {
5778
5889
  "description": "unit of consumption for Heroku Enterprise customers to 2 decimal places",
5779
5890
  "example": 0.28,
@@ -5816,9 +5927,24 @@
5816
5927
  ]
5817
5928
  },
5818
5929
  "title": "List"
5930
+ },
5931
+ {
5932
+ "description": "List available dyno sizes for an app",
5933
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/available-dyno-sizes",
5934
+ "method": "GET",
5935
+ "rel": "available-app-dynos",
5936
+ "targetSchema": {
5937
+ "items": {
5938
+ "$ref": "#/definitions/dyno-size"
5939
+ }
5940
+ },
5941
+ "title": "List App Dyno Sizes"
5819
5942
  }
5820
5943
  ],
5821
5944
  "properties": {
5945
+ "architecture": {
5946
+ "$ref": "#/definitions/dyno-size/definitions/architecture"
5947
+ },
5822
5948
  "compute": {
5823
5949
  "$ref": "#/definitions/dyno-size/definitions/compute"
5824
5950
  },
@@ -5828,12 +5954,12 @@
5828
5954
  "dedicated": {
5829
5955
  "$ref": "#/definitions/dyno-size/definitions/dedicated"
5830
5956
  },
5831
- "dyno_units": {
5832
- "$ref": "#/definitions/dyno-size/definitions/dyno_units"
5833
- },
5834
5957
  "precise_dyno_units": {
5835
5958
  "$ref": "#/definitions/dyno-size/definitions/precise_dyno_units"
5836
5959
  },
5960
+ "generation": {
5961
+ "$ref": "#/definitions/dyno-size/definitions/generation"
5962
+ },
5837
5963
  "id": {
5838
5964
  "$ref": "#/definitions/dyno-size/definitions/id"
5839
5965
  },
@@ -5939,6 +6065,14 @@
5939
6065
  "string"
5940
6066
  ]
5941
6067
  },
6068
+ "formation_type": {
6069
+ "description": "the formation type of this process on this dyno",
6070
+ "example": "run",
6071
+ "readOnly": true,
6072
+ "type": [
6073
+ "string"
6074
+ ]
6075
+ },
5942
6076
  "force_no_tty": {
5943
6077
  "description": "force an attached one-off dyno to not run in a tty",
5944
6078
  "example": null,
@@ -6045,6 +6179,19 @@
6045
6179
  },
6046
6180
  "title": "Restart"
6047
6181
  },
6182
+ {
6183
+ "description": "Restart dynos of a given formation type.",
6184
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/formations/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fformation_type)}",
6185
+ "method": "DELETE",
6186
+ "rel": "empty",
6187
+ "targetSchema": {
6188
+ "additionalProperties": false,
6189
+ "type": [
6190
+ "object"
6191
+ ]
6192
+ },
6193
+ "title": "Restart formation"
6194
+ },
6048
6195
  {
6049
6196
  "description": "Restart all dynos.",
6050
6197
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/dynos",
@@ -6071,6 +6218,19 @@
6071
6218
  },
6072
6219
  "title": "Stop"
6073
6220
  },
6221
+ {
6222
+ "description": "Stop dynos of a given formation type.",
6223
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/formations/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fformation_type)}/actions/stop",
6224
+ "method": "POST",
6225
+ "rel": "empty",
6226
+ "targetSchema": {
6227
+ "additionalProperties": false,
6228
+ "type": [
6229
+ "object"
6230
+ ]
6231
+ },
6232
+ "title": "Stop formation"
6233
+ },
6074
6234
  {
6075
6235
  "description": "Info for existing dyno.",
6076
6236
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/dynos/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fidentity)}",
@@ -6626,7 +6786,7 @@
6626
6786
  ]
6627
6787
  },
6628
6788
  "connect": {
6629
- "description": "average connect rows synced",
6789
+ "description": "max connect rows synced",
6630
6790
  "example": 15000,
6631
6791
  "readOnly": true,
6632
6792
  "type": [
@@ -6913,6 +7073,14 @@
6913
7073
  "type": [
6914
7074
  "boolean"
6915
7075
  ]
7076
+ },
7077
+ "partner_benefits": {
7078
+ "description": "whether the enterprise account is part of the Salesforce Partner Program",
7079
+ "example": false,
7080
+ "readOnly": true,
7081
+ "type": [
7082
+ "boolean"
7083
+ ]
6916
7084
  }
6917
7085
  },
6918
7086
  "links": [
@@ -6980,6 +7148,9 @@
6980
7148
  "trial": {
6981
7149
  "$ref": "#/definitions/enterprise-account/definitions/trial"
6982
7150
  },
7151
+ "partner_benefits": {
7152
+ "$ref": "#/definitions/enterprise-account/definitions/partner_benefits"
7153
+ },
6983
7154
  "identity_provider": {
6984
7155
  "$ref": "#/definitions/enterprise-account/definitions/identity_provider"
6985
7156
  }
@@ -7076,6 +7247,45 @@
7076
7247
  "string"
7077
7248
  ]
7078
7249
  },
7250
+ "dyno_size": {
7251
+ "description": "dyno size",
7252
+ "example": {
7253
+ "id": "01234567-89ab-cdef-0123-456789abcdef"
7254
+ },
7255
+ "identity": {
7256
+ "anyOf": [
7257
+ {
7258
+ "$ref": "#/definitions/dyno_size/definitions/id"
7259
+ },
7260
+ {
7261
+ "$ref": "#/definitions/dyno_size/definitions/name"
7262
+ }
7263
+ ]
7264
+ },
7265
+ "properties": {
7266
+ "id": {
7267
+ "description": "unique identifier of the dyno size",
7268
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
7269
+ "format": "uuid",
7270
+ "readOnly": true,
7271
+ "type": [
7272
+ "string"
7273
+ ]
7274
+ },
7275
+ "name": {
7276
+ "description": "name of the dyno size",
7277
+ "example": "Standard-1X",
7278
+ "readOnly": true,
7279
+ "type": [
7280
+ "string"
7281
+ ]
7282
+ }
7283
+ },
7284
+ "readOnly": false,
7285
+ "type": [
7286
+ "object"
7287
+ ]
7288
+ },
7079
7289
  "id": {
7080
7290
  "description": "unique identifier of this process type",
7081
7291
  "example": "01234567-89ab-cdef-0123-456789abcdef",
@@ -7104,7 +7314,8 @@
7104
7314
  ]
7105
7315
  },
7106
7316
  "size": {
7107
- "description": "dyno size",
7317
+ "deprecated": true,
7318
+ "description": "deprecated, refer to 'dyno_size' instead",
7108
7319
  "example": "standard-1X",
7109
7320
  "readOnly": false,
7110
7321
  "type": [
@@ -7133,12 +7344,12 @@
7133
7344
  "additionalProperties": false,
7134
7345
  "description": "Properties to update a process type",
7135
7346
  "properties": {
7347
+ "dyno_size": {
7348
+ "$ref": "#/definitions/formation/definitions/dyno_size"
7349
+ },
7136
7350
  "quantity": {
7137
7351
  "$ref": "#/definitions/formation/definitions/quantity"
7138
7352
  },
7139
- "size": {
7140
- "$ref": "#/definitions/formation/definitions/size"
7141
- },
7142
7353
  "type": {
7143
7354
  "$ref": "#/definitions/formation/definitions/type"
7144
7355
  }
@@ -7192,7 +7403,7 @@
7192
7403
  "items": {
7193
7404
  "$ref": "#/definitions/formation/definitions/update"
7194
7405
  },
7195
- "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\"."
7406
+ "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 \"dyno_size\"."
7196
7407
  }
7197
7408
  },
7198
7409
  "required": [
@@ -7219,11 +7430,11 @@
7219
7430
  "rel": "update",
7220
7431
  "schema": {
7221
7432
  "properties": {
7433
+ "dyno_size": {
7434
+ "$ref": "#/definitions/formation/definitions/dyno_size"
7435
+ },
7222
7436
  "quantity": {
7223
7437
  "$ref": "#/definitions/formation/definitions/quantity"
7224
- },
7225
- "size": {
7226
- "$ref": "#/definitions/formation/definitions/size"
7227
7438
  }
7228
7439
  },
7229
7440
  "type": [
@@ -7260,6 +7471,20 @@
7260
7471
  "created_at": {
7261
7472
  "$ref": "#/definitions/formation/definitions/created_at"
7262
7473
  },
7474
+ "dyno_size": {
7475
+ "description": "dyno size",
7476
+ "properties": {
7477
+ "id": {
7478
+ "$ref": "#/definitions/dyno-size/definitions/id"
7479
+ },
7480
+ "name": {
7481
+ "$ref": "#/definitions/dyno-size/definitions/name"
7482
+ }
7483
+ },
7484
+ "type": [
7485
+ "object"
7486
+ ]
7487
+ },
7263
7488
  "id": {
7264
7489
  "$ref": "#/definitions/formation/definitions/id"
7265
7490
  },
@@ -7277,20 +7502,133 @@
7277
7502
  }
7278
7503
  }
7279
7504
  },
7280
- "identity-provider": {
7281
- "description": "Identity Providers represent the SAML configuration of teams or an Enterprise account",
7505
+ "generation": {
7506
+ "description": "A generation represents a version of the Heroku platform that includes the app execution environment, routing, telemetry, and build systems.",
7282
7507
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7283
- "stability": "production",
7508
+ "stability": "prototype",
7284
7509
  "strictProperties": true,
7285
- "title": "Heroku Platform API - Identity Provider",
7510
+ "title": "Heroku Platform API - Generation",
7286
7511
  "type": [
7287
7512
  "object"
7288
7513
  ],
7289
7514
  "definitions": {
7290
- "certificate": {
7291
- "description": "raw contents of the public certificate (eg: .crt or .pem file)",
7292
- "example": "-----BEGIN CERTIFICATE----- ...",
7293
- "readOnly": false,
7515
+ "created_at": {
7516
+ "description": "when generation was created",
7517
+ "example": "2024-12-01T12:00:00Z",
7518
+ "format": "date-time",
7519
+ "readOnly": true,
7520
+ "type": [
7521
+ "string"
7522
+ ]
7523
+ },
7524
+ "id": {
7525
+ "description": "unique identifier of generation",
7526
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
7527
+ "format": "uuid",
7528
+ "readOnly": true,
7529
+ "type": [
7530
+ "string"
7531
+ ]
7532
+ },
7533
+ "identity": {
7534
+ "anyOf": [
7535
+ {
7536
+ "$ref": "#/definitions/generation/definitions/name"
7537
+ },
7538
+ {
7539
+ "$ref": "#/definitions/generation/definitions/id"
7540
+ }
7541
+ ]
7542
+ },
7543
+ "name": {
7544
+ "description": "unique name of generation",
7545
+ "example": "fir",
7546
+ "readOnly": true,
7547
+ "type": [
7548
+ "string"
7549
+ ]
7550
+ },
7551
+ "updated_at": {
7552
+ "description": "when generation was updated",
7553
+ "example": "2024-12-01T12:00:00Z",
7554
+ "format": "date-time",
7555
+ "readOnly": true,
7556
+ "type": [
7557
+ "string"
7558
+ ]
7559
+ }
7560
+ },
7561
+ "links": [
7562
+ {
7563
+ "description": "Info for generation.",
7564
+ "href": "/generations/{(%23%2Fdefinitions%2Fstack%2Fdefinitions%2Fidentity)}",
7565
+ "method": "GET",
7566
+ "rel": "self",
7567
+ "targetSchema": {
7568
+ "$ref": "#/definitions/generation"
7569
+ },
7570
+ "title": "Info"
7571
+ },
7572
+ {
7573
+ "description": "List available generations.",
7574
+ "href": "/generations",
7575
+ "method": "GET",
7576
+ "rel": "instances",
7577
+ "targetSchema": {
7578
+ "items": {
7579
+ "$ref": "#/definitions/generation"
7580
+ },
7581
+ "type": [
7582
+ "array"
7583
+ ]
7584
+ },
7585
+ "title": "List"
7586
+ },
7587
+ {
7588
+ "description": "List available generations for a team.",
7589
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/available-generations",
7590
+ "method": "GET",
7591
+ "rel": "instances",
7592
+ "targetSchema": {
7593
+ "items": {
7594
+ "$ref": "#/definitions/generation"
7595
+ },
7596
+ "type": [
7597
+ "array"
7598
+ ]
7599
+ },
7600
+ "title": "List by Team"
7601
+ }
7602
+ ],
7603
+ "properties": {
7604
+ "created_at": {
7605
+ "$ref": "#/definitions/generation/definitions/created_at"
7606
+ },
7607
+ "id": {
7608
+ "$ref": "#/definitions/generation/definitions/id"
7609
+ },
7610
+ "name": {
7611
+ "$ref": "#/definitions/generation/definitions/name"
7612
+ },
7613
+ "updated_at": {
7614
+ "$ref": "#/definitions/generation/definitions/updated_at"
7615
+ }
7616
+ }
7617
+ },
7618
+ "identity-provider": {
7619
+ "description": "Identity Providers represent the SAML configuration of teams or an Enterprise account",
7620
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
7621
+ "stability": "production",
7622
+ "strictProperties": true,
7623
+ "title": "Heroku Platform API - Identity Provider",
7624
+ "type": [
7625
+ "object"
7626
+ ],
7627
+ "definitions": {
7628
+ "certificate": {
7629
+ "description": "raw contents of the public certificate (eg: .crt or .pem file)",
7630
+ "example": "-----BEGIN CERTIFICATE----- ...",
7631
+ "readOnly": false,
7294
7632
  "type": [
7295
7633
  "string"
7296
7634
  ]
@@ -7641,6 +7979,9 @@
7641
7979
  "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/inbound-ruleset",
7642
7980
  "method": "PUT",
7643
7981
  "rel": "create",
7982
+ "targetSchema": {
7983
+ "$ref": "#/definitions/inbound-ruleset"
7984
+ },
7644
7985
  "schema": {
7645
7986
  "type": [
7646
7987
  "object"
@@ -8426,9 +8767,17 @@
8426
8767
  "string"
8427
8768
  ]
8428
8769
  },
8429
- "dyno": {
8430
- "description": "dyno to limit results to",
8431
- "example": "web.1",
8770
+ "dyno_name": {
8771
+ "description": "dyno name to limit results to",
8772
+ "example": "'web.1' (Cedar-generation) or 'web-1234abcde-123ab' (Fir-generation)",
8773
+ "readOnly": false,
8774
+ "type": [
8775
+ "string"
8776
+ ]
8777
+ },
8778
+ "type": {
8779
+ "description": "process type to limit results to",
8780
+ "example": "web",
8432
8781
  "readOnly": false,
8433
8782
  "type": [
8434
8783
  "string"
@@ -8500,8 +8849,11 @@
8500
8849
  "rel": "create",
8501
8850
  "schema": {
8502
8851
  "properties": {
8503
- "dyno": {
8504
- "$ref": "#/definitions/log-session/definitions/dyno"
8852
+ "dyno_name": {
8853
+ "$ref": "#/definitions/log-session/definitions/dyno_name"
8854
+ },
8855
+ "type": {
8856
+ "$ref": "#/definitions/log-session/definitions/type"
8505
8857
  },
8506
8858
  "lines": {
8507
8859
  "$ref": "#/definitions/log-session/definitions/lines"
@@ -8659,6 +9011,43 @@
8659
9011
  },
8660
9012
  "title": "Info"
8661
9013
  },
9014
+ {
9015
+ "description": "Update an existing OAuth authorization.",
9016
+ "href": "/oauth/authorizations/{(%23%2Fdefinitions%2Foauth-authorization%2Fdefinitions%2Fidentity)}",
9017
+ "method": "PATCH",
9018
+ "rel": "update",
9019
+ "targetSchema": {
9020
+ "$ref": "#/definitions/oauth-authorization"
9021
+ },
9022
+ "schema": {
9023
+ "properties": {
9024
+ "description": {
9025
+ "$ref": "#/definitions/oauth-authorization/definitions/description"
9026
+ },
9027
+ "client": {
9028
+ "type": [
9029
+ "object"
9030
+ ],
9031
+ "description": "identifier of the client that obtained this authorization",
9032
+ "properties": {
9033
+ "id": {
9034
+ "$ref": "#/definitions/oauth-client/definitions/id"
9035
+ },
9036
+ "secret": {
9037
+ "$ref": "#/definitions/oauth-client/definitions/secret"
9038
+ }
9039
+ }
9040
+ }
9041
+ },
9042
+ "required": [
9043
+ "client"
9044
+ ],
9045
+ "type": [
9046
+ "object"
9047
+ ]
9048
+ },
9049
+ "title": "Update"
9050
+ },
8662
9051
  {
8663
9052
  "description": "List OAuth authorizations.",
8664
9053
  "href": "/oauth/authorizations",
@@ -8725,6 +9114,9 @@
8725
9114
  "created_at": {
8726
9115
  "$ref": "#/definitions/oauth-authorization/definitions/created_at"
8727
9116
  },
9117
+ "description": {
9118
+ "$ref": "#/definitions/oauth-authorization/definitions/description"
9119
+ },
8728
9120
  "grant": {
8729
9121
  "description": "this authorization's grant",
8730
9122
  "properties": {
@@ -8769,6 +9161,19 @@
8769
9161
  "scope": {
8770
9162
  "$ref": "#/definitions/oauth-authorization/definitions/scope"
8771
9163
  },
9164
+ "session": {
9165
+ "description": "this authorization's session",
9166
+ "properties": {
9167
+ "id": {
9168
+ "$ref": "#/definitions/oauth-token/definitions/id"
9169
+ }
9170
+ },
9171
+ "strictProperties": true,
9172
+ "type": [
9173
+ "null",
9174
+ "object"
9175
+ ]
9176
+ },
8772
9177
  "updated_at": {
8773
9178
  "$ref": "#/definitions/oauth-authorization/definitions/updated_at"
8774
9179
  },
@@ -9039,10 +9444,8 @@
9039
9444
  ]
9040
9445
  }
9041
9446
  },
9042
- "links": [
9043
- ],
9044
- "properties": {
9045
- }
9447
+ "links": [],
9448
+ "properties": {}
9046
9449
  },
9047
9450
  "oauth-token": {
9048
9451
  "description": "OAuth tokens provide access for authorized clients to act on behalf of a Heroku user to automate, customize or extend their usage of the platform. For more information please refer to the [Heroku OAuth documentation](https://devcenter.heroku.com/articles/oauth)",
@@ -9285,185 +9688,368 @@
9285
9688
  }
9286
9689
  }
9287
9690
  },
9288
- "outbound-ruleset": {
9289
- "description": "An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with. ",
9691
+ "oci-image": {
9692
+ "description": "An OCI (Open Container Initiative) image is a standardized format for packaging and distributing containerized applications, ready to run on the platform.",
9290
9693
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9291
- "stability": "deprecation",
9694
+ "stability": "prototype",
9292
9695
  "strictProperties": true,
9293
- "title": "Heroku Platform API - Outbound Ruleset",
9294
- "deprecated_at": "2024-04-30",
9295
- "deactivate_on": "2024-06-03",
9696
+ "title": "Heroku Platform API - OCI Image",
9296
9697
  "type": [
9297
9698
  "object"
9298
9699
  ],
9299
9700
  "definitions": {
9300
- "target": {
9301
- "description": "is the target destination in CIDR notation",
9302
- "example": "1.1.1.1/1",
9303
- "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
9701
+ "id": {
9702
+ "description": "unique identifier of the OCI image",
9703
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
9704
+ "format": "uuid",
9705
+ "readOnly": true,
9706
+ "type": [
9707
+ "string"
9708
+ ]
9709
+ },
9710
+ "digest": {
9711
+ "description": "unique identifier representing the content of the OCI image",
9712
+ "example": "sha256:dc14ae5fbc1e7230e0a782bf216fb46500e210631703bcc6bab8acf2c6a23f42",
9304
9713
  "readOnly": false,
9305
9714
  "type": [
9306
9715
  "string"
9307
9716
  ]
9308
9717
  },
9309
- "created_at": {
9310
- "description": "when outbound-ruleset was created",
9311
- "example": "2012-01-01T12:00:00Z",
9312
- "format": "date-time",
9313
- "readOnly": true,
9718
+ "architecture": {
9719
+ "description": "build architecture for OCI image",
9720
+ "example": "arm64",
9721
+ "readOnly": false,
9722
+ "type": [
9723
+ "string",
9724
+ "null"
9725
+ ]
9726
+ },
9727
+ "identity": {
9728
+ "anyOf": [
9729
+ {
9730
+ "$ref": "#/definitions/oci-image/definitions/id"
9731
+ },
9732
+ {
9733
+ "$ref": "#/definitions/oci-image/definitions/digest"
9734
+ }
9735
+ ]
9736
+ },
9737
+ "base_image_name": {
9738
+ "description": "name of the image used for the base layers of the OCI image",
9739
+ "example": "heroku/heroku:22-cnb",
9740
+ "readOnly": false,
9314
9741
  "type": [
9315
9742
  "string"
9316
9743
  ]
9317
9744
  },
9318
- "id": {
9319
- "description": "unique identifier of an outbound-ruleset",
9320
- "example": "01234567-89ab-cdef-0123-456789abcdef",
9321
- "format": "uuid",
9322
- "readOnly": true,
9745
+ "base_top_layer": {
9746
+ "description": "the digest of the top most layer of the base image.",
9747
+ "example": "sha256:ea36ae5fbc1e7230e0a782bf216fb46500e210382703baa6bab8acf2c6a23f78",
9748
+ "readOnly": false,
9323
9749
  "type": [
9324
9750
  "string"
9325
9751
  ]
9326
9752
  },
9327
- "port": {
9328
- "description": "an endpoint of communication in an operating system.",
9329
- "example": 80,
9753
+ "commit": {
9754
+ "description": "identification of the code in your version control system (eg: SHA of the git HEAD)",
9755
+ "example": "60883d9e8947a57e04dc9124f25df004866a2051",
9330
9756
  "readOnly": false,
9331
9757
  "type": [
9332
- "integer"
9758
+ "string"
9333
9759
  ]
9334
9760
  },
9335
- "protocol": {
9336
- "description": "formal standards and policies comprised of rules, procedures and formats that define communication between two or more devices over a network",
9337
- "example": "tcp",
9761
+ "commit_description": {
9762
+ "description": "an optional description of the provided commit",
9763
+ "example": "fixed a bug with API documentation",
9338
9764
  "readOnly": false,
9339
9765
  "type": [
9340
9766
  "string"
9341
9767
  ]
9342
9768
  },
9343
- "identity": {
9344
- "anyOf": [
9345
- {
9346
- "$ref": "#/definitions/outbound-ruleset/definitions/id"
9769
+ "image_repo": {
9770
+ "description": "name of the image registry repository used for storage",
9771
+ "example": "d7ba1ace-b396-4691-968c-37ae53153426/builds",
9772
+ "readOnly": false,
9773
+ "type": [
9774
+ "string"
9775
+ ]
9776
+ },
9777
+ "process_type": {
9778
+ "description": "process type information such as names and commands",
9779
+ "readOnly": false,
9780
+ "properties": {
9781
+ "name": {
9782
+ "description": "name of the process type",
9783
+ "example": "web",
9784
+ "type": [
9785
+ "string"
9786
+ ]
9787
+ },
9788
+ "display_cmd": {
9789
+ "description": "the detailed command used for display purposes",
9790
+ "example": "bundle exec puma -p $PORT",
9791
+ "type": [
9792
+ "string"
9793
+ ]
9794
+ },
9795
+ "command": {
9796
+ "description": "the command that will be executed",
9797
+ "example": "/cnb/process/web",
9798
+ "type": [
9799
+ "string"
9800
+ ]
9801
+ },
9802
+ "working_dir": {
9803
+ "description": "working directory",
9804
+ "example": "/worspace/webapp",
9805
+ "type": [
9806
+ "string"
9807
+ ]
9808
+ },
9809
+ "default": {
9810
+ "description": "true if it is the default process type",
9811
+ "example": true,
9812
+ "type": [
9813
+ "boolean",
9814
+ "null"
9815
+ ]
9347
9816
  }
9817
+ },
9818
+ "example": {
9819
+ "name": "web",
9820
+ "display_cmd": "bundle exec puma -p $PORT",
9821
+ "command": "/cnb/process/web",
9822
+ "working_dir": "/workspace/webapp",
9823
+ "default": true
9824
+ },
9825
+ "type": [
9826
+ "object"
9348
9827
  ]
9349
9828
  },
9350
- "rule": {
9351
- "description": "the combination of an IP address in CIDR notation, a from_port, to_port and protocol.",
9829
+ "process_types": {
9830
+ "description": "process types of the OCI image",
9831
+ "patternProperties": {
9832
+ "^[-\\w]{1,128}$": {
9833
+ "$ref": "#/definitions/oci-image/definitions/process_type"
9834
+ }
9835
+ },
9836
+ "example": {
9837
+ "web": {
9838
+ "name": "web",
9839
+ "display_cmd": "bundle exec puma -p $PORT",
9840
+ "command": "/cnb/process/web",
9841
+ "working_dir": "/workspace/webapp",
9842
+ "default": true
9843
+ }
9844
+ },
9352
9845
  "type": [
9353
9846
  "object"
9354
- ],
9847
+ ]
9848
+ },
9849
+ "buildpack": {
9850
+ "description": "set of executables that inspects app source code and creates a plan to build and run your image",
9851
+ "readOnly": false,
9355
9852
  "properties": {
9356
- "target": {
9357
- "$ref": "#/definitions/outbound-ruleset/definitions/target"
9853
+ "id": {
9854
+ "description": "identifier of the buildpack",
9855
+ "example": "heroku/ruby",
9856
+ "type": [
9857
+ "string"
9858
+ ]
9358
9859
  },
9359
- "from_port": {
9360
- "$ref": "#/definitions/outbound-ruleset/definitions/port"
9860
+ "version": {
9861
+ "description": "version of the buildpack",
9862
+ "example": "2.0.0",
9863
+ "type": [
9864
+ "string"
9865
+ ]
9361
9866
  },
9362
- "to_port": {
9363
- "$ref": "#/definitions/outbound-ruleset/definitions/port"
9867
+ "homepage": {
9868
+ "description": "homepage of the buildpack",
9869
+ "example": "https://github.com/heroku/buildpacks-ruby",
9870
+ "type": [
9871
+ "string"
9872
+ ]
9873
+ }
9874
+ },
9875
+ "example": {
9876
+ "id": "heroku/ruby",
9877
+ "version": "2.0.0",
9878
+ "homepage": "https://github.com/heroku/buildpacks-ruby"
9879
+ },
9880
+ "type": [
9881
+ "object"
9882
+ ]
9883
+ },
9884
+ "buildpacks": {
9885
+ "description": "buildpacks of the OCI image",
9886
+ "items": {
9887
+ "$ref": "#/definitions/oci-image/definitions/buildpack"
9888
+ },
9889
+ "type": [
9890
+ "array"
9891
+ ]
9892
+ },
9893
+ "stack": {
9894
+ "description": "stack associated to the OCI image",
9895
+ "readOnly": false,
9896
+ "properties": {
9897
+ "id": {
9898
+ "$ref": "#/definitions/stack/definitions/id",
9899
+ "example": "ba46bf09-7bd1-42fd-90df-a1a9a93eb4a2"
9364
9900
  },
9365
- "protocol": {
9366
- "$ref": "#/definitions/outbound-ruleset/definitions/protocol"
9901
+ "name": {
9902
+ "$ref": "#/definitions/stack/definitions/name",
9903
+ "example": "cnb"
9367
9904
  }
9368
9905
  },
9369
- "required": [
9370
- "target",
9371
- "from_port",
9372
- "to_port",
9373
- "protocol"
9906
+ "type": [
9907
+ "object"
9908
+ ]
9909
+ },
9910
+ "created_at": {
9911
+ "description": "when the OCI image was created",
9912
+ "example": "2012-01-01T12:00:00Z",
9913
+ "format": "date-time",
9914
+ "readOnly": true,
9915
+ "type": [
9916
+ "string"
9917
+ ]
9918
+ },
9919
+ "updated_at": {
9920
+ "description": "when the OCI image was updated",
9921
+ "example": "2012-01-01T12:00:00Z",
9922
+ "format": "date-time",
9923
+ "readOnly": true,
9924
+ "type": [
9925
+ "string"
9926
+ ]
9927
+ },
9928
+ "deleted_at": {
9929
+ "description": "when OCI image was deleted",
9930
+ "example": "2012-01-01T12:00:00Z",
9931
+ "format": "date-time",
9932
+ "readOnly": true,
9933
+ "type": [
9934
+ "string",
9935
+ "null"
9374
9936
  ]
9375
9937
  }
9376
9938
  },
9377
9939
  "links": [
9378
9940
  {
9379
- "description": "Current outbound ruleset for a space",
9380
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
9381
- "method": "GET",
9382
- "rel": "self",
9383
- "targetSchema": {
9384
- "$ref": "#/definitions/outbound-ruleset"
9385
- },
9386
- "title": "Current"
9387
- },
9388
- {
9389
- "description": "Info on an existing Outbound Ruleset",
9390
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets/{(%23%2Fdefinitions%2Foutbound-ruleset%2Fdefinitions%2Fidentity)}",
9941
+ "description": "Info for the OCI images of an app, filtered by identifier.",
9942
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/oci-images/{(%23%2Fdefinitions%2Foci-image%2Fdefinitions%2Fidentity)}",
9391
9943
  "method": "GET",
9392
9944
  "rel": "self",
9393
- "targetSchema": {
9394
- "$ref": "#/definitions/outbound-ruleset"
9395
- },
9396
- "title": "Info"
9397
- },
9398
- {
9399
- "description": "List all Outbound Rulesets for a space",
9400
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets",
9401
- "method": "GET",
9402
- "rel": "instances",
9403
9945
  "targetSchema": {
9404
9946
  "items": {
9405
- "$ref": "#/definitions/outbound-ruleset"
9947
+ "$ref": "#/definitions/oci-image"
9406
9948
  },
9407
9949
  "type": [
9408
9950
  "array"
9409
9951
  ]
9410
9952
  },
9411
- "title": "List"
9953
+ "title": "Info"
9412
9954
  },
9413
9955
  {
9414
- "description": "Create a new outbound ruleset",
9415
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
9416
- "method": "PUT",
9956
+ "description": "Create an new OCI image of an app",
9957
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/oci-images",
9958
+ "method": "POST",
9417
9959
  "rel": "create",
9418
9960
  "schema": {
9419
- "type": [
9420
- "object"
9421
- ],
9422
9961
  "properties": {
9423
- "rules": {
9424
- "type": [
9425
- "array"
9426
- ],
9427
- "items": {
9428
- "$ref": "#/definitions/outbound-ruleset/definitions/rule"
9429
- }
9962
+ "architecture": {
9963
+ "$ref": "#/definitions/oci-image/definitions/architecture"
9964
+ },
9965
+ "base_image_name": {
9966
+ "$ref": "#/definitions/oci-image/definitions/base_image_name"
9967
+ },
9968
+ "base_top_layer": {
9969
+ "$ref": "#/definitions/oci-image/definitions/base_top_layer"
9970
+ },
9971
+ "commit": {
9972
+ "$ref": "#/definitions/oci-image/definitions/commit"
9973
+ },
9974
+ "commit_description": {
9975
+ "$ref": "#/definitions/oci-image/definitions/commit_description"
9976
+ },
9977
+ "image_repo": {
9978
+ "$ref": "#/definitions/oci-image/definitions/image_repo"
9979
+ },
9980
+ "digest": {
9981
+ "$ref": "#/definitions/oci-image/definitions/digest"
9982
+ },
9983
+ "stack": {
9984
+ "anyOf": [
9985
+ {
9986
+ "$ref": "#/definitions/stack/definitions/name",
9987
+ "example": "cnb"
9988
+ },
9989
+ {
9990
+ "$ref": "#/definitions/stack/definitions/id"
9991
+ }
9992
+ ]
9993
+ },
9994
+ "process_types": {
9995
+ "$ref": "#/definitions/oci-image/definitions/process_types"
9996
+ },
9997
+ "buildpacks": {
9998
+ "$ref": "#/definitions/oci-image/definitions/buildpacks"
9430
9999
  }
9431
- }
10000
+ },
10001
+ "type": [
10002
+ "object"
10003
+ ]
10004
+ },
10005
+ "targetSchema": {
10006
+ "$ref": "#/definitions/oci-image"
9432
10007
  },
9433
10008
  "title": "Create"
9434
10009
  }
9435
10010
  ],
9436
10011
  "properties": {
9437
10012
  "id": {
9438
- "$ref": "#/definitions/outbound-ruleset/definitions/id"
10013
+ "$ref": "#/definitions/oci-image/definitions/id"
9439
10014
  },
9440
- "space": {
9441
- "description": "identity of space",
9442
- "properties": {
9443
- "id": {
9444
- "$ref": "#/definitions/space/definitions/id"
9445
- },
9446
- "name": {
9447
- "$ref": "#/definitions/space/definitions/name"
9448
- }
9449
- },
9450
- "type": [
9451
- "object"
9452
- ]
10015
+ "base_image_name": {
10016
+ "$ref": "#/definitions/oci-image/definitions/base_image_name"
10017
+ },
10018
+ "base_top_layer": {
10019
+ "$ref": "#/definitions/oci-image/definitions/base_top_layer"
10020
+ },
10021
+ "commit": {
10022
+ "$ref": "#/definitions/oci-image/definitions/commit"
10023
+ },
10024
+ "commit_description": {
10025
+ "$ref": "#/definitions/oci-image/definitions/commit_description"
10026
+ },
10027
+ "image_repo": {
10028
+ "$ref": "#/definitions/oci-image/definitions/image_repo"
10029
+ },
10030
+ "digest": {
10031
+ "$ref": "#/definitions/oci-image/definitions/digest"
10032
+ },
10033
+ "stack": {
10034
+ "$ref": "#/definitions/oci-image/definitions/stack"
10035
+ },
10036
+ "process_types": {
10037
+ "$ref": "#/definitions/oci-image/definitions/process_types"
10038
+ },
10039
+ "buildpacks": {
10040
+ "$ref": "#/definitions/oci-image/definitions/buildpacks"
9453
10041
  },
9454
10042
  "created_at": {
9455
- "$ref": "#/definitions/outbound-ruleset/definitions/created_at"
10043
+ "$ref": "#/definitions/oci-image/definitions/created_at"
9456
10044
  },
9457
- "rules": {
9458
- "type": [
9459
- "array"
9460
- ],
9461
- "items": {
9462
- "$ref": "#/definitions/outbound-ruleset/definitions/rule"
9463
- }
10045
+ "updated_at": {
10046
+ "$ref": "#/definitions/oci-image/definitions/updated_at"
9464
10047
  },
9465
- "created_by": {
9466
- "$ref": "#/definitions/account/definitions/email"
10048
+ "architecture": {
10049
+ "$ref": "#/definitions/oci-image/definitions/architecture"
10050
+ },
10051
+ "deleted_at": {
10052
+ "$ref": "#/definitions/oci-image/definitions/deleted_at"
9467
10053
  }
9468
10054
  }
9469
10055
  },
@@ -9927,7 +10513,7 @@
9927
10513
  }
9928
10514
  },
9929
10515
  "pipeline-build": {
9930
- "description": "Information about latest builds of apps in a pipeline.",
10516
+ "description": "Information about the latest builds of apps in a pipeline. A build represents the process of transforming code into build artifacts.",
9931
10517
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9932
10518
  "stability": "production",
9933
10519
  "strictProperties": true,
@@ -9935,7 +10521,131 @@
9935
10521
  "type": [
9936
10522
  "object"
9937
10523
  ],
9938
- "definitions": {
10524
+ "definitions": {},
10525
+ "properties": {
10526
+ "app": {
10527
+ "description": "app that the build belongs to",
10528
+ "properties": {
10529
+ "id": {
10530
+ "description": "unique identifier of the app",
10531
+ "$ref": "#/definitions/app/definitions/id"
10532
+ }
10533
+ },
10534
+ "strictProperties": true,
10535
+ "type": [
10536
+ "object"
10537
+ ]
10538
+ },
10539
+ "buildpacks": {
10540
+ "$ref": "#/definitions/build/definitions/buildpacks"
10541
+ },
10542
+ "created_at": {
10543
+ "description": "when the build was created",
10544
+ "$ref": "#/definitions/build/definitions/created_at"
10545
+ },
10546
+ "id": {
10547
+ "description": "unique identifier of the build",
10548
+ "$ref": "#/definitions/build/definitions/id"
10549
+ },
10550
+ "output_stream_url": {
10551
+ "description": "streaming URL of the build process output",
10552
+ "$ref": "#/definitions/build/definitions/output_stream_url"
10553
+ },
10554
+ "source_blob": {
10555
+ "description": "location of gzipped tarball of source code used to create build",
10556
+ "properties": {
10557
+ "checksum": {
10558
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
10559
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
10560
+ "readOnly": true,
10561
+ "type": [
10562
+ "null",
10563
+ "string"
10564
+ ]
10565
+ },
10566
+ "url": {
10567
+ "description": "URL where gzipped tar archive of source code for build was downloaded.",
10568
+ "example": "https://example.com/source.tgz?token=xyz",
10569
+ "readOnly": true,
10570
+ "type": [
10571
+ "string"
10572
+ ]
10573
+ },
10574
+ "version": {
10575
+ "description": "version of the gzipped tarball",
10576
+ "example": "v1.3.0",
10577
+ "readOnly": true,
10578
+ "type": [
10579
+ "string",
10580
+ "null"
10581
+ ]
10582
+ },
10583
+ "version_description": {
10584
+ "description": "version description of the gzipped tarball",
10585
+ "example": "* Fake User: Change session key",
10586
+ "readOnly": true,
10587
+ "type": [
10588
+ "string",
10589
+ "null"
10590
+ ]
10591
+ }
10592
+ },
10593
+ "strictProperties": true,
10594
+ "type": [
10595
+ "object"
10596
+ ]
10597
+ },
10598
+ "release": {
10599
+ "properties": {
10600
+ "id": {
10601
+ "description": "unique identifier of the release",
10602
+ "$ref": "#/definitions/release/definitions/id"
10603
+ }
10604
+ },
10605
+ "$ref": "#/definitions/build/definitions/release"
10606
+ },
10607
+ "slug": {
10608
+ "description": "slug created by this build",
10609
+ "properties": {
10610
+ "id": {
10611
+ "description": "unique identifier of the slug",
10612
+ "$ref": "#/definitions/slug/definitions/id"
10613
+ }
10614
+ },
10615
+ "strictProperties": true,
10616
+ "type": [
10617
+ "object",
10618
+ "null"
10619
+ ]
10620
+ },
10621
+ "stack": {
10622
+ "description": "stack of the build",
10623
+ "example": "heroku-24",
10624
+ "$ref": "#/definitions/build/definitions/stack"
10625
+ },
10626
+ "status": {
10627
+ "description": "status of the build",
10628
+ "$ref": "#/definitions/build/definitions/status"
10629
+ },
10630
+ "updated_at": {
10631
+ "description": "when the build was updated",
10632
+ "$ref": "#/definitions/build/definitions/updated_at"
10633
+ },
10634
+ "user": {
10635
+ "description": "user that started the build",
10636
+ "properties": {
10637
+ "id": {
10638
+ "$ref": "#/definitions/account/definitions/id"
10639
+ },
10640
+ "email": {
10641
+ "$ref": "#/definitions/account/definitions/email"
10642
+ }
10643
+ },
10644
+ "strictProperties": true,
10645
+ "type": [
10646
+ "object"
10647
+ ]
10648
+ }
9939
10649
  },
9940
10650
  "links": [
9941
10651
  {
@@ -9945,7 +10655,7 @@
9945
10655
  "rel": "instances",
9946
10656
  "targetSchema": {
9947
10657
  "items": {
9948
- "$ref": "#/definitions/build"
10658
+ "$ref": "#/definitions/pipeline-build"
9949
10659
  },
9950
10660
  "type": [
9951
10661
  "array"
@@ -9956,7 +10666,7 @@
9956
10666
  ]
9957
10667
  },
9958
10668
  "pipeline-config-var": {
9959
- "description": "Pipeline Config Vars allow you to manage the configuration information provided to a pipeline.",
10669
+ "description": "Pipeline config vars in Heroku CI and review apps used to manage the configuration information for a pipeline.",
9960
10670
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9961
10671
  "stability": "production",
9962
10672
  "strictProperties": true,
@@ -9985,6 +10695,17 @@
9985
10695
  ]
9986
10696
  }
9987
10697
  },
10698
+ "properties": {
10699
+ "[\"NAME\"]: [\"value\"]": {
10700
+ "type": [
10701
+ "object"
10702
+ ],
10703
+ "description": "user-defined config var name and value",
10704
+ "example": {
10705
+ "FOO": "bar"
10706
+ }
10707
+ }
10708
+ },
9988
10709
  "links": [
9989
10710
  {
9990
10711
  "description": "Get config-vars for a pipeline stage.",
@@ -10277,7 +10998,7 @@
10277
10998
  }
10278
10999
  },
10279
11000
  "pipeline-deployment": {
10280
- "description": "Information about latest deployments of apps in a pipeline.",
11001
+ "description": "Information about the latest deployment of each app in a pipeline. A deployment is the process of moving the build artifacts to a target environment.",
10281
11002
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
10282
11003
  "stability": "production",
10283
11004
  "strictProperties": true,
@@ -10285,11 +11006,105 @@
10285
11006
  "type": [
10286
11007
  "object"
10287
11008
  ],
10288
- "definitions": {
11009
+ "$ref": "#/definitions/release",
11010
+ "properties": {
11011
+ "addon_plan_names": {
11012
+ "description": "add-on plans installed on the app for this deployment",
11013
+ "type": [
11014
+ "array"
11015
+ ],
11016
+ "items": {
11017
+ "$ref": "#/definitions/plan/definitions/name"
11018
+ }
11019
+ },
11020
+ "artifacts": {
11021
+ "$ref": "#/definitions/release/definitions/artifact"
11022
+ },
11023
+ "app": {
11024
+ "description": "app involved in the deployment",
11025
+ "properties": {
11026
+ "name": {
11027
+ "description": "unique name of the app",
11028
+ "$ref": "#/definitions/app/definitions/name"
11029
+ },
11030
+ "id": {
11031
+ "description": "unique identifier of the app",
11032
+ "$ref": "#/definitions/app/definitions/id"
11033
+ }
11034
+ },
11035
+ "type": [
11036
+ "object"
11037
+ ]
11038
+ },
11039
+ "created_at": {
11040
+ "description": "when the deployment was created",
11041
+ "$ref": "#/definitions/release/definitions/created_at"
11042
+ },
11043
+ "description": {
11044
+ "description": "description of changes in this deployment",
11045
+ "$ref": "#/definitions/release/definitions/description"
11046
+ },
11047
+ "id": {
11048
+ "description": "unique identifier of the deployment",
11049
+ "$ref": "#/definitions/release/definitions/id"
11050
+ },
11051
+ "updated_at": {
11052
+ "description": "when the deployment was updated",
11053
+ "$ref": "#/definitions/release/definitions/updated_at"
11054
+ },
11055
+ "slug": {
11056
+ "description": "slug running in this deployment",
11057
+ "properties": {
11058
+ "id": {
11059
+ "description": "unique identifier of the slug",
11060
+ "$ref": "#/definitions/slug/definitions/id"
11061
+ }
11062
+ },
11063
+ "strictProperties": true,
11064
+ "type": [
11065
+ "object",
11066
+ "null"
11067
+ ]
11068
+ },
11069
+ "status": {
11070
+ "description": "current status of the deployment",
11071
+ "$ref": "#/definitions/release/definitions/status"
11072
+ },
11073
+ "user": {
11074
+ "description": "user that created the deployment",
11075
+ "properties": {
11076
+ "id": {
11077
+ "$ref": "#/definitions/account/definitions/id"
11078
+ },
11079
+ "email": {
11080
+ "$ref": "#/definitions/account/definitions/email"
11081
+ }
11082
+ },
11083
+ "strictProperties": true,
11084
+ "type": [
11085
+ "object"
11086
+ ]
11087
+ },
11088
+ "version": {
11089
+ "description": "unique version assigned to the deployment",
11090
+ "$ref": "#/definitions/release/definitions/version"
11091
+ },
11092
+ "current": {
11093
+ "description": "indicates if this deployment is the current one for the app",
11094
+ "$ref": "#/definitions/release/definitions/current"
11095
+ },
11096
+ "output_stream_url": {
11097
+ "description": "streaming URL for the release command output",
11098
+ "$ref": "#/definitions/release/definitions/output_stream_url"
11099
+ },
11100
+ "eligible_for_rollback": {
11101
+ "description": "indicates if this deployment is eligible for rollback",
11102
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11103
+ }
10289
11104
  },
10290
11105
  "links": [
10291
11106
  {
10292
- "description": "List latest slug releases for each app in a pipeline",
11107
+ "description": "List latest deployments for each app in a pipeline. A deployment is a release that changed your source slug, container image, or Heroku processes.",
10293
11108
  "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/latest-deployments",
10294
11109
  "method": "GET",
10295
11110
  "rel": "instances",
@@ -10510,6 +11325,18 @@
10510
11325
  "type": [
10511
11326
  "object"
10512
11327
  ]
11328
+ },
11329
+ "release": {
11330
+ "description": "the specific release to promote from (optional, defaults to current release)",
11331
+ "properties": {
11332
+ "id": {
11333
+ "$ref": "#/definitions/release/definitions/id"
11334
+ }
11335
+ },
11336
+ "strictProperties": true,
11337
+ "type": [
11338
+ "object"
11339
+ ]
10513
11340
  }
10514
11341
  },
10515
11342
  "type": [
@@ -10626,7 +11453,7 @@
10626
11453
  }
10627
11454
  },
10628
11455
  "pipeline-release": {
10629
- "description": "Information about latest releases of apps in a pipeline.",
11456
+ "description": "Information about the latest release of each app in a pipeline. A release makes a deployment available to end-users.",
10630
11457
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
10631
11458
  "stability": "production",
10632
11459
  "strictProperties": true,
@@ -10634,7 +11461,96 @@
10634
11461
  "type": [
10635
11462
  "object"
10636
11463
  ],
10637
- "definitions": {
11464
+ "properties": {
11465
+ "addon_plan_names": {
11466
+ "description": "add-on plans installed on the app for this release",
11467
+ "type": [
11468
+ "array"
11469
+ ],
11470
+ "items": {
11471
+ "$ref": "#/definitions/plan/definitions/name"
11472
+ }
11473
+ },
11474
+ "artifacts": {
11475
+ "$ref": "#/definitions/release/definitions/artifact"
11476
+ },
11477
+ "app": {
11478
+ "description": "app involved in the release",
11479
+ "properties": {
11480
+ "name": {
11481
+ "description": "unique name of the app",
11482
+ "$ref": "#/definitions/app/definitions/name"
11483
+ },
11484
+ "id": {
11485
+ "description": "unique identifier of the app",
11486
+ "$ref": "#/definitions/app/definitions/id"
11487
+ }
11488
+ },
11489
+ "type": [
11490
+ "object"
11491
+ ]
11492
+ },
11493
+ "created_at": {
11494
+ "description": "when the release was created",
11495
+ "$ref": "#/definitions/release/definitions/created_at"
11496
+ },
11497
+ "description": {
11498
+ "$ref": "#/definitions/release/definitions/description"
11499
+ },
11500
+ "id": {
11501
+ "description": "unique identifier of the release",
11502
+ "$ref": "#/definitions/release/definitions/id"
11503
+ },
11504
+ "updated_at": {
11505
+ "description": "when the release was updated",
11506
+ "$ref": "#/definitions/release/definitions/updated_at"
11507
+ },
11508
+ "slug": {
11509
+ "description": "slug running in the release",
11510
+ "properties": {
11511
+ "id": {
11512
+ "description": "unique identifier of the slug",
11513
+ "$ref": "#/definitions/slug/definitions/id"
11514
+ }
11515
+ },
11516
+ "strictProperties": true,
11517
+ "type": [
11518
+ "object",
11519
+ "null"
11520
+ ]
11521
+ },
11522
+ "status": {
11523
+ "$ref": "#/definitions/release/definitions/status"
11524
+ },
11525
+ "user": {
11526
+ "description": "user that created the release",
11527
+ "properties": {
11528
+ "id": {
11529
+ "$ref": "#/definitions/account/definitions/id"
11530
+ },
11531
+ "email": {
11532
+ "$ref": "#/definitions/account/definitions/email"
11533
+ }
11534
+ },
11535
+ "strictProperties": true,
11536
+ "type": [
11537
+ "object"
11538
+ ]
11539
+ },
11540
+ "version": {
11541
+ "$ref": "#/definitions/release/definitions/version"
11542
+ },
11543
+ "current": {
11544
+ "description": "indicates if this release is the current one for the app",
11545
+ "$ref": "#/definitions/release/definitions/current"
11546
+ },
11547
+ "output_stream_url": {
11548
+ "description": "streaming URL of the build process output",
11549
+ "$ref": "#/definitions/release/definitions/output_stream_url"
11550
+ },
11551
+ "eligible_for_rollback": {
11552
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11553
+ }
10638
11554
  },
10639
11555
  "links": [
10640
11556
  {
@@ -10866,8 +11782,7 @@
10866
11782
  ]
10867
11783
  }
10868
11784
  },
10869
- "links": [
10870
- ],
11785
+ "links": [],
10871
11786
  "properties": {
10872
11787
  "id": {
10873
11788
  "$ref": "#/definitions/pipeline/definitions/owner/definitions/id"
@@ -10893,6 +11808,49 @@
10893
11808
  "type": [
10894
11809
  "string"
10895
11810
  ]
11811
+ },
11812
+ "generation": {
11813
+ "description": "the generation of the Heroku platform for this pipeline",
11814
+ "definitions": {
11815
+ "id": {
11816
+ "description": "unique identifier of the generation of the Heroku platform for this pipeline",
11817
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
11818
+ "format": "uuid",
11819
+ "readOnly": true,
11820
+ "type": [
11821
+ "string"
11822
+ ]
11823
+ },
11824
+ "identity": {
11825
+ "anyOf": [
11826
+ {
11827
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/id"
11828
+ },
11829
+ {
11830
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/name"
11831
+ }
11832
+ ]
11833
+ },
11834
+ "name": {
11835
+ "description": "unique name of the generation of the Heroku platform for this pipeline",
11836
+ "example": "cedar",
11837
+ "readOnly": true,
11838
+ "type": [
11839
+ "string"
11840
+ ]
11841
+ }
11842
+ },
11843
+ "properties": {
11844
+ "id": {
11845
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/id"
11846
+ },
11847
+ "name": {
11848
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/name"
11849
+ }
11850
+ },
11851
+ "type": [
11852
+ "object"
11853
+ ]
10896
11854
  }
10897
11855
  },
10898
11856
  "links": [
@@ -10998,6 +11956,9 @@
10998
11956
  },
10999
11957
  "updated_at": {
11000
11958
  "$ref": "#/definitions/pipeline/definitions/updated_at"
11959
+ },
11960
+ "generation": {
11961
+ "$ref": "#/definitions/pipeline/definitions/generation"
11001
11962
  }
11002
11963
  }
11003
11964
  },
@@ -11293,8 +12254,7 @@
11293
12254
  "object"
11294
12255
  ],
11295
12256
  "definitions": {
11296
- "identity": {
11297
- },
12257
+ "identity": {},
11298
12258
  "remaining": {
11299
12259
  "description": "allowed requests remaining in current interval",
11300
12260
  "example": 2399,
@@ -11517,6 +12477,32 @@
11517
12477
  "object"
11518
12478
  ],
11519
12479
  "definitions": {
12480
+ "artifact": {
12481
+ "description": "a build artifact for the release",
12482
+ "properties": {
12483
+ "type": {
12484
+ "description": "type of artifact",
12485
+ "example": "slug",
12486
+ "type": [
12487
+ "string"
12488
+ ]
12489
+ },
12490
+ "id": {
12491
+ "anyOf": [
12492
+ {
12493
+ "$ref": "#/definitions/slug/definitions/id"
12494
+ },
12495
+ {
12496
+ "$ref": "#/definitions/oci-image/definitions/id"
12497
+ }
12498
+ ]
12499
+ }
12500
+ },
12501
+ "readOnly": true,
12502
+ "type": [
12503
+ "object"
12504
+ ]
12505
+ },
11520
12506
  "created_at": {
11521
12507
  "description": "when release was created",
11522
12508
  "example": "2012-01-01T12:00:00Z",
@@ -11539,7 +12525,8 @@
11539
12525
  "enum": [
11540
12526
  "failed",
11541
12527
  "pending",
11542
- "succeeded"
12528
+ "succeeded",
12529
+ "expired"
11543
12530
  ],
11544
12531
  "example": "succeeded",
11545
12532
  "readOnly": true,
@@ -11599,6 +12586,14 @@
11599
12586
  "string",
11600
12587
  "null"
11601
12588
  ]
12589
+ },
12590
+ "eligible_for_rollback": {
12591
+ "description": "indicates if this release is eligible for rollback",
12592
+ "example": true,
12593
+ "readOnly": true,
12594
+ "type": [
12595
+ "boolean"
12596
+ ]
11602
12597
  }
11603
12598
  },
11604
12599
  "links": [
@@ -11637,6 +12632,9 @@
11637
12632
  "description": {
11638
12633
  "$ref": "#/definitions/release/definitions/description"
11639
12634
  },
12635
+ "oci_image": {
12636
+ "$ref": "#/definitions/oci-image/definitions/identity"
12637
+ },
11640
12638
  "slug": {
11641
12639
  "$ref": "#/definitions/slug/definitions/identity"
11642
12640
  }
@@ -11687,6 +12685,15 @@
11687
12685
  "$ref": "#/definitions/plan/definitions/name"
11688
12686
  }
11689
12687
  },
12688
+ "artifacts": {
12689
+ "description": "build artifacts for the release",
12690
+ "type": [
12691
+ "array"
12692
+ ],
12693
+ "items": {
12694
+ "$ref": "#/definitions/release/definitions/artifact"
12695
+ }
12696
+ },
11690
12697
  "app": {
11691
12698
  "description": "app involved in the release",
11692
12699
  "properties": {
@@ -11752,6 +12759,9 @@
11752
12759
  },
11753
12760
  "output_stream_url": {
11754
12761
  "$ref": "#/definitions/release/definitions/output_stream_url"
12762
+ },
12763
+ "eligible_for_rollback": {
12764
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11755
12765
  }
11756
12766
  }
11757
12767
  },
@@ -12195,8 +13205,7 @@
12195
13205
  ]
12196
13206
  }
12197
13207
  },
12198
- "links": [
12199
- ],
13208
+ "links": [],
12200
13209
  "properties": {
12201
13210
  "id": {
12202
13211
  "$ref": "#/definitions/review-app-config/definitions/deploy_target/definitions/id"
@@ -12484,6 +13493,16 @@
12484
13493
  "type": [
12485
13494
  "string"
12486
13495
  ]
13496
+ },
13497
+ "deleted_at": {
13498
+ "description": "when slug was deleted",
13499
+ "example": "2012-01-01T12:00:00Z",
13500
+ "format": "date-time",
13501
+ "readOnly": true,
13502
+ "type": [
13503
+ "string",
13504
+ "null"
13505
+ ]
12487
13506
  }
12488
13507
  },
12489
13508
  "links": [
@@ -12614,6 +13633,9 @@
12614
13633
  },
12615
13634
  "updated_at": {
12616
13635
  "$ref": "#/definitions/slug/definitions/updated_at"
13636
+ },
13637
+ "deleted_at": {
13638
+ "$ref": "#/definitions/slug/definitions/deleted_at"
12617
13639
  }
12618
13640
  }
12619
13641
  },
@@ -13554,6 +14576,32 @@
13554
14576
  "type": [
13555
14577
  "string"
13556
14578
  ]
14579
+ },
14580
+ "generation": {
14581
+ "description": "Generation of the Heroku platform for this space",
14582
+ "readOnly": true,
14583
+ "type": [
14584
+ "object"
14585
+ ],
14586
+ "properties": {
14587
+ "id": {
14588
+ "description": "unique identifier of the generation of the Heroku platform for this space",
14589
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
14590
+ "format": "uuid",
14591
+ "readOnly": true,
14592
+ "type": [
14593
+ "string"
14594
+ ]
14595
+ },
14596
+ "name": {
14597
+ "description": "unique name of the generation of the Heroku platform for this space",
14598
+ "example": "cedar",
14599
+ "readOnly": true,
14600
+ "type": [
14601
+ "string"
14602
+ ]
14603
+ }
14604
+ }
13557
14605
  }
13558
14606
  },
13559
14607
  "links": [
@@ -13639,6 +14687,14 @@
13639
14687
  },
13640
14688
  "log_drain_url": {
13641
14689
  "$ref": "#/definitions/space/definitions/log_drain_url"
14690
+ },
14691
+ "generation": {
14692
+ "description": "unique name of the generation of the Heroku platform for this space",
14693
+ "example": "cedar",
14694
+ "readOnly": true,
14695
+ "type": [
14696
+ "string"
14697
+ ]
13642
14698
  }
13643
14699
  },
13644
14700
  "required": [
@@ -13719,6 +14775,9 @@
13719
14775
  },
13720
14776
  "data_cidr": {
13721
14777
  "$ref": "#/definitions/space/definitions/data_cidr"
14778
+ },
14779
+ "generation": {
14780
+ "$ref": "#/definitions/space/definitions/generation"
13722
14781
  }
13723
14782
  }
13724
14783
  },
@@ -13819,6 +14878,21 @@
13819
14878
  ]
13820
14879
  },
13821
14880
  "title": "List"
14881
+ },
14882
+ {
14883
+ "description": "List available app stacks for an app.",
14884
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/available-stacks",
14885
+ "method": "GET",
14886
+ "rel": "instances",
14887
+ "targetSchema": {
14888
+ "items": {
14889
+ "$ref": "#/definitions/stack"
14890
+ },
14891
+ "type": [
14892
+ "array"
14893
+ ]
14894
+ },
14895
+ "title": "List by App"
13822
14896
  }
13823
14897
  ],
13824
14898
  "properties": {
@@ -15583,7 +16657,7 @@
15583
16657
  }
15584
16658
  },
15585
16659
  "connect": {
15586
- "description": "average connect rows synced",
16660
+ "description": "max connect rows synced",
15587
16661
  "example": 15000,
15588
16662
  "readOnly": true,
15589
16663
  "type": [
@@ -16313,6 +17387,309 @@
16313
17387
  }
16314
17388
  }
16315
17389
  },
17390
+ "telemetry-drain": {
17391
+ "description": "A telemetry drain forwards OpenTelemetry traces, metrics, and logs to your own consumer. For Fir-generation apps only.",
17392
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
17393
+ "stability": "prototype",
17394
+ "strictProperties": true,
17395
+ "title": "Heroku Platform API - Telemetry Drain",
17396
+ "type": [
17397
+ "object"
17398
+ ],
17399
+ "definitions": {
17400
+ "id": {
17401
+ "description": "unique identifier of telemetry drain",
17402
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17403
+ "format": "uuid",
17404
+ "readOnly": true,
17405
+ "type": [
17406
+ "string"
17407
+ ]
17408
+ },
17409
+ "identity": {
17410
+ "anyOf": [
17411
+ {
17412
+ "$ref": "#/definitions/telemetry-drain/definitions/id"
17413
+ }
17414
+ ]
17415
+ },
17416
+ "created_at": {
17417
+ "description": "when the telemetry drain was created",
17418
+ "example": "2024-12-01T12:00:00Z",
17419
+ "format": "date-time",
17420
+ "readOnly": true,
17421
+ "type": [
17422
+ "string"
17423
+ ]
17424
+ },
17425
+ "updated_at": {
17426
+ "description": "when telemetry drain was last updated",
17427
+ "example": "2012-01-01T12:00:00Z",
17428
+ "format": "date-time",
17429
+ "readOnly": true,
17430
+ "type": [
17431
+ "string"
17432
+ ]
17433
+ },
17434
+ "signal": {
17435
+ "description": "OpenTelemetry signal to be sent to the telemetry drain",
17436
+ "readOnly": true,
17437
+ "example": "traces",
17438
+ "type": [
17439
+ "string"
17440
+ ],
17441
+ "enum": [
17442
+ "traces",
17443
+ "metrics",
17444
+ "logs"
17445
+ ]
17446
+ },
17447
+ "signals": {
17448
+ "description": "OpenTelemetry signals to send to telemetry drain",
17449
+ "example": [
17450
+ "traces",
17451
+ "metrics"
17452
+ ],
17453
+ "readOnly": false,
17454
+ "minItems": 1,
17455
+ "uniqueItems": true,
17456
+ "type": [
17457
+ "array"
17458
+ ],
17459
+ "items": {
17460
+ "$ref": "#/definitions/telemetry-drain/definitions/signal"
17461
+ }
17462
+ },
17463
+ "exporter_type": {
17464
+ "description": "the transport type to be used for your OpenTelemetry consumer",
17465
+ "readOnly": true,
17466
+ "example": "otlphttp",
17467
+ "type": [
17468
+ "string"
17469
+ ],
17470
+ "enum": [
17471
+ "otlphttp",
17472
+ "otlp"
17473
+ ]
17474
+ },
17475
+ "exporter_endpoint": {
17476
+ "description": "URI of your OpenTelemetry consumer",
17477
+ "readOnly": false,
17478
+ "example": "https://api.otelproduct.example/consumer",
17479
+ "maxLength": 1000,
17480
+ "type": [
17481
+ "string"
17482
+ ]
17483
+ },
17484
+ "exporter_headers": {
17485
+ "description": "JSON headers to send to your OpenTelemetry consumer",
17486
+ "readOnly": false,
17487
+ "example": {
17488
+ "API-Key": "example_api_key_012345",
17489
+ "Environment": "production"
17490
+ },
17491
+ "default": {},
17492
+ "additionalProperties": false,
17493
+ "maxItems": 20,
17494
+ "patternProperties": {
17495
+ "^[A-Za-z0-9\\-_]{1,100}$": {
17496
+ "maxLength": 1000,
17497
+ "type": [
17498
+ "string"
17499
+ ]
17500
+ }
17501
+ },
17502
+ "type": [
17503
+ "object"
17504
+ ]
17505
+ },
17506
+ "exporter": {
17507
+ "description": "OpenTelemetry exporter configuration",
17508
+ "readOnly": false,
17509
+ "additionalProperties": false,
17510
+ "properties": {
17511
+ "type": {
17512
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_type"
17513
+ },
17514
+ "endpoint": {
17515
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_endpoint"
17516
+ },
17517
+ "headers": {
17518
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_headers"
17519
+ }
17520
+ },
17521
+ "required": [
17522
+ "type",
17523
+ "endpoint"
17524
+ ],
17525
+ "type": [
17526
+ "object"
17527
+ ]
17528
+ },
17529
+ "owner": {
17530
+ "description": "entity that owns this telemetry drain",
17531
+ "properties": {
17532
+ "id": {
17533
+ "description": "unique identifier of owner",
17534
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17535
+ "format": "uuid",
17536
+ "readOnly": true,
17537
+ "type": [
17538
+ "string"
17539
+ ]
17540
+ },
17541
+ "type": {
17542
+ "description": "type of owner",
17543
+ "enum": [
17544
+ "app",
17545
+ "space"
17546
+ ],
17547
+ "example": "app",
17548
+ "readOnly": true,
17549
+ "type": [
17550
+ "string"
17551
+ ]
17552
+ }
17553
+ },
17554
+ "readOnly": false,
17555
+ "required": [
17556
+ "id",
17557
+ "type"
17558
+ ],
17559
+ "type": [
17560
+ "object"
17561
+ ]
17562
+ }
17563
+ },
17564
+ "links": [
17565
+ {
17566
+ "description": "Create a telemetry drain.",
17567
+ "href": "/telemetry-drains",
17568
+ "method": "POST",
17569
+ "rel": "create",
17570
+ "schema": {
17571
+ "additionalProperties": false,
17572
+ "properties": {
17573
+ "owner": {
17574
+ "$ref": "#/definitions/telemetry-drain/definitions/owner"
17575
+ },
17576
+ "signals": {
17577
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17578
+ },
17579
+ "exporter": {
17580
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17581
+ }
17582
+ },
17583
+ "required": [
17584
+ "owner",
17585
+ "signals",
17586
+ "exporter"
17587
+ ],
17588
+ "type": [
17589
+ "object"
17590
+ ]
17591
+ },
17592
+ "targetSchema": {
17593
+ "$ref": "#/definitions/telemetry-drain"
17594
+ },
17595
+ "title": "Create"
17596
+ },
17597
+ {
17598
+ "description": "List telemetry drains for an app.",
17599
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/telemetry-drains",
17600
+ "method": "GET",
17601
+ "rel": "instances",
17602
+ "targetSchema": {
17603
+ "items": {
17604
+ "$ref": "#/definitions/telemetry-drain"
17605
+ },
17606
+ "type": [
17607
+ "array"
17608
+ ]
17609
+ },
17610
+ "title": "List by App"
17611
+ },
17612
+ {
17613
+ "description": "List telemetry drains for a space.",
17614
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/telemetry-drains",
17615
+ "method": "GET",
17616
+ "rel": "instances",
17617
+ "targetSchema": {
17618
+ "items": {
17619
+ "$ref": "#/definitions/telemetry-drain"
17620
+ },
17621
+ "type": [
17622
+ "array"
17623
+ ]
17624
+ },
17625
+ "title": "List by Space"
17626
+ },
17627
+ {
17628
+ "description": "Update a telemetry drain.",
17629
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17630
+ "method": "PATCH",
17631
+ "rel": "update",
17632
+ "schema": {
17633
+ "additionalProperties": false,
17634
+ "properties": {
17635
+ "signals": {
17636
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17637
+ },
17638
+ "exporter": {
17639
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17640
+ }
17641
+ },
17642
+ "type": [
17643
+ "object"
17644
+ ]
17645
+ },
17646
+ "targetSchema": {
17647
+ "$ref": "#/definitions/telemetry-drain"
17648
+ },
17649
+ "title": "Update"
17650
+ },
17651
+ {
17652
+ "description": "Delete a telemetry drain.",
17653
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17654
+ "method": "DELETE",
17655
+ "rel": "destroy",
17656
+ "targetSchema": {
17657
+ "$ref": "#/definitions/telemetry-drain"
17658
+ },
17659
+ "title": "Delete"
17660
+ },
17661
+ {
17662
+ "description": "Info for a telemetry drain.",
17663
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17664
+ "method": "GET",
17665
+ "rel": "self",
17666
+ "targetSchema": {
17667
+ "$ref": "#/definitions/telemetry-drain"
17668
+ },
17669
+ "title": "Info"
17670
+ }
17671
+ ],
17672
+ "properties": {
17673
+ "created_at": {
17674
+ "$ref": "#/definitions/telemetry-drain/definitions/created_at"
17675
+ },
17676
+ "id": {
17677
+ "$ref": "#/definitions/telemetry-drain/definitions/id"
17678
+ },
17679
+ "owner": {
17680
+ "$ref": "#/definitions/telemetry-drain/definitions/owner"
17681
+ },
17682
+ "signals": {
17683
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17684
+ },
17685
+ "exporter": {
17686
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17687
+ },
17688
+ "updated_at": {
17689
+ "$ref": "#/definitions/telemetry-drain/definitions/updated_at"
17690
+ }
17691
+ }
17692
+ },
16316
17693
  "test-case": {
16317
17694
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
16318
17695
  "title": "Test Case",
@@ -17567,6 +18944,9 @@
17567
18944
  "formation": {
17568
18945
  "$ref": "#/definitions/formation"
17569
18946
  },
18947
+ "generation": {
18948
+ "$ref": "#/definitions/generation"
18949
+ },
17570
18950
  "identity-provider": {
17571
18951
  "$ref": "#/definitions/identity-provider"
17572
18952
  },
@@ -17600,8 +18980,8 @@
17600
18980
  "oauth-token": {
17601
18981
  "$ref": "#/definitions/oauth-token"
17602
18982
  },
17603
- "outbound-ruleset": {
17604
- "$ref": "#/definitions/outbound-ruleset"
18983
+ "oci-image": {
18984
+ "$ref": "#/definitions/oci-image"
17605
18985
  },
17606
18986
  "password-reset": {
17607
18987
  "$ref": "#/definitions/password-reset"
@@ -17735,6 +19115,9 @@
17735
19115
  "team": {
17736
19116
  "$ref": "#/definitions/team"
17737
19117
  },
19118
+ "telemetry-drain": {
19119
+ "$ref": "#/definitions/telemetry-drain"
19120
+ },
17738
19121
  "test-case": {
17739
19122
  "$ref": "#/definitions/test-case"
17740
19123
  },