resources

Set the ID of the configuration template linked to a resource

Changed on

Attaches, repoints, or detaches the configuration template linked to a resource. This endpoint only manages the link (by ID) between a resource and an existing configuration template — it does not create, modify, or delete the template itself. To manage a template's own fields (name, description, request configurations, visibility, etc.), use the /configuration-templates endpoints.

The request body is {"configuration_template_id": "<uuid>" | null}:

  • A <uuid> value links the resource to the configuration template with that ID. If the resource was previously linked to a different template, the resource is repointed in place.
  • null detaches the resource from its current configuration template. The template is deep-copied into a new private configuration with the same settings so the resource's current behaviour is preserved, and the resource is repointed at the fork.

The configuration_template_id field is required. Sending {} or any body in which the field is omitted is rejected with 400.

The call is idempotent: if the request body matches the resource's current link, no changes are made and no audit events are emitted.

This endpoint is the preferred, Terraform-friendly surface for linking and unlinking configuration templates on resources. The equivalent configuration_template_id field on PUT /resources remains available but is deprecated for this purpose.

put/resources/{resource_id}/configuration-template

Request

  • Base URL
    https://api.opal.dev/v1
  • Auth
    HTTP bearer

Path parameters

resource_idstring uuid required

The ID of the resource whose configuration template link is being set.

Request body

configuration_template_idstring uuid nullable required

The ID of the configuration template that the resource is linked to, or null if the resource is not linked to a configuration template. Only the ID is exposed here; the template's own fields are managed through the /configuration-templates endpoints.

Example request

{
  "configuration_template_id": "06851574-e50d-40ca-8c78-f72ae6ab4304"
}

Response

The ID of the configuration template now linked to the resource, or null if the resource was detached.

configuration_template_idstring uuid nullable required

The ID of the configuration template that the resource is linked to, or null if the resource is not linked to a configuration template. Only the ID is exposed here; the template's own fields are managed through the /configuration-templates endpoints.

Example response

{
  "configuration_template_id": "06851574-e50d-40ca-8c78-f72ae6ab4304"
}

Changes