platform-api 3.7.0 → 3.8.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.",
@@ -1347,6 +1345,27 @@
1347
1345
  "type": [
1348
1346
  "string"
1349
1347
  ]
1348
+ },
1349
+ "supported_generations": {
1350
+ "description": "generations supported by this add-on",
1351
+ "readonly": true,
1352
+ "type": [
1353
+ "array"
1354
+ ],
1355
+ "items": {
1356
+ "type": [
1357
+ "object"
1358
+ ],
1359
+ "properties": {
1360
+ "name": {
1361
+ "$ref": "#/definitions/generation/definitions/name",
1362
+ "example": "cedar"
1363
+ },
1364
+ "id": {
1365
+ "$ref": "#/definitions/generation/definitions/id"
1366
+ }
1367
+ }
1368
+ }
1350
1369
  }
1351
1370
  },
1352
1371
  "links": [
@@ -1403,6 +1422,9 @@
1403
1422
  },
1404
1423
  "updated_at": {
1405
1424
  "$ref": "#/definitions/add-on-service/definitions/updated_at"
1425
+ },
1426
+ "supported_generations": {
1427
+ "$ref": "#/definitions/add-on-service/definitions/supported_generations"
1406
1428
  }
1407
1429
  }
1408
1430
  },
@@ -3793,6 +3815,32 @@
3793
3815
  "string"
3794
3816
  ]
3795
3817
  },
3818
+ "generation": {
3819
+ "description": "Generation of the Heroku platform for this app",
3820
+ "readOnly": true,
3821
+ "type": [
3822
+ "object"
3823
+ ],
3824
+ "properties": {
3825
+ "id": {
3826
+ "description": "unique identifier of the generation of the Heroku platform for this app",
3827
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
3828
+ "format": "uuid",
3829
+ "readOnly": true,
3830
+ "type": [
3831
+ "string"
3832
+ ]
3833
+ },
3834
+ "name": {
3835
+ "description": "unique name of the generation of the Heroku platform for this app",
3836
+ "example": "cedar",
3837
+ "readOnly": true,
3838
+ "type": [
3839
+ "string"
3840
+ ]
3841
+ }
3842
+ }
3843
+ },
3796
3844
  "git_url": {
3797
3845
  "description": "git repo URL of app",
3798
3846
  "example": "https://git.heroku.com/example.git",
@@ -4081,6 +4129,9 @@
4081
4129
  "created_at": {
4082
4130
  "$ref": "#/definitions/app/definitions/created_at"
4083
4131
  },
4132
+ "generation": {
4133
+ "$ref": "#/definitions/app/definitions/generation"
4134
+ },
4084
4135
  "git_url": {
4085
4136
  "$ref": "#/definitions/app/definitions/git_url"
4086
4137
  },
@@ -4536,7 +4587,7 @@
4536
4587
  },
4537
4588
  "build": {
4538
4589
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
4539
- "description": "A build represents the process of transforming a code tarball into a slug",
4590
+ "description": "A build represents the process of transforming a code tarball into build artifacts",
4540
4591
  "title": "Heroku Build API - Build",
4541
4592
  "stability": "production",
4542
4593
  "strictProperties": false,
@@ -4553,7 +4604,7 @@
4553
4604
  ],
4554
4605
  "definitions": {
4555
4606
  "buildpacks": {
4556
- "description": "buildpacks executed for this build, in order",
4607
+ "description": "buildpacks executed for this build, in order (only applicable to Cedar-generation apps)",
4557
4608
  "type": [
4558
4609
  "array",
4559
4610
  "null"
@@ -4823,7 +4874,7 @@
4823
4874
  "$ref": "#/definitions/build/definitions/release"
4824
4875
  },
4825
4876
  "slug": {
4826
- "description": "slug created by this build",
4877
+ "description": "slug created by this build (only applicable for Cedar-generation apps)",
4827
4878
  "properties": {
4828
4879
  "id": {
4829
4880
  "$ref": "#/definitions/slug/definitions/id"
@@ -5688,6 +5739,14 @@
5688
5739
  "object"
5689
5740
  ],
5690
5741
  "definitions": {
5742
+ "architecture": {
5743
+ "description": "CPU architecture of this dyno size",
5744
+ "example": "amd64",
5745
+ "readOnly": true,
5746
+ "type": [
5747
+ "string"
5748
+ ]
5749
+ },
5691
5750
  "compute": {
5692
5751
  "description": "minimum vCPUs, non-dedicated may get more depending on load",
5693
5752
  "example": 1,
@@ -5704,8 +5763,34 @@
5704
5763
  "boolean"
5705
5764
  ]
5706
5765
  },
5766
+ "generation": {
5767
+ "description": "Generation of the Heroku platform for this dyno size",
5768
+ "readOnly": true,
5769
+ "type": [
5770
+ "object"
5771
+ ],
5772
+ "properties": {
5773
+ "id": {
5774
+ "description": "unique identifier of the generation of the Heroku platform for this dyno size",
5775
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
5776
+ "format": "uuid",
5777
+ "readOnly": true,
5778
+ "type": [
5779
+ "string"
5780
+ ]
5781
+ },
5782
+ "name": {
5783
+ "description": "unique name of the generation of the Heroku platform for this dyno size",
5784
+ "example": "cedar",
5785
+ "readOnly": true,
5786
+ "type": [
5787
+ "string"
5788
+ ]
5789
+ }
5790
+ }
5791
+ },
5707
5792
  "id": {
5708
- "description": "unique identifier of this dyno size",
5793
+ "description": "unique identifier of the dyno size",
5709
5794
  "example": "01234567-89ab-cdef-0123-456789abcdef",
5710
5795
  "format": "uuid",
5711
5796
  "readOnly": true,
@@ -5732,7 +5817,7 @@
5732
5817
  ]
5733
5818
  },
5734
5819
  "name": {
5735
- "description": "the name of this dyno-size",
5820
+ "description": "name of the dyno size",
5736
5821
  "example": "eco",
5737
5822
  "readOnly": true,
5738
5823
  "type": [
@@ -5765,15 +5850,6 @@
5765
5850
  }
5766
5851
  }
5767
5852
  },
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
5853
  "precise_dyno_units": {
5778
5854
  "description": "unit of consumption for Heroku Enterprise customers to 2 decimal places",
5779
5855
  "example": 0.28,
@@ -5816,9 +5892,24 @@
5816
5892
  ]
5817
5893
  },
5818
5894
  "title": "List"
5895
+ },
5896
+ {
5897
+ "description": "List available dyno sizes for an app",
5898
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/available-dyno-sizes",
5899
+ "method": "GET",
5900
+ "rel": "available-app-dynos",
5901
+ "targetSchema": {
5902
+ "items": {
5903
+ "$ref": "#/definitions/dyno-size"
5904
+ }
5905
+ },
5906
+ "title": "List App Dyno Sizes"
5819
5907
  }
5820
5908
  ],
5821
5909
  "properties": {
5910
+ "architecture": {
5911
+ "$ref": "#/definitions/dyno-size/definitions/architecture"
5912
+ },
5822
5913
  "compute": {
5823
5914
  "$ref": "#/definitions/dyno-size/definitions/compute"
5824
5915
  },
@@ -5828,12 +5919,12 @@
5828
5919
  "dedicated": {
5829
5920
  "$ref": "#/definitions/dyno-size/definitions/dedicated"
5830
5921
  },
5831
- "dyno_units": {
5832
- "$ref": "#/definitions/dyno-size/definitions/dyno_units"
5833
- },
5834
5922
  "precise_dyno_units": {
5835
5923
  "$ref": "#/definitions/dyno-size/definitions/precise_dyno_units"
5836
5924
  },
5925
+ "generation": {
5926
+ "$ref": "#/definitions/dyno-size/definitions/generation"
5927
+ },
5837
5928
  "id": {
5838
5929
  "$ref": "#/definitions/dyno-size/definitions/id"
5839
5930
  },
@@ -5939,6 +6030,14 @@
5939
6030
  "string"
5940
6031
  ]
5941
6032
  },
6033
+ "formation_type": {
6034
+ "description": "the formation type of this process on this dyno",
6035
+ "example": "run",
6036
+ "readOnly": true,
6037
+ "type": [
6038
+ "string"
6039
+ ]
6040
+ },
5942
6041
  "force_no_tty": {
5943
6042
  "description": "force an attached one-off dyno to not run in a tty",
5944
6043
  "example": null,
@@ -6045,6 +6144,19 @@
6045
6144
  },
6046
6145
  "title": "Restart"
6047
6146
  },
6147
+ {
6148
+ "description": "Restart dynos of a given formation type.",
6149
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/formations/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fformation_type)}",
6150
+ "method": "DELETE",
6151
+ "rel": "empty",
6152
+ "targetSchema": {
6153
+ "additionalProperties": false,
6154
+ "type": [
6155
+ "object"
6156
+ ]
6157
+ },
6158
+ "title": "Restart formation"
6159
+ },
6048
6160
  {
6049
6161
  "description": "Restart all dynos.",
6050
6162
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/dynos",
@@ -6071,6 +6183,19 @@
6071
6183
  },
6072
6184
  "title": "Stop"
6073
6185
  },
6186
+ {
6187
+ "description": "Stop dynos of a given formation type.",
6188
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/formations/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fformation_type)}/actions/stop",
6189
+ "method": "POST",
6190
+ "rel": "empty",
6191
+ "targetSchema": {
6192
+ "additionalProperties": false,
6193
+ "type": [
6194
+ "object"
6195
+ ]
6196
+ },
6197
+ "title": "Stop formation"
6198
+ },
6074
6199
  {
6075
6200
  "description": "Info for existing dyno.",
6076
6201
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/dynos/{(%23%2Fdefinitions%2Fdyno%2Fdefinitions%2Fidentity)}",
@@ -6626,7 +6751,7 @@
6626
6751
  ]
