Promote asset

post/v1/promotions
MCP ToolReplace
Page View

Promotion endpoints allow you to push assets from staging to production environments in your Redox organization. This creates a promotion association between the two assets so that you can keep track of when production assets might be out of date. Currently, you can promote config modifiers.

Learn more about promotions. Or learn how to promote any of these assets in the Redox dashboard:

Promote asset

New release coming soon

This feature is getting some upgrades. You might see details based on the next release, so some of these changes might not exist in production just yet. Stay tuned for the release!

Promote one or more assets (e.g., config modifier, filter, translation set) from a staging environment to a production environment.

If a user edits the asset in staging later, a new version of it is created. That means you have to promote it to production again. You can use this same endpoint for promoting or re-promoting an individual asset or bulk promoting one or more asset types.

Only for engineer or support roles

Any user may view existing data operations (e.g., filters, translation sets, config modifiers) in a given environment. However, you must be assigned to an engineer or a support role to create, manage, and promote these assets. Learn about roles.

A user must be assigned to an engineer or support role in both environments to promote an asset.

Request parameters and payload

cURL request example

bash
1
curl 'https://api.redoxengine.com/platform/v1/promotions' \
2
--request POST \
3
--header 'Authorization: Bearer $API_TOKEN' \
4
--header 'accept: application/json' \
5
--header 'content-type: application/json' \
6
--data '{
7
"promotingAssets": [
8
{
9
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
10
"type": "configModifier"
11
}
12
],
13
"fromEnvironment": {
14
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
15
},
16
"toEnvironment": {
17
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
18
}
19
}'

Request Body Schema

    Contains the necessary details to promote asset(s) from staging to production.

  • promotingAssets
    required, Array of object

    Lists the staging assets to promote (max allowed is 50). Duplicate asset entries cause the request to fail.

    • id
      required, string

      Contains the unique identifier of the asset.

      Format: uuid
    • type
      required, string
      Possible Values: configModifier, filter, translationSet
  • fromEnvironment
    required, object

    Specifies the staging environment where the original asset exists.

    • id
      required, string

      Contains the unique identifier of the Redox environment.

      Format: uuid
  • toEnvironment
    required, object

    Specifies the production environment that the asset should be promoted to.

    • id
      required, string

      Contains the unique identifier of the Redox environment.

      Format: uuid

Response fields and example

Example payload generated from schema
1
{
2
"meta": {
3
"version": "1.0.0"
4
},
5
"payload": {
6
"promotedAssets": [
7
{
8
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
9
"version": 1,
10
"action": "created",
11
"environment": {
12
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
13
},
14
"type": "configModifier",
15
"promotingAsset": {
16
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
17
"environment": {
18
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
19
},
20
"type": "configModifier"
21
}
22
}
23
],
24
"failures": [
25
{
26
"promotingAsset": {
27
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
28
"type": "configModifier"
29
},
30
"error": {
31
"id": "string",
32
"code": "asset.not.found",
33
"title": "Not Found",
34
"detail": "string",
35
"meta": {
36
"isTransient": true
37
}
38
}
39
}
40
]
41
}
42
}
  • meta
    object
    • version
      string

      Lists the major and minor version number for the format of the returned payload. The payload format or shape may change between minor versions, like including additional or extended fields in later versions. We include the version data in each response so that you have the option to handle the signaled differences.

  • payload
    object
    • promotedAssets
      Array of object

      Lists the assets that were promoted, with their IDs and versions in the production environment.

      • id
        string

        Contains the unique identifier of the asset.

        Format: uuid
      • version
        number

        Specifies the version of the promoted asset in the production environment.

      • action
        string

        Indicates whether the asset was promoted for the first time (i.e., created) or re-promoted with a new version (i.e., updated).

        Possible Values: created, updated
      • environment
        object

        Describes the Redox environment that the asset belongs to.

        • id
          string

          Contains the unique identifier of the Redox environment.

          Format: uuid
      • type
        string
        Possible Values: configModifier, filter, translationSet
      • promotingAsset
        object

        Contains details about the original asset in the staging environment that was promoted to create the production asset.

        • id
          string

          Contains the unique identifier of the asset.

          Format: uuid
        • environment
          object

          Describes the Redox environment that the asset belongs to.

          • id
            string

            Contains the unique identifier of the Redox environment.

            Format: uuid
        • type
          string
          Possible Values: configModifier, filter, translationSet
    • failures
      Array of object

      Lists any assets that weren't promoted, along with the error that prevented it. See error.meta.isTransient to learn whether you can safely retry promoting an asset. This array is empty when every asset promoted successfully.

      • promotingAsset
        object

        Identifies the staging asset that failed to promote.

        • id
          string

          Contains the unique identifier of the asset.

          Format: uuid
        • type
          string
          Possible Values: configModifier, filter, translationSet
      • error
        object

        Explains why one item in a bulk request failed. The overall request still returns 200. A request that's rejected before any work starts (e.g., due to a malformed body) returns 400 instead.

        • id
          required, string

          Contains a unique identifier for this error instance.

        • code
          required, string

          Identifies the error type, which can be used to find relevant troubleshooting information.

        • title
          required, string

          Displays the high-level error message.

        • detail
          required, string

          Contains the specific error details for this item.

        • meta
          object

          Contains additional details about the failure. Some errors add other properties, such as the ID of an asset that was partially created.

          • isTransient
            boolean

            Indicates whether retrying this item as-is might succeed. true means the failure was temporary (e.g., a timeout), so you can retry the item. false means the item will continue to fail until you correct the issue (e.g., the asset doesn't exist or its name is a duplicate). When absent, the failure wasn't classified; review detail before retrying.

FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.