Skip to main content
POST
Create an environment version

Authorizations

Authorization
string
header
required

Your AI Reserve API key (aireserve_api_…) from the API Keys page in the portal (https://portal.aireserve.com/keys).

Headers

Idempotency-Key
string
required

Client-selected key of 8–180 characters [A-Za-z0-9:_-]. Reusing it for the same action and canonical request replays the original result. Reusing it with a different request returns 409 idempotency_conflict.

Required string length: 8 - 180
Pattern: ^[A-Za-z0-9:_-]+$

Body

application/json

Creates the next immutable version for key; the server assigns version and manifestHash.

key
string
required
Required string length: 1 - 120
Pattern: ^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$
name
string
required
Required string length: 1 - 255
imageRef
string
required
Required string length: 1 - 1024
manifest
object
required
description
string | null
Maximum string length: 10000

Response

Created.

An immutable environment version. Editing an environment creates another version.

id
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
object
enum<string>
required
Available options:
environment
key
string
required
Required string length: 1 - 120
Pattern: ^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$
version
integer
required
Required range: 0 < x <= 9007199254740991
name
string
required
Required string length: 1 - 255
description
string | null
required
Maximum string length: 10000
imageRef
string
required
Required string length: 1 - 1024
manifest
object
required
manifestHash
string
required
Pattern: ^[0-9a-f]{64}$
state
enum<string>
required
Available options:
draft,
active,
deprecated,
retired
activatedAt
string<date-time> | null
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
deprecatedAt
string<date-time> | null
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
createdAt
string<date-time>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
updatedAt
string<date-time>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$