API referenceTemplates

Update template metadata

Updates container metadata only: name (≤120 chars), description (≤500 chars, or null to clear it), and currentVersion.

Endpoint
PATCH https://api.dairo.app/v1/templates/{idOrSlug}

Updates container metadata only: name (≤120 chars), description (≤500 chars, or null to clear it), and currentVersion. Version bodies are immutable, so source, subject, and variables cannot be changed here — publish a new version to change content. Setting currentVersion re-points the template at any already-published version of itself for an instant roll-forward or rollback of future default sends; the target must exist for this template or the call returns 404. A request that supplies no updatable field returns 400. Responds 200 with the updated object: "template" (no version body is included), and requires the templates:write scope.

Scope: templates:write. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl -X PATCH "https://api.dairo.app/v1/templates/idOrSlug" \
  -H "Authorization: Bearer $DAIRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Path parameters

NameTypeRequiredDescription
idOrSlugstringyesTemplate UUID or slug.

Body

Required, application/json: TemplatePatchRequest.

FieldTypeRequiredDescription
namestringno(min length 1)
descriptionstring or nullno
currentVersionintegerno(minimum 1)

Response

200 Success. Body: application/json, TemplateResponse.

FieldTypeRequiredDescription
templateTemplateyes
200
{
  "template": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "slug": "welcome",
    "name": "Ada Lovelace",
    "description": null,
    "currentVersion": null,
    "status": "string",
    "createdAt": "2026-10-19T09:30:00Z",
    "updatedAt": "2026-10-19T09:30:00Z"
  }
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
422The request is well-formed but a field failed validation (validation_failed).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page