Secrets, environments and hosts
These endpoint families matter when your application crosses from resource modeling into actual Launch delivery and environment operations. If you are preparing an environment for build or publish workflows, this is the page you want.
Secrets
Secrets can be listed at the property or environment level. Creation is property-scoped, but the payload also requires an environment relationship.
| Attribute | Data type | Description |
|---|---|---|
| list_for_property(property_id) | Array<Secret> | Lists secrets visible at the property level. |
| list_for_environment(environment_id) | Array<Secret> | Lists secrets attached to an environment. |
| create(property_id:, environment_id:, attributes:) | Secret | Creates a secret and attaches it to an environment relationship. |
| test(secret_id, type_of:) | Secret | Triggers Adobe's secret test action. |
| retry(secret_id, type_of:) | Secret | Triggers Adobe's retry action for a secret. |
| environment(secret_id) | Environment | Traverses from a secret to its environment. |
| property(secret_id) | Property | Traverses from a secret to its property. |
Environments
Environment creation is one of the most important workflows in this cluster because Adobe requires a host relationship when you create an environment.
| Attribute | Data type | Description |
|---|---|---|
| list_for_property(property_id) | Array<Environment> | Lists environments for a property. |
| create(property_id:, name:, host_id:, stage: 'development') | Environment | Creates an environment. |
| host(environment_id) | Host | Fetches the host assigned to an environment. |
| library(environment_id) | Library | Fetches the library currently assigned to the environment. |
| builds(environment_id) | Array<Build> | Lists builds for the environment. |
Hosts
Hosts are usually fetched before environment creation. Many properties will expose a default Adobe-managed Akamai host.
Provisioning example
Environment provisioning flow
# PR123 = property ID.
# Ask Adobe for the hosts available to the property.
host = client.hosts.list_for_property("PR123").first
# Create a development environment using the selected host.
environment = client.environments.create(
# Property that will own the environment.
property_id: "PR123",
# Human-readable environment name.
name: "jsmith-dev",
# Environment stage. Valid stages include development, staging, and production.
stage: "development",
# Host assigned to this environment.
host_id: host.id
)
Sample: list environments for a property
GET /properties/:property_id/environments
# PR... = property ID.
# Request the environments defined for one property.
curl -s "https://reactor.adobe.io/properties/PR1234567890abcdef1234567890abcd/environments" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-api-key: YOUR_ADOBE_CLIENT_ID" \
-H "x-gw-ims-org-id: YOUR_IMS_ORG_ID" \
-H "Accept: application/vnd.api+json;revision=1"
Sample response
{
// Collection response for environments on a property.
"data": [
{
// EN... = environment ID.
"id": "EN1234567890abcdef1234567890abcd",
"type": "environments",
"attributes": {
// Human-readable environment name.
"name": "Development",
// Deployment stage used in Launch workflow logic.
"stage": "development",
// Whether the environment is archived.
"archived": false,
// Embed token used in environment-specific script snippets.
"token": "<environment embed code>",
// Adobe creation timestamp.
"created_at": "2026-03-25T14:19:08.000Z",
// Adobe last-update timestamp.
"updated_at": "2026-03-25T14:19:08.000Z"
},
"relationships": {
"host": {
"data": {
// HT... = host ID linked to this environment.
"id": "HT1234567890abcdef1234567890abcd",
"type": "hosts"
}
}
}
}
]
}
This page pairs naturally with Libraries because environments and hosts are part of the path to build and publish.