6627
6752
  },
6628
6753
  "connect": {
6629
- "description": "average connect rows synced",
6754
+ "description": "max connect rows synced",
6630
6755
  "example": 15000,
6631
6756
  "readOnly": true,
6632
6757
  "type": [
@@ -7076,6 +7201,50 @@
7076
7201
  "string"
7077
7202
  ]
7078
7203
  },
7204
+ "dyno_size": {
7205
+ "description": "dyno size",
7206
+ "example": {
7207
+ "id": "01234567-89ab-cdef-0123-456789abcdef"
7208
+ },
7209
+ "oneOf": [
7210
+ {
7211
+ "required": [
7212
+ "id"
7213
+ ]
7214
+ },
7215
+ {
7216
+ "required": [
7217
+ "name"
7218
+ ]
7219
+ }
7220
+ ],
7221
+ "properties": {
7222
+ "id": {
7223
+ "description": "unique identifier of the dyno size",
7224
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
7225
+ "format": "uuid",
7226
+ "readOnly": true,
7227
+ "type": [
7228
+ "string"
7229
+ ]
7230
+ },
7231
+ "name": {
7232
+ "description": "name of the dyno size",
7233
+ "example": "Standard-1X",
7234
+ "readOnly": true,
7235
+ "type": [
7236
+ "string"
7237
+ ]
7238
+ }
7239
+ },
7240
+ "readOnly": false,
7241
+ "required": [
7242
+ "id"
7243
+ ],
7244
+ "type": [
7245
+ "object"
7246
+ ]
7247
+ },
7079
7248
  "id": {
7080
7249
  "description": "unique identifier of this process type",
7081
7250
  "example": "01234567-89ab-cdef-0123-456789abcdef",
@@ -7104,7 +7273,8 @@
7104
7273
  ]
7105
7274
  },
7106
7275
  "size": {
7107
- "description": "dyno size",
7276
+ "deprecated": true,
7277
+ "description": "deprecated, refer to 'dyno_size' instead",
7108
7278
  "example": "standard-1X",
7109
7279
  "readOnly": false,
7110
7280
  "type": [
@@ -7133,12 +7303,12 @@
7133
7303
  "additionalProperties": false,
7134
7304
  "description": "Properties to update a process type",
7135
7305
  "properties": {
7306
+ "dyno_size": {
7307
+ "$ref": "#/definitions/formation/definitions/dyno_size"
7308
+ },
7136
7309
  "quantity": {
7137
7310
  "$ref": "#/definitions/formation/definitions/quantity"
7138
7311
  },
7139
- "size": {
7140
- "$ref": "#/definitions/formation/definitions/size"
7141
- },
7142
7312
  "type": {
7143
7313
  "$ref": "#/definitions/formation/definitions/type"
7144
7314
  }
@@ -7192,7 +7362,7 @@
7192
7362
  "items": {
7193
7363
  "$ref": "#/definitions/formation/definitions/update"
7194
7364
  },
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\"."
7365
+ "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
7366
  }
7197
7367
  },
7198
7368
  "required": [
@@ -7219,11 +7389,11 @@
7219
7389
  "rel": "update",
7220
7390
  "schema": {
7221
7391
  "properties": {
7392
+ "dyno_size": {
7393
+ "$ref": "#/definitions/formation/definitions/dyno_size"
7394
+ },
7222
7395
  "quantity": {
7223
7396
  "$ref": "#/definitions/formation/definitions/quantity"
7224
- },
7225
- "size": {
7226
- "$ref": "#/definitions/formation/definitions/size"
7227
7397
  }
7228
7398
  },
7229
7399
  "type": [
@@ -7260,6 +7430,20 @@
7260
7430
  "created_at": {
7261
7431
  "$ref": "#/definitions/formation/definitions/created_at"
7262
7432
  },
7433
+ "dyno_size": {
7434
+ "description": "dyno size",
7435
+ "properties": {
7436
+ "id": {
7437
+ "$ref": "#/definitions/dyno-size/definitions/id"
7438
+ },
7439
+ "name": {
7440
+ "$ref": "#/definitions/dyno-size/definitions/name"
7441
+ }
7442
+ },
7443
+ "type": [
7444
+ "object"
7445
+ ]
7446
+ },
7263
7447
  "id": {
7264
7448
  "$ref": "#/definitions/formation/definitions/id"
7265
7449
  },
@@ -7277,43 +7461,27 @@
7277
7461
  }
7278
7462
  }
7279
7463
  },
7280
- "identity-provider": {
7281
- "description": "Identity Providers represent the SAML configuration of teams or an Enterprise account",
7464
+ "generation": {
7465
+ "description": "A generation represents a version of the Heroku platform that includes the app execution environment, routing, telemetry, and build systems.",
7282
7466
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7283
- "stability": "production",
7467
+ "stability": "prototype",
7284
7468
  "strictProperties": true,
7285
- "title": "Heroku Platform API - Identity Provider",
7469
+ "title": "Heroku Platform API - Generation",
7286
7470
  "type": [
7287
7471
  "object"
7288
7472
  ],
7289
7473
  "definitions": {
7290
- "certificate": {
7291
- "description": "raw contents of the public certificate (eg: .crt or .pem file)",
7292
- "example": "-----BEGIN CERTIFICATE----- ...",
7293
- "readOnly": false,
7294
- "type": [
7295
- "string"
7296
- ]
7297
- },
7298
7474
  "created_at": {
7299
- "description": "when provider record was created",
7300
- "example": "2012-01-01T12:00:00Z",
7475
+ "description": "when generation was created",
7476
+ "example": "2024-12-01T12:00:00Z",
7301
7477
  "format": "date-time",
7302
7478
  "readOnly": true,
7303
7479
  "type": [
7304
7480
  "string"
7305
7481
  ]
7306
7482
  },
7307
- "entity_id": {
7308
- "description": "URL identifier provided by the identity provider",
7309
- "example": "https://customer-domain.idp.com",
7310
- "readOnly": false,
7311
- "type": [
7312
- "string"
7313
- ]
7314
- },
7315
7483
  "id": {
7316
- "description": "unique identifier of this identity provider",
7484
+ "description": "unique identifier of generation",
7317
7485
  "example": "01234567-89ab-cdef-0123-456789abcdef",
7318
7486
  "format": "uuid",
7319
7487
  "readOnly": true,
@@ -7321,60 +7489,189 @@
7321
7489
  "string"
7322
7490
  ]
7323
7491
  },
7324
- "name": {
7325
- "description": "user-friendly unique identifier for this identity provider",
7326
- "example": "acme-sso",
7327
- "type": [
7328
- "string"
7329
- ]
7330
- },
7331
- "slo_target_url": {
7332
- "description": "single log out URL for this identity provider",
7333
- "example": "https://example.com/idp/logout",
7334
- "readOnly": false,
7335
- "type": [
7336
- "string"
7492
+ "identity": {
7493
+ "anyOf": [
7494
+ {
7495
+ "$ref": "#/definitions/generation/definitions/name"
7496
+ },
7497
+ {
7498
+ "$ref": "#/definitions/generation/definitions/id"
7499
+ }
7337
7500
  ]
7338
7501
  },
7339
- "sso_target_url": {
7340
- "description": "single sign on URL for this identity provider",
7341
- "example": "https://example.com/idp/login",
7342
- "readOnly": false,
7502
+ "name": {
7503
+ "description": "unique name of generation",
7504
+ "example": "fir",
7505
+ "readOnly": true,
7343
7506
  "type": [
7344
7507
  "string"
7345
7508
  ]
7346
7509
  },
7347
7510
  "updated_at": {
7348
- "description": "when the identity provider record was updated",
7349
- "example": "2012-01-01T12:00:00Z",
7511
+ "description": "when generation was updated",
7512
+ "example": "2024-12-01T12:00:00Z",
7350
7513
  "format": "date-time",
7351
7514
  "readOnly": true,
7352
7515
  "type": [
7353
7516
  "string"
7354
7517
  ]
7518
+ }
7519
+ },
7520
+ "links": [
7521
+ {
7522
+ "description": "Info for generation.",
7523
+ "href": "/generations/{(%23%2Fdefinitions%2Fstack%2Fdefinitions%2Fidentity)}",
7524
+ "method": "GET",
7525
+ "rel": "self",
7526
+ "targetSchema": {
7527
+ "$ref": "#/definitions/generation"
7528
+ },
7529
+ "title": "Info"
7355
7530
  },
7356
- "owner": {
7357
- "description": "entity that owns this identity provider",
7358
- "properties": {
7359
- "id": {
7360
- "description": "unique identifier of the owner",
7361
- "example": "01234567-89ab-cdef-0123-456789abcdef",
7362
- "format": "uuid",
7363
- "readOnly": true,
7364
- "type": [
7365
- "string"
7366
- ]
7367
- },
7368
- "name": {
7369
- "description": "name of the owner",
7370
- "example": "acme",
7371
- "readOnly": true,
7372
- "type": [
7373
- "string"
7374
- ]
7531
+ {
7532
+ "description": "List available generations.",
7533
+ "href": "/generations",
7534
+ "method": "GET",
7535
+ "rel": "instances",
7536
+ "targetSchema": {
7537
+ "items": {
7538
+ "$ref": "#/definitions/generation"
7375
7539
  },
7376
- "type": {
7377
- "description": "type of the owner",
7540
+ "type": [
7541
+ "array"
7542
+ ]
7543
+ },
7544
+ "title": "List"
7545
+ },
7546
+ {
7547
+ "description": "List available generations for a team.",
7548
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/available-generations",
7549
+ "method": "GET",
7550
+ "rel": "instances",
7551
+ "targetSchema": {
7552
+ "items": {
7553
+ "$ref": "#/definitions/generation"
7554
+ },
7555
+ "type": [
7556
+ "array"
7557
+ ]
7558
+ },
7559
+ "title": "List by Team"
7560
+ }
7561
+ ],
7562
+ "properties": {
7563
+ "created_at": {
7564
+ "$ref": "#/definitions/generation/definitions/created_at"
7565
+ },
7566
+ "id": {
7567
+ "$ref": "#/definitions/generation/definitions/id"
7568
+ },
7569
+ "name": {
7570
+ "$ref": "#/definitions/generation/definitions/name"
7571
+ },
7572
+ "updated_at": {
7573
+ "$ref": "#/definitions/generation/definitions/updated_at"
7574
+ }
7575
+ }
7576
+ },
7577
+ "identity-provider": {
7578
+ "description": "Identity Providers represent the SAML configuration of teams or an Enterprise account",
7579
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
7580
+ "stability": "production",
7581
+ "strictProperties": true,
7582
+ "title": "Heroku Platform API - Identity Provider",
7583
+ "type": [
7584
+ "object"
7585
+ ],
7586
+ "definitions": {
7587
+ "certificate": {
7588
+ "description": "raw contents of the public certificate (eg: .crt or .pem file)",
7589
+ "example": "-----BEGIN CERTIFICATE----- ...",
7590
+ "readOnly": false,
7591
+ "type": [
7592
+ "string"
7593
+ ]
7594
+ },
7595
+ "created_at": {
7596
+ "description": "when provider record was created",
7597
+ "example": "2012-01-01T12:00:00Z",
7598
+ "format": "date-time",
7599
+ "readOnly": true,
7600
+ "type": [
7601
+ "string"
7602
+ ]
7603
+ },
7604
+ "entity_id": {
7605
+ "description": "URL identifier provided by the identity provider",
7606
+ "example": "https://customer-domain.idp.com",
7607
+ "readOnly": false,
7608
+ "type": [
7609
+ "string"
7610
+ ]
7611
+ },
7612
+ "id": {
7613
+ "description": "unique identifier of this identity provider",
7614
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
7615
+ "format": "uuid",
7616
+ "readOnly": true,
7617
+ "type": [
7618
+ "string"
7619
+ ]
7620
+ },
7621
+ "name": {
7622
+ "description": "user-friendly unique identifier for this identity provider",
7623
+ "example": "acme-sso",
7624
+ "type": [
7625
+ "string"
7626
+ ]
7627
+ },
7628
+ "slo_target_url": {
7629
+ "description": "single log out URL for this identity provider",
7630
+ "example": "https://example.com/idp/logout",
7631
+ "readOnly": false,
7632
+ "type": [
7633
+ "string"
7634
+ ]
7635
+ },
7636
+ "sso_target_url": {
7637
+ "description": "single sign on URL for this identity provider",
7638
+ "example": "https://example.com/idp/login",
7639
+ "readOnly": false,
7640
+ "type": [
7641
+ "string"
7642
+ ]
7643
+ },
7644
+ "updated_at": {
7645
+ "description": "when the identity provider record was updated",
7646
+ "example": "2012-01-01T12:00:00Z",
7647
+ "format": "date-time",
7648
+ "readOnly": true,
7649
+ "type": [
7650
+ "string"
7651
+ ]
7652
+ },
7653
+ "owner": {
7654
+ "description": "entity that owns this identity provider",
7655
+ "properties": {
7656
+ "id": {
7657
+ "description": "unique identifier of the owner",
7658
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
7659
+ "format": "uuid",
7660
+ "readOnly": true,
7661
+ "type": [
7662
+ "string"
7663
+ ]
7664
+ },
7665
+ "name": {
7666
+ "description": "name of the owner",
7667
+ "example": "acme",
7668
+ "readOnly": true,
7669
+ "type": [
7670
+ "string"
7671
+ ]
7672
+ },
7673
+ "type": {
7674
+ "description": "type of the owner",
7378
7675
  "enum": [
7379
7676
  "team",
7380
7677
  "enterprise-account"
@@ -7641,6 +7938,9 @@
7641
7938
  "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/inbound-ruleset",
7642
7939
  "method": "PUT",
7643
7940
  "rel": "create",
7941
+ "targetSchema": {
7942
+ "$ref": "#/definitions/inbound-ruleset"
7943
+ },
7644
7944
  "schema": {
7645
7945
  "type": [
7646
7946
  "object"
@@ -8426,9 +8726,17 @@
8426
8726
  "string"
8427
8727
  ]
8428
8728
  },
8429
- "dyno": {
8430
- "description": "dyno to limit results to",
8431
- "example": "web.1",
8729
+ "dyno_name": {
8730
+ "description": "dyno name to limit results to",
8731
+ "example": "'web.1' (Cedar-generation) or 'web-1234abcde-123ab' (Fir-generation)",
8732
+ "readOnly": false,
8733
+ "type": [
8734
+ "string"
8735
+ ]
8736
+ },
8737
+ "type": {
8738
+ "description": "process type to limit results to",
8739
+ "example": "web",
8432
8740
  "readOnly": false,
8433
8741
  "type": [
8434
8742
  "string"
@@ -8500,8 +8808,11 @@
8500
8808
  "rel": "create",
8501
8809
  "schema": {
8502
8810
  "properties": {
8503
- "dyno": {
8504
- "$ref": "#/definitions/log-session/definitions/dyno"
8811
+ "dyno_name": {
8812
+ "$ref": "#/definitions/log-session/definitions/dyno_name"
8813
+ },
8814
+ "type": {
8815
+ "$ref": "#/definitions/log-session/definitions/type"
8505
8816
  },
8506
8817
  "lines": {
8507
8818
  "$ref": "#/definitions/log-session/definitions/lines"
@@ -8659,6 +8970,43 @@
8659
8970
  },
8660
8971
  "title": "Info"
8661
8972
  },
8973
+ {
8974
+ "description": "Update an existing OAuth authorization.",
8975
+ "href": "/oauth/authorizations/{(%23%2Fdefinitions%2Foauth-authorization%2Fdefinitions%2Fidentity)}",
8976
+ "method": "PATCH",
8977
+ "rel": "update",
8978
+ "targetSchema": {
8979
+ "$ref": "#/definitions/oauth-authorization"
8980
+ },
8981
+ "schema": {
8982
+ "properties": {
8983
+ "description": {
8984
+ "$ref": "#/definitions/oauth-authorization/definitions/description"
8985
+ },
8986
+ "client": {
8987
+ "type": [
8988
+ "object"
8989
+ ],
8990
+ "description": "identifier of the client that obtained this authorization",
8991
+ "properties": {
8992
+ "id": {
8993
+ "$ref": "#/definitions/oauth-client/definitions/id"
8994
+ },
8995
+ "secret": {
8996
+ "$ref": "#/definitions/oauth-client/definitions/secret"
8997
+ }
8998
+ }
8999
+ }
9000
+ },
9001
+ "required": [
9002
+ "client"
9003
+ ],
9004
+ "type": [
9005
+ "object"
9006
+ ]
9007
+ },
9008
+ "title": "Update"
9009
+ },
8662
9010
  {
8663
9011
  "description": "List OAuth authorizations.",
8664
9012
  "href": "/oauth/authorizations",
@@ -8725,6 +9073,9 @@
8725
9073
  "created_at": {
8726
9074
  "$ref": "#/definitions/oauth-authorization/definitions/created_at"
8727
9075
  },
9076
+ "description": {
9077
+ "$ref": "#/definitions/oauth-authorization/definitions/description"
9078
+ },
8728
9079
  "grant": {
8729
9080
  "description": "this authorization's grant",
8730
9081
  "properties": {
@@ -8769,6 +9120,19 @@
8769
9120
  "scope": {
8770
9121
  "$ref": "#/definitions/oauth-authorization/definitions/scope"
8771
9122
  },
9123
+ "session": {
9124
+ "description": "this authorization's session",
9125
+ "properties": {
9126
+ "id": {
9127
+ "$ref": "#/definitions/oauth-token/definitions/id"
9128
+ }
9129
+ },
9130
+ "strictProperties": true,
9131
+ "type": [
9132
+ "null",
9133
+ "object"
9134
+ ]
9135
+ },
8772
9136
  "updated_at": {
8773
9137
  "$ref": "#/definitions/oauth-authorization/definitions/updated_at"
8774
9138
  },
@@ -9039,10 +9403,8 @@
9039
9403
  ]
9040
9404
  }
9041
9405
  },
9042
- "links": [
9043
- ],
9044
- "properties": {
9045
- }
9406
+ "links": [],
9407
+ "properties": {}
9046
9408
  },
9047
9409
  "oauth-token": {
9048
9410
  "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 +9647,355 @@
9285
9647
  }
9286
9648
  }
9287
9649
  },
9288
- "outbound-ruleset": {
9289
- "description": "An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with. ",
9650
+ "oci-image": {
9651
+ "description": "An OCI (Open Container Initiative) image is a standardized format for packaging and distributing containerized applications, ready to run on the platform.",
9290
9652
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9291
- "stability": "deprecation",
9653
+ "stability": "prototype",
9292
9654
  "strictProperties": true,
9293
- "title": "Heroku Platform API - Outbound Ruleset",
9294
- "deprecated_at": "2024-04-30",
9295
- "deactivate_on": "2024-06-03",
9655
+ "title": "Heroku Platform API - OCI Image",
9296
9656
  "type": [
9297
9657
  "object"
9298
9658
  ],
9299
9659
  "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]))$",
9304
- "readOnly": false,
9660
+ "id": {
9661
+ "description": "unique identifier of the OCI image",
9662
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
9663
+ "format": "uuid",
9664
+ "readOnly": true,
9305
9665
  "type": [
9306
9666
  "string"
9307
9667
  ]
9308
9668
  },
9309
- "created_at": {
9310
- "description": "when outbound-ruleset was created",
9311
- "example": "2012-01-01T12:00:00Z",
9312
- "format": "date-time",
9313
- "readOnly": true,
9669
+ "digest": {
9670
+ "description": "unique identifier representing the content of the OCI image",
9671
+ "example": "sha256:dc14ae5fbc1e7230e0a782bf216fb46500e210631703bcc6bab8acf2c6a23f42",
9672
+ "readOnly": false,
9314
9673
  "type": [
9315
9674
  "string"
9316
9675
  ]
9317
9676
  },
9318
- "id": {
9319
- "description": "unique identifier of an outbound-ruleset",
9320
- "example": "01234567-89ab-cdef-0123-456789abcdef",
9321
- "format": "uuid",
9322
- "readOnly": true,
9677
+ "architecture": {
9678
+ "description": "build architecture for OCI image",
9679
+ "example": "arm64",
9680
+ "readOnly": false,
9681
+ "type": [
9682
+ "string",
9683
+ "null"
9684
+ ]
9685
+ },
9686
+ "identity": {
9687
+ "anyOf": [
9688
+ {
9689
+ "$ref": "#/definitions/oci-image/definitions/id"
9690
+ },
9691
+ {
9692
+ "$ref": "#/definitions/oci-image/definitions/digest"
9693
+ }
9694
+ ]
9695
+ },
9696
+ "base_image_name": {
9697
+ "description": "name of the image used for the base layers of the OCI image",
9698
+ "example": "heroku/heroku:22-cnb",
9699
+ "readOnly": false,
9323
9700
  "type": [
9324
9701
  "string"
9325
9702
  ]
9326
9703
  },
9327
- "port": {
9328
- "description": "an endpoint of communication in an operating system.",
9329
- "example": 80,
9704
+ "base_top_layer": {
9705
+ "description": "the digest of the top most layer of the base image.",
9706
+ "example": "sha256:ea36ae5fbc1e7230e0a782bf216fb46500e210382703baa6bab8acf2c6a23f78",
9330
9707
  "readOnly": false,
9331
9708
  "type": [
9332
- "integer"
9709
+ "string"
9333
9710
  ]
9334
9711
  },
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",
9712
+ "commit": {
9713
+ "description": "identification of the code in your version control system (eg: SHA of the git HEAD)",
9714
+ "example": "60883d9e8947a57e04dc9124f25df004866a2051",
9338
9715
  "readOnly": false,
9339
9716
  "type": [
9340
9717
  "string"
9341
9718
  ]
9342
9719
  },
9343
- "identity": {
9344
- "anyOf": [
9345
- {
9346
- "$ref": "#/definitions/outbound-ruleset/definitions/id"
9347
- }
9720
+ "commit_description": {
9721
+ "description": "an optional description of the provided commit",
9722
+ "example": "fixed a bug with API documentation",
9723
+ "readOnly": false,
9724
+ "type": [
9725
+ "string"
9348
9726
  ]
9349
9727
  },
9350
- "rule": {
9351
- "description": "the combination of an IP address in CIDR notation, a from_port, to_port and protocol.",
9728
+ "image_repo": {
9729
+ "description": "name of the image registry repository used for storage",
9730
+ "example": "d7ba1ace-b396-4691-968c-37ae53153426/builds",
9731
+ "readOnly": false,
9352
9732
  "type": [
9353
- "object"
9354
- ],
9733
+ "string"
9734
+ ]
9735
+ },
9736
+ "process_type": {
9737
+ "description": "process type information such as names and commands",
9738
+ "readOnly": false,
9355
9739
  "properties": {
9356
- "target": {
9357
- "$ref": "#/definitions/outbound-ruleset/definitions/target"
9740
+ "name": {
9741
+ "description": "name of the process type",
9742
+ "example": "web",
9743
+ "type": [
9744
+ "string"
9745
+ ]
9358
9746
  },
9359
- "from_port": {
9360
- "$ref": "#/definitions/outbound-ruleset/definitions/port"
9747
+ "display_cmd": {
9748
+ "description": "the detailed command used for display purposes",
9749
+ "example": "bundle exec puma -p $PORT",
9750
+ "type": [
9751
+ "string"
9752
+ ]
9361
9753
  },
9362
- "to_port": {
9363
- "$ref": "#/definitions/outbound-ruleset/definitions/port"
9754
+ "command": {
9755
+ "description": "the command that will be executed",
9756
+ "example": "/cnb/process/web",
9757
+ "type": [
9758
+ "string"
9759
+ ]
9364
9760
  },
9365
- "protocol": {
9366
- "$ref": "#/definitions/outbound-ruleset/definitions/protocol"
9761
+ "working_dir": {
9762
+ "description": "working directory",
9763
+ "example": "/worspace/webapp",
9764
+ "type": [
9765
+ "string"
9766
+ ]
9767
+ },
9768
+ "default": {
9769
+ "description": "true if it is the default process type",
9770
+ "example": true,
9771
+ "type": [
9772
+ "boolean",
9773
+ "null"
9774
+ ]
9367
9775
  }
9368
9776
  },
9369
- "required": [
9370
- "target",
9371
- "from_port",
9372
- "to_port",
9373
- "protocol"
9777
+ "example": {
9778
+ "name": "web",
9779
+ "display_cmd": "bundle exec puma -p $PORT",
9780
+ "command": "/cnb/process/web",
9781
+ "working_dir": "/workspace/webapp",
9782
+ "default": true
9783
+ },
9784
+ "type": [
9785
+ "object"
9374
9786
  ]
9375
- }
9376
- },
9377
- "links": [
9378
- {
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"
9787
+ },
9788
+ "process_types": {
9789
+ "description": "process types of the OCI image",
9790
+ "patternProperties": {
9791
+ "^[-\\w]{1,128}$": {
9792
+ "$ref": "#/definitions/oci-image/definitions/process_type"
9793
+ }
9385
9794
  },
9386
- "title": "Current"
9795
+ "example": {
9796
+ "web": {
9797
+ "name": "web",
9798
+ "display_cmd": "bundle exec puma -p $PORT",
9799
+ "command": "/cnb/process/web",
9800
+ "working_dir": "/workspace/webapp",
9801
+ "default": true
9802
+ }
9803
+ },
9804
+ "type": [
9805
+ "object"
9806
+ ]
9387
9807
  },
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)}",
9391
- "method": "GET",
9392
- "rel": "self",
9393
- "targetSchema": {
9394
- "$ref": "#/definitions/outbound-ruleset"
9808
+ "buildpack": {
9809
+ "description": "set of executables that inspects app source code and creates a plan to build and run your image",
9810
+ "readOnly": false,
9811
+ "properties": {
9812
+ "id": {
9813
+ "description": "identifier of the buildpack",
9814
+ "example": "heroku/ruby",
9815
+ "type": [
9816
+ "string"
9817
+ ]
9818
+ },
9819
+ "version": {
9820
+ "description": "version of the buildpack",
9821
+ "example": "2.0.0",
9822
+ "type": [
9823
+ "string"
9824
+ ]
9825
+ },
9826
+ "homepage": {
9827
+ "description": "homepage of the buildpack",
9828
+ "example": "https://github.com/heroku/buildpacks-ruby",
9829
+ "type": [
9830
+ "string"
9831
+ ]
9832
+ }
9395
9833
  },
9396
- "title": "Info"
9834
+ "example": {
9835
+ "id": "heroku/ruby",
9836
+ "version": "2.0.0",
9837
+ "homepage": "https://github.com/heroku/buildpacks-ruby"
9838
+ },
9839
+ "type": [
9840
+ "object"
9841
+ ]
9842
+ },
9843
+ "buildpacks": {
9844
+ "description": "buildpacks of the OCI image",
9845
+ "items": {
9846
+ "$ref": "#/definitions/oci-image/definitions/buildpack"
9847
+ },
9848
+ "type": [
9849
+ "array"
9850
+ ]
9851
+ },
9852
+ "stack": {
9853
+ "description": "stack associated to the OCI image",
9854
+ "readOnly": false,
9855
+ "properties": {
9856
+ "id": {
9857
+ "$ref": "#/definitions/stack/definitions/id",
9858
+ "example": "ba46bf09-7bd1-42fd-90df-a1a9a93eb4a2"
9859
+ },
9860
+ "name": {
9861
+ "$ref": "#/definitions/stack/definitions/name",
9862
+ "example": "cnb"
9863
+ }
9864
+ },
9865
+ "type": [
9866
+ "object"
9867
+ ]
9868
+ },
9869
+ "created_at": {
9870
+ "description": "when the OCI image was created",
9871
+ "example": "2012-01-01T12:00:00Z",
9872
+ "format": "date-time",
9873
+ "readOnly": true,
9874
+ "type": [
9875
+ "string"
9876
+ ]
9397
9877
  },
9878
+ "updated_at": {
9879
+ "description": "when the OCI image was updated",
9880
+ "example": "2012-01-01T12:00:00Z",
9881
+ "format": "date-time",
9882
+ "readOnly": true,
9883
+ "type": [
9884
+ "string"
9885
+ ]
9886
+ }
9887
+ },
9888
+ "links": [
9398
9889
  {
9399
- "description": "List all Outbound Rulesets for a space",
9400
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets",
9890
+ "description": "Info for the OCI images of an app, filtered by identifier.",
9891
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/oci-images/{(%23%2Fdefinitions%2Foci-image%2Fdefinitions%2Fidentity)}",
9401
9892
  "method": "GET",
9402
- "rel": "instances",
9893
+ "rel": "self",
9403
9894
  "targetSchema": {
9404
9895
  "items": {
9405
- "$ref": "#/definitions/outbound-ruleset"
9896
+ "$ref": "#/definitions/oci-image"
9406
9897
  },
9407
9898
  "type": [
9408
9899
  "array"
9409
9900
  ]
9410
9901
  },
9411
- "title": "List"
9902
+ "title": "Info"
9412
9903
  },
9413
9904
  {
9414
- "description": "Create a new outbound ruleset",
9415
- "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
9416
- "method": "PUT",
9905
+ "description": "Create an new OCI image of an app",
9906
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/oci-images",
9907
+ "method": "POST",
9417
9908
  "rel": "create",
9418
9909
  "schema": {
9419
- "type": [
9420
- "object"
9421
- ],
9422
9910
  "properties": {
9423
- "rules": {
9424
- "type": [
9425
- "array"
9426
- ],
9427
- "items": {
9428
- "$ref": "#/definitions/outbound-ruleset/definitions/rule"
9429
- }
9911
+ "architecture": {
9912
+ "$ref": "#/definitions/oci-image/definitions/architecture"
9913
+ },
9914
+ "base_image_name": {
9915
+ "$ref": "#/definitions/oci-image/definitions/base_image_name"
9916
+ },
9917
+ "base_top_layer": {
9918
+ "$ref": "#/definitions/oci-image/definitions/base_top_layer"
9919
+ },
9920
+ "commit": {
9921
+ "$ref": "#/definitions/oci-image/definitions/commit"
9922
+ },
9923
+ "commit_description": {
9924
+ "$ref": "#/definitions/oci-image/definitions/commit_description"
9925
+ },
9926
+ "image_repo": {
9927
+ "$ref": "#/definitions/oci-image/definitions/image_repo"
9928
+ },
9929
+ "digest": {
9930
+ "$ref": "#/definitions/oci-image/definitions/digest"
9931
+ },
9932
+ "stack": {
9933
+ "anyOf": [
9934
+ {
9935
+ "$ref": "#/definitions/stack/definitions/name",
9936
+ "example": "cnb"
9937
+ },
9938
+ {
9939
+ "$ref": "#/definitions/stack/definitions/id"
9940
+ }
9941
+ ]
9942
+ },
9943
+ "process_types": {
9944
+ "$ref": "#/definitions/oci-image/definitions/process_types"
9945
+ },
9946
+ "buildpacks": {
9947
+ "$ref": "#/definitions/oci-image/definitions/buildpacks"
9430
9948
  }
9431
- }
9949
+ },
9950
+ "type": [
9951
+ "object"
9952
+ ]
9953
+ },
9954
+ "targetSchema": {
9955
+ "$ref": "#/definitions/oci-image"
9432
9956
  },
9433
9957
  "title": "Create"
9434
9958
  }
9435
9959
  ],
9436
9960
  "properties": {
9437
9961
  "id": {
9438
- "$ref": "#/definitions/outbound-ruleset/definitions/id"
9962
+ "$ref": "#/definitions/oci-image/definitions/id"
9439
9963
  },
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
- ]
9964
+ "base_image_name": {
9965
+ "$ref": "#/definitions/oci-image/definitions/base_image_name"
9966
+ },
9967
+ "base_top_layer": {
9968
+ "$ref": "#/definitions/oci-image/definitions/base_top_layer"
9969
+ },
9970
+ "commit": {
9971
+ "$ref": "#/definitions/oci-image/definitions/commit"
9972
+ },
9973
+ "commit_description": {
9974
+ "$ref": "#/definitions/oci-image/definitions/commit_description"
9975
+ },
9976
+ "image_repo": {
9977
+ "$ref": "#/definitions/oci-image/definitions/image_repo"
9978
+ },
9979
+ "digest": {
9980
+ "$ref": "#/definitions/oci-image/definitions/digest"
9981
+ },
9982
+ "stack": {
9983
+ "$ref": "#/definitions/oci-image/definitions/stack"
9984
+ },
9985
+ "process_types": {
9986
+ "$ref": "#/definitions/oci-image/definitions/process_types"
9987
+ },
9988
+ "buildpacks": {
9989
+ "$ref": "#/definitions/oci-image/definitions/buildpacks"
9453
9990
  },
9454
9991
  "created_at": {
9455
- "$ref": "#/definitions/outbound-ruleset/definitions/created_at"
9992
+ "$ref": "#/definitions/oci-image/definitions/created_at"
9456
9993
  },
9457
- "rules": {
9458
- "type": [
9459
- "array"
9460
- ],
9461
- "items": {
9462
- "$ref": "#/definitions/outbound-ruleset/definitions/rule"
9463
- }
9994
+ "updated_at": {
9995
+ "$ref": "#/definitions/oci-image/definitions/updated_at"
9464
9996
  },
9465
- "created_by": {
9466
- "$ref": "#/definitions/account/definitions/email"
9997
+ "architecture": {
9998
+ "$ref": "#/definitions/oci-image/definitions/architecture"
9467
9999
  }
9468
10000
  }
9469
10001
  },
@@ -9921,21 +10453,145 @@
9921
10453
  }
9922
10454
  },
9923
10455
  "type": [
9924
- "array"
10456
+ "array"
10457
+ ]
10458
+ }
10459
+ }
10460
+ },
10461
+ "pipeline-build": {
10462
+ "description": "Information about the latest builds of apps in a pipeline. A build represents the process of transforming code into build artifacts.",
10463
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
10464
+ "stability": "production",
10465
+ "strictProperties": true,
10466
+ "title": "Heroku Platform API - Pipeline Build",
10467
+ "type": [
10468
+ "object"
10469
+ ],
10470
+ "definitions": {},
10471
+ "properties": {
10472
+ "app": {
10473
+ "description": "app that the build belongs to",
10474
+ "properties": {
10475
+ "id": {
10476
+ "description": "unique identifier of the app",
10477
+ "$ref": "#/definitions/app/definitions/id"
10478
+ }
10479
+ },
10480
+ "strictProperties": true,
10481
+ "type": [
10482
+ "object"
10483
+ ]
10484
+ },
10485
+ "buildpacks": {
10486
+ "$ref": "#/definitions/build/definitions/buildpacks"
10487
+ },
10488
+ "created_at": {
10489
+ "description": "when the build was created",
10490
+ "$ref": "#/definitions/build/definitions/created_at"
10491
+ },
10492
+ "id": {
10493
+ "description": "unique identifier of the build",
10494
+ "$ref": "#/definitions/build/definitions/id"
10495
+ },
10496
+ "output_stream_url": {
10497
+ "description": "streaming URL of the build process output",
10498
+ "$ref": "#/definitions/build/definitions/output_stream_url"
10499
+ },
10500
+ "source_blob": {
10501
+ "description": "location of gzipped tarball of source code used to create build",
10502
+ "properties": {
10503
+ "checksum": {
10504
+ "description": "an optional checksum of the gzipped tarball for verifying its integrity",
10505
+ "example": "SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
10506
+ "readOnly": true,
10507
+ "type": [
10508
+ "null",
10509
+ "string"
10510
+ ]
10511
+ },
10512
+ "url": {
10513
+ "description": "URL where gzipped tar archive of source code for build was downloaded.",
10514
+ "example": "https://example.com/source.tgz?token=xyz",
10515
+ "readOnly": true,
10516
+ "type": [
10517
+ "string"
10518
+ ]
10519
+ },
10520
+ "version": {
10521
+ "description": "version of the gzipped tarball",
10522
+ "example": "v1.3.0",
10523
+ "readOnly": true,
10524
+ "type": [
10525
+ "string",
10526
+ "null"
10527
+ ]
10528
+ },
10529
+ "version_description": {
10530
+ "description": "version description of the gzipped tarball",
10531
+ "example": "* Fake User: Change session key",
10532
+ "readOnly": true,
10533
+ "type": [
10534
+ "string",
10535
+ "null"
10536
+ ]
10537
+ }
10538
+ },
10539
+ "strictProperties": true,
10540
+ "type": [
10541
+ "object"
10542
+ ]
10543
+ },
10544
+ "release": {
10545
+ "properties": {
10546
+ "id": {
10547
+ "description": "unique identifier of the release",
10548
+ "$ref": "#/definitions/release/definitions/id"
10549
+ }
10550
+ },
10551
+ "$ref": "#/definitions/build/definitions/release"
10552
+ },
10553
+ "slug": {
10554
+ "description": "slug created by this build",
10555
+ "properties": {
10556
+ "id": {
10557
+ "description": "unique identifier of the slug",
10558
+ "$ref": "#/definitions/slug/definitions/id"
10559
+ }
10560
+ },
10561
+ "strictProperties": true,
10562
+ "type": [
10563
+ "object",
10564
+ "null"
10565
+ ]
10566
+ },
10567
+ "stack": {
10568
+ "description": "stack of the build",
10569
+ "example": "heroku-24",
10570
+ "$ref": "#/definitions/build/definitions/stack"
10571
+ },
10572
+ "status": {
10573
+ "description": "status of the build",
10574
+ "$ref": "#/definitions/build/definitions/status"
10575
+ },
10576
+ "updated_at": {
10577
+ "description": "when the build was updated",
10578
+ "$ref": "#/definitions/build/definitions/updated_at"
10579
+ },
10580
+ "user": {
10581
+ "description": "user that started the build",
10582
+ "properties": {
10583
+ "id": {
10584
+ "$ref": "#/definitions/account/definitions/id"
10585
+ },
10586
+ "email": {
10587
+ "$ref": "#/definitions/account/definitions/email"
10588
+ }
10589
+ },
10590
+ "strictProperties": true,
10591
+ "type": [
10592
+ "object"
9925
10593
  ]
9926
10594
  }
9927
- }
9928
- },
9929
- "pipeline-build": {
9930
- "description": "Information about latest builds of apps in a pipeline.",
9931
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
9932
- "stability": "production",
9933
- "strictProperties": true,
9934
- "title": "Heroku Platform API - Pipeline Build",
9935
- "type": [
9936
- "object"
9937
- ],
9938
- "definitions": {
9939
10595
  },
9940
10596
  "links": [
9941
10597
  {
@@ -9945,7 +10601,7 @@
9945
10601
  "rel": "instances",
9946
10602
  "targetSchema": {
9947
10603
  "items": {
9948
- "$ref": "#/definitions/build"
10604
+ "$ref": "#/definitions/pipeline-build"
9949
10605
  },
9950
10606
  "type": [
9951
10607
  "array"
@@ -9956,7 +10612,7 @@
9956
10612
  ]
9957
10613
  },
9958
10614
  "pipeline-config-var": {
9959
- "description": "Pipeline Config Vars allow you to manage the configuration information provided to a pipeline.",
10615
+ "description": "Pipeline config vars in Heroku CI and review apps used to manage the configuration information for a pipeline.",
9960
10616
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9961
10617
  "stability": "production",
9962
10618
  "strictProperties": true,
@@ -9985,6 +10641,17 @@
9985
10641
  ]
9986
10642
  }
9987
10643
  },
10644
+ "properties": {
10645
+ "[\"NAME\"]: [\"value\"]": {
10646
+ "type": [
10647
+ "object"
10648
+ ],
10649
+ "description": "user-defined config var name and value",
10650
+ "example": {
10651
+ "FOO": "bar"
10652
+ }
10653
+ }
10654
+ },
9988
10655
  "links": [
9989
10656
  {
9990
10657
  "description": "Get config-vars for a pipeline stage.",
@@ -10277,7 +10944,7 @@
10277
10944
  }
10278
10945
  },
10279
10946
  "pipeline-deployment": {
10280
- "description": "Information about latest deployments of apps in a pipeline.",
10947
+ "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
10948
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
10282
10949
  "stability": "production",
10283
10950
  "strictProperties": true,
@@ -10285,11 +10952,105 @@
10285
10952
  "type": [
10286
10953
  "object"
10287
10954
  ],
10288
- "definitions": {
10955
+ "$ref": "#/definitions/release",
10956
+ "properties": {
10957
+ "addon_plan_names": {
10958
+ "description": "add-on plans installed on the app for this deployment",
10959
+ "type": [
10960
+ "array"
10961
+ ],
10962
+ "items": {
10963
+ "$ref": "#/definitions/plan/definitions/name"
10964
+ }
10965
+ },
10966
+ "artifacts": {
10967
+ "$ref": "#/definitions/release/definitions/artifact"
10968
+ },
10969
+ "app": {
10970
+ "description": "app involved in the deployment",
10971
+ "properties": {
10972
+ "name": {
10973
+ "description": "unique name of the app",
10974
+ "$ref": "#/definitions/app/definitions/name"
10975
+ },
10976
+ "id": {
10977
+ "description": "unique identifier of the app",
10978
+ "$ref": "#/definitions/app/definitions/id"
10979
+ }
10980
+ },
10981
+ "type": [
10982
+ "object"
10983
+ ]
10984
+ },
10985
+ "created_at": {
10986
+ "description": "when the deployment was created",
10987
+ "$ref": "#/definitions/release/definitions/created_at"
10988
+ },
10989
+ "description": {
10990
+ "description": "description of changes in this deployment",
10991
+ "$ref": "#/definitions/release/definitions/description"
10992
+ },
10993
+ "id": {
10994
+ "description": "unique identifier of the deployment",
10995
+ "$ref": "#/definitions/release/definitions/id"
10996
+ },
10997
+ "updated_at": {
10998
+ "description": "when the deployment was updated",
10999
+ "$ref": "#/definitions/release/definitions/updated_at"
11000
+ },
11001
+ "slug": {
11002
+ "description": "slug running in this deployment",
11003
+ "properties": {
11004
+ "id": {
11005
+ "description": "unique identifier of the slug",
11006
+ "$ref": "#/definitions/slug/definitions/id"
11007
+ }
11008
+ },
11009
+ "strictProperties": true,
11010
+ "type": [
11011
+ "object",
11012
+ "null"
11013
+ ]
11014
+ },
11015
+ "status": {
11016
+ "description": "current status of the deployment",
11017
+ "$ref": "#/definitions/release/definitions/status"
11018
+ },
11019
+ "user": {
11020
+ "description": "user that created the deployment",
11021
+ "properties": {
11022
+ "id": {
11023
+ "$ref": "#/definitions/account/definitions/id"
11024
+ },
11025
+ "email": {
11026
+ "$ref": "#/definitions/account/definitions/email"
11027
+ }
11028
+ },
11029
+ "strictProperties": true,
11030
+ "type": [
11031
+ "object"
11032
+ ]
11033
+ },
11034
+ "version": {
11035
+ "description": "unique version assigned to the deployment",
11036
+ "$ref": "#/definitions/release/definitions/version"
11037
+ },
11038
+ "current": {
11039
+ "description": "indicates if this deployment is the current one for the app",
11040
+ "$ref": "#/definitions/release/definitions/current"
11041
+ },
11042
+ "output_stream_url": {
11043
+ "description": "streaming URL for the release command output",
11044
+ "$ref": "#/definitions/release/definitions/output_stream_url"
11045
+ },
11046
+ "eligible_for_rollback": {
11047
+ "description": "indicates if this deployment is eligible for rollback",
11048
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11049
+ }
10289
11050
  },
10290
11051
  "links": [
10291
11052
  {
10292
- "description": "List latest slug releases for each app in a pipeline",
11053
+ "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
11054
  "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/latest-deployments",
10294
11055
  "method": "GET",
10295
11056
  "rel": "instances",
@@ -10626,7 +11387,7 @@
10626
11387
  }
10627
11388
  },
10628
11389
  "pipeline-release": {
10629
- "description": "Information about latest releases of apps in a pipeline.",
11390
+ "description": "Information about the latest release of each app in a pipeline. A release makes a deployment available to end-users.",
10630
11391
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
10631
11392
  "stability": "production",
10632
11393
  "strictProperties": true,
@@ -10634,7 +11395,96 @@
10634
11395
  "type": [
10635
11396
  "object"
10636
11397
  ],
10637
- "definitions": {
11398
+ "properties": {
11399
+ "addon_plan_names": {
11400
+ "description": "add-on plans installed on the app for this release",
11401
+ "type": [
11402
+ "array"
11403
+ ],
11404
+ "items": {
11405
+ "$ref": "#/definitions/plan/definitions/name"
11406
+ }
11407
+ },
11408
+ "artifacts": {
11409
+ "$ref": "#/definitions/release/definitions/artifact"
11410
+ },
11411
+ "app": {
11412
+ "description": "app involved in the release",
11413
+ "properties": {
11414
+ "name": {
11415
+ "description": "unique name of the app",
11416
+ "$ref": "#/definitions/app/definitions/name"
11417
+ },
11418
+ "id": {
11419
+ "description": "unique identifier of the app",
11420
+ "$ref": "#/definitions/app/definitions/id"
11421
+ }
11422
+ },
11423
+ "type": [
11424
+ "object"
11425
+ ]
11426
+ },
11427
+ "created_at": {
11428
+ "description": "when the release was created",
11429
+ "$ref": "#/definitions/release/definitions/created_at"
11430
+ },
11431
+ "description": {
11432
+ "$ref": "#/definitions/release/definitions/description"
11433
+ },
11434
+ "id": {
11435
+ "description": "unique identifier of the release",
11436
+ "$ref": "#/definitions/release/definitions/id"
11437
+ },
11438
+ "updated_at": {
11439
+ "description": "when the release was updated",
11440
+ "$ref": "#/definitions/release/definitions/updated_at"
11441
+ },
11442
+ "slug": {
11443
+ "description": "slug running in the release",
11444
+ "properties": {
11445
+ "id": {
11446
+ "description": "unique identifier of the slug",
11447
+ "$ref": "#/definitions/slug/definitions/id"
11448
+ }
11449
+ },
11450
+ "strictProperties": true,
11451
+ "type": [
11452
+ "object",
11453
+ "null"
11454
+ ]
11455
+ },
11456
+ "status": {
11457
+ "$ref": "#/definitions/release/definitions/status"
11458
+ },
11459
+ "user": {
11460
+ "description": "user that created the release",
11461
+ "properties": {
11462
+ "id": {
11463
+ "$ref": "#/definitions/account/definitions/id"
11464
+ },
11465
+ "email": {
11466
+ "$ref": "#/definitions/account/definitions/email"
11467
+ }
11468
+ },
11469
+ "strictProperties": true,
11470
+ "type": [
11471
+ "object"
11472
+ ]
11473
+ },
11474
+ "version": {
11475
+ "$ref": "#/definitions/release/definitions/version"
11476
+ },
11477
+ "current": {
11478
+ "description": "indicates if this release is the current one for the app",
11479
+ "$ref": "#/definitions/release/definitions/current"
11480
+ },
11481
+ "output_stream_url": {
11482
+ "description": "streaming URL of the build process output",
11483
+ "$ref": "#/definitions/release/definitions/output_stream_url"
11484
+ },
11485
+ "eligible_for_rollback": {
11486
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11487
+ }
10638
11488
  },
10639
11489
  "links": [
10640
11490
  {
@@ -10866,8 +11716,7 @@
10866
11716
  ]
10867
11717
  }
10868
11718
  },
10869
- "links": [
10870
- ],
11719
+ "links": [],
10871
11720
  "properties": {
10872
11721
  "id": {
10873
11722
  "$ref": "#/definitions/pipeline/definitions/owner/definitions/id"
@@ -10893,6 +11742,49 @@
10893
11742
  "type": [
10894
11743
  "string"
10895
11744
  ]
11745
+ },
11746
+ "generation": {
11747
+ "description": "the generation of the Heroku platform for this pipeline",
11748
+ "definitions": {
11749
+ "id": {
11750
+ "description": "unique identifier of the generation of the Heroku platform for this pipeline",
11751
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
11752
+ "format": "uuid",
11753
+ "readOnly": true,
11754
+ "type": [
11755
+ "string"
11756
+ ]
11757
+ },
11758
+ "identity": {
11759
+ "anyOf": [
11760
+ {
11761
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/id"
11762
+ },
11763
+ {
11764
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/name"
11765
+ }
11766
+ ]
11767
+ },
11768
+ "name": {
11769
+ "description": "unique name of the generation of the Heroku platform for this pipeline",
11770
+ "example": "cedar",
11771
+ "readOnly": true,
11772
+ "type": [
11773
+ "string"
11774
+ ]
11775
+ }
11776
+ },
11777
+ "properties": {
11778
+ "id": {
11779
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/id"
11780
+ },
11781
+ "name": {
11782
+ "$ref": "#/definitions/pipeline/definitions/generation/definitions/name"
11783
+ }
11784
+ },
11785
+ "type": [
11786
+ "object"
11787
+ ]
10896
11788
  }
10897
11789
  },
10898
11790
  "links": [
@@ -10998,6 +11890,9 @@
10998
11890
  },
10999
11891
  "updated_at": {
11000
11892
  "$ref": "#/definitions/pipeline/definitions/updated_at"
11893
+ },
11894
+ "generation": {
11895
+ "$ref": "#/definitions/pipeline/definitions/generation"
11001
11896
  }
11002
11897
  }
11003
11898
  },
@@ -11293,8 +12188,7 @@
11293
12188
  "object"
11294
12189
  ],
11295
12190
  "definitions": {
11296
- "identity": {
11297
- },
12191
+ "identity": {},
11298
12192
  "remaining": {
11299
12193
  "description": "allowed requests remaining in current interval",
11300
12194
  "example": 2399,
@@ -11517,6 +12411,32 @@
11517
12411
  "object"
11518
12412
  ],
11519
12413
  "definitions": {
12414
+ "artifact": {
12415
+ "description": "a build artifact for the release",
12416
+ "properties": {
12417
+ "type": {
12418
+ "description": "type of artifact",
12419
+ "example": "slug",
12420
+ "type": [
12421
+ "string"
12422
+ ]
12423
+ },
12424
+ "id": {
12425
+ "anyOf": [
12426
+ {
12427
+ "$ref": "#/definitions/slug/definitions/id"
12428
+ },
12429
+ {
12430
+ "$ref": "#/definitions/oci-image/definitions/id"
12431
+ }
12432
+ ]
12433
+ }
12434
+ },
12435
+ "readOnly": true,
12436
+ "type": [
12437
+ "object"
12438
+ ]
12439
+ },
11520
12440
  "created_at": {
11521
12441
  "description": "when release was created",
11522
12442
  "example": "2012-01-01T12:00:00Z",
@@ -11599,6 +12519,14 @@
11599
12519
  "string",
11600
12520
  "null"
11601
12521
  ]
12522
+ },
12523
+ "eligible_for_rollback": {
12524
+ "description": "indicates if this release is eligible for rollback",
12525
+ "example": true,
12526
+ "readOnly": true,
12527
+ "type": [
12528
+ "boolean"
12529
+ ]
11602
12530
  }
11603
12531
  },
11604
12532
  "links": [
@@ -11637,6 +12565,9 @@
11637
12565
  "description": {
11638
12566
  "$ref": "#/definitions/release/definitions/description"
11639
12567
  },
12568
+ "oci_image": {
12569
+ "$ref": "#/definitions/oci-image/definitions/identity"
12570
+ },
11640
12571
  "slug": {
11641
12572
  "$ref": "#/definitions/slug/definitions/identity"
11642
12573
  }
@@ -11687,6 +12618,15 @@
11687
12618
  "$ref": "#/definitions/plan/definitions/name"
11688
12619
  }
11689
12620
  },
12621
+ "artifacts": {
12622
+ "description": "build artifacts for the release",
12623
+ "type": [
12624
+ "array"
12625
+ ],
12626
+ "items": {
12627
+ "$ref": "#/definitions/release/definitions/artifact"
12628
+ }
12629
+ },
11690
12630
  "app": {
11691
12631
  "description": "app involved in the release",
11692
12632
  "properties": {
@@ -11752,6 +12692,9 @@
11752
12692
  },
11753
12693
  "output_stream_url": {
11754
12694
  "$ref": "#/definitions/release/definitions/output_stream_url"
12695
+ },
12696
+ "eligible_for_rollback": {
12697
+ "$ref": "#/definitions/release/definitions/eligible_for_rollback"
11755
12698
  }
11756
12699
  }
11757
12700
  },
@@ -12195,8 +13138,7 @@
12195
13138
  ]
12196
13139
  }
12197
13140
  },
12198
- "links": [
12199
- ],
13141
+ "links": [],
12200
13142
  "properties": {
12201
13143
  "id": {
12202
13144
  "$ref": "#/definitions/review-app-config/definitions/deploy_target/definitions/id"
@@ -13554,6 +14496,32 @@
13554
14496
  "type": [
13555
14497
  "string"
13556
14498
  ]
14499
+ },
14500
+ "generation": {
14501
+ "description": "Generation of the Heroku platform for this space",
14502
+ "readOnly": true,
14503
+ "type": [
14504
+ "object"
14505
+ ],
14506
+ "properties": {
14507
+ "id": {
14508
+ "description": "unique identifier of the generation of the Heroku platform for this space",
14509
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
14510
+ "format": "uuid",
14511
+ "readOnly": true,
14512
+ "type": [
14513
+ "string"
14514
+ ]
14515
+ },
14516
+ "name": {
14517
+ "description": "unique name of the generation of the Heroku platform for this space",
14518
+ "example": "cedar",
14519
+ "readOnly": true,
14520
+ "type": [
14521
+ "string"
14522
+ ]
14523
+ }
14524
+ }
13557
14525
  }
13558
14526
  },
13559
14527
  "links": [
@@ -13639,6 +14607,14 @@
13639
14607
  },
13640
14608
  "log_drain_url": {
13641
14609
  "$ref": "#/definitions/space/definitions/log_drain_url"
14610
+ },
14611
+ "generation": {
14612
+ "description": "unique name of the generation of the Heroku platform for this space",
14613
+ "example": "cedar",
14614
+ "readOnly": true,
14615
+ "type": [
14616
+ "string"
14617
+ ]
13642
14618
  }
13643
14619
  },
13644
14620
  "required": [
@@ -13719,6 +14695,9 @@
13719
14695
  },
13720
14696
  "data_cidr": {
13721
14697
  "$ref": "#/definitions/space/definitions/data_cidr"
14698
+ },
14699
+ "generation": {
14700
+ "$ref": "#/definitions/space/definitions/generation"
13722
14701
  }
13723
14702
  }
13724
14703
  },
@@ -13819,6 +14798,21 @@
13819
14798
  ]
13820
14799
  },
13821
14800
  "title": "List"
14801
+ },
14802
+ {
14803
+ "description": "List available app stacks for an app.",
14804
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/available-stacks",
14805
+ "method": "GET",
14806
+ "rel": "instances",
14807
+ "targetSchema": {
14808
+ "items": {
14809
+ "$ref": "#/definitions/stack"
14810
+ },
14811
+ "type": [
14812
+ "array"
14813
+ ]
14814
+ },
14815
+ "title": "List by App"
13822
14816
  }
13823
14817
  ],
13824
14818
  "properties": {
@@ -15583,7 +16577,7 @@
15583
16577
  }
15584
16578
  },
15585
16579
  "connect": {
15586
- "description": "average connect rows synced",
16580
+ "description": "max connect rows synced",
15587
16581
  "example": 15000,
15588
16582
  "readOnly": true,
15589
16583
  "type": [
@@ -16313,6 +17307,309 @@
16313
17307
  }
16314
17308
  }
16315
17309
  },
17310
+ "telemetry-drain": {
17311
+ "description": "A telemetry drain forwards OpenTelemetry traces, metrics, and logs to your own consumer. For Fir-generation apps only.",
17312
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
17313
+ "stability": "prototype",
17314
+ "strictProperties": true,
17315
+ "title": "Heroku Platform API - Telemetry Drain",
17316
+ "type": [
17317
+ "object"
17318
+ ],
17319
+ "definitions": {
17320
+ "id": {
17321
+ "description": "unique identifier of telemetry drain",
17322
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17323
+ "format": "uuid",
17324
+ "readOnly": true,
17325
+ "type": [
17326
+ "string"
17327
+ ]
17328
+ },
17329
+ "identity": {
17330
+ "anyOf": [
17331
+ {
17332
+ "$ref": "#/definitions/telemetry-drain/definitions/id"
17333
+ }
17334
+ ]
17335
+ },
17336
+ "created_at": {
17337
+ "description": "when the telemetry drain was created",
17338
+ "example": "2024-12-01T12:00:00Z",
17339
+ "format": "date-time",
17340
+ "readOnly": true,
17341
+ "type": [
17342
+ "string"
17343
+ ]
17344
+ },
17345
+ "updated_at": {
17346
+ "description": "when telemetry drain was last updated",
17347
+ "example": "2012-01-01T12:00:00Z",
17348
+ "format": "date-time",
17349
+ "readOnly": true,
17350
+ "type": [
17351
+ "string"
17352
+ ]
17353
+ },
17354
+ "signal": {
17355
+ "description": "OpenTelemetry signal to be sent to the telemetry drain",
17356
+ "readOnly": true,
17357
+ "example": "traces",
17358
+ "type": [
17359
+ "string"
17360
+ ],
17361
+ "enum": [
17362
+ "traces",
17363
+ "metrics",
17364
+ "logs"
17365
+ ]
17366
+ },
17367
+ "signals": {
17368
+ "description": "OpenTelemetry signals to send to telemetry drain",
17369
+ "example": [
17370
+ "traces",
17371
+ "metrics"
17372
+ ],
17373
+ "readOnly": false,
17374
+ "minItems": 1,
17375
+ "uniqueItems": true,
17376
+ "type": [
17377
+ "array"
17378
+ ],
17379
+ "items": {
17380
+ "$ref": "#/definitions/telemetry-drain/definitions/signal"
17381
+ }
17382
+ },
17383
+ "exporter_type": {
17384
+ "description": "the transport type to be used for your OpenTelemetry consumer",
17385
+ "readOnly": true,
17386
+ "example": "otlphttp",
17387
+ "type": [
17388
+ "string"
17389
+ ],
17390
+ "enum": [
17391
+ "otlphttp",
17392
+ "otlp"
17393
+ ]
17394
+ },
17395
+ "exporter_endpoint": {
17396
+ "description": "URI of your OpenTelemetry consumer",
17397
+ "readOnly": false,
17398
+ "example": "https://api.otelproduct.example/consumer",
17399
+ "maxLength": 1000,
17400
+ "type": [
17401
+ "string"
17402
+ ]
17403
+ },
17404
+ "exporter_headers": {
17405
+ "description": "JSON headers to send to your OpenTelemetry consumer",
17406
+ "readOnly": false,
17407
+ "example": {
17408
+ "API-Key": "example_api_key_012345",
17409
+ "Environment": "production"
17410
+ },
17411
+ "default": {},
17412
+ "additionalProperties": false,
17413
+ "maxItems": 20,
17414
+ "patternProperties": {
17415
+ "^[A-Za-z0-9\\-_]{1,100}$": {
17416
+ "maxLength": 1000,
17417
+ "type": [
17418
+ "string"
17419
+ ]
17420
+ }
17421
+ },
17422
+ "type": [
17423
+ "object"
17424
+ ]
17425
+ },
17426
+ "exporter": {
17427
+ "description": "OpenTelemetry exporter configuration",
17428
+ "readOnly": false,
17429
+ "additionalProperties": false,
17430
+ "properties": {
17431
+ "type": {
17432
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_type"
17433
+ },
17434
+ "endpoint": {
17435
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_endpoint"
17436
+ },
17437
+ "headers": {
17438
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter_headers"
17439
+ }
17440
+ },
17441
+ "required": [
17442
+ "type",
17443
+ "endpoint"
17444
+ ],
17445
+ "type": [
17446
+ "object"
17447
+ ]
17448
+ },
17449
+ "owner": {
17450
+ "description": "entity that owns this telemetry drain",
17451
+ "properties": {
17452
+ "id": {
17453
+ "description": "unique identifier of owner",
17454
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17455
+ "format": "uuid",
17456
+ "readOnly": true,
17457
+ "type": [
17458
+ "string"
17459
+ ]
17460
+ },
17461
+ "type": {
17462
+ "description": "type of owner",
17463
+ "enum": [
17464
+ "app",
17465
+ "space"
17466
+ ],
17467
+ "example": "app",
17468
+ "readOnly": true,
17469
+ "type": [
17470
+ "string"
17471
+ ]
17472
+ }
17473
+ },
17474
+ "readOnly": false,
17475
+ "required": [
17476
+ "id",
17477
+ "type"
17478
+ ],
17479
+ "type": [
17480
+ "object"
17481
+ ]
17482
+ }
17483
+ },
17484
+ "links": [
17485
+ {
17486
+ "description": "Create a telemetry drain.",
17487
+ "href": "/telemetry-drains",
17488
+ "method": "POST",
17489
+ "rel": "create",
17490
+ "schema": {
17491
+ "additionalProperties": false,
17492
+ "properties": {
17493
+ "owner": {
17494
+ "$ref": "#/definitions/telemetry-drain/definitions/owner"
17495
+ },
17496
+ "signals": {
17497
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17498
+ },
17499
+ "exporter": {
17500
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17501
+ }
17502
+ },
17503
+ "required": [
17504
+ "owner",
17505
+ "signals",
17506
+ "exporter"
17507
+ ],
17508
+ "type": [
17509
+ "object"
17510
+ ]
17511
+ },
17512
+ "targetSchema": {
17513
+ "$ref": "#/definitions/telemetry-drain"
17514
+ },
17515
+ "title": "Create"
17516
+ },
17517
+ {
17518
+ "description": "List telemetry drains for an app.",
17519
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/telemetry-drains",
17520
+ "method": "GET",
17521
+ "rel": "instances",
17522
+ "targetSchema": {
17523
+ "items": {
17524
+ "$ref": "#/definitions/telemetry-drain"
17525
+ },
17526
+ "type": [
17527
+ "array"
17528
+ ]
17529
+ },
17530
+ "title": "List by App"
17531
+ },
17532
+ {
17533
+ "description": "List telemetry drains for a space.",
17534
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/telemetry-drains",
17535
+ "method": "GET",
17536
+ "rel": "instances",
17537
+ "targetSchema": {
17538
+ "items": {
17539
+ "$ref": "#/definitions/telemetry-drain"
17540
+ },
17541
+ "type": [
17542
+ "array"
17543
+ ]
17544
+ },
17545
+ "title": "List by Space"
17546
+ },
17547
+ {
17548
+ "description": "Update a telemetry drain.",
17549
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17550
+ "method": "PATCH",
17551
+ "rel": "update",
17552
+ "schema": {
17553
+ "additionalProperties": false,
17554
+ "properties": {
17555
+ "signals": {
17556
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17557
+ },
17558
+ "exporter": {
17559
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17560
+ }
17561
+ },
17562
+ "type": [
17563
+ "object"
17564
+ ]
17565
+ },
17566
+ "targetSchema": {
17567
+ "$ref": "#/definitions/telemetry-drain"
17568
+ },
17569
+ "title": "Update"
17570
+ },
17571
+ {
17572
+ "description": "Delete a telemetry drain.",
17573
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17574
+ "method": "DELETE",
17575
+ "rel": "destroy",
17576
+ "targetSchema": {
17577
+ "$ref": "#/definitions/telemetry-drain"
17578
+ },
17579
+ "title": "Delete"
17580
+ },
17581
+ {
17582
+ "description": "Info for a telemetry drain.",
17583
+ "href": "/telemetry-drains/{(%23%2Fdefinitions%2Ftelemetry-drain%2Fdefinitions%2Fidentity)}",
17584
+ "method": "GET",
17585
+ "rel": "self",
17586
+ "targetSchema": {
17587
+ "$ref": "#/definitions/telemetry-drain"
17588
+ },
17589
+ "title": "Info"
17590
+ }
17591
+ ],
17592
+ "properties": {
17593
+ "created_at": {
17594
+ "$ref": "#/definitions/telemetry-drain/definitions/created_at"
17595
+ },
17596
+ "id": {
17597
+ "$ref": "#/definitions/telemetry-drain/definitions/id"
17598
+ },
17599
+ "owner": {
17600
+ "$ref": "#/definitions/telemetry-drain/definitions/owner"
17601
+ },
17602
+ "signals": {
17603
+ "$ref": "#/definitions/telemetry-drain/definitions/signals"
17604
+ },
17605
+ "exporter": {
17606
+ "$ref": "#/definitions/telemetry-drain/definitions/exporter"
17607
+ },
17608
+ "updated_at": {
17609
+ "$ref": "#/definitions/telemetry-drain/definitions/updated_at"
17610
+ }
17611
+ }
17612
+ },
16316
17613
  "test-case": {
16317
17614
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
16318
17615
  "title": "Test Case",
@@ -17567,6 +18864,9 @@
17567
18864
  "formation": {
17568
18865
  "$ref": "#/definitions/formation"
17569
18866
  },
18867
+ "generation": {
18868
+ "$ref": "#/definitions/generation"
18869
+ },
17570
18870
  "identity-provider": {
17571
18871
  "$ref": "#/definitions/identity-provider"
17572
18872
  },
@@ -17600,8 +18900,8 @@
17600
18900
  "oauth-token": {
17601
18901
  "$ref": "#/definitions/oauth-token"
17602
18902
  },
17603
- "outbound-ruleset": {
17604
- "$ref": "#/definitions/outbound-ruleset"
18903
+ "oci-image": {
18904
+ "$ref": "#/definitions/oci-image"
17605
18905
  },
17606
18906
  "password-reset": {
17607
18907
  "$ref": "#/definitions/password-reset"
@@ -17735,6 +19035,9 @@
17735
19035
  "team": {
17736
19036
  "$ref": "#/definitions/team"
17737
19037
  },
19038
+ "telemetry-drain": {
19039
+ "$ref": "#/definitions/telemetry-drain"
19040
+ },
17738
19041
  "test-case": {
17739
19042
  "$ref": "#/definitions/test-case"
17740
19043
  },