# Program Templates

The Program Template Object provides functionality for templates to be made and automatically delivered once a set of rules based on type is met. This enables the client to know what is happening with their order and if anything is needed of them.&#x20;

This object contains the following attributes:

<table><thead><tr><th width="152">Field</th><th width="150">Type</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td><code>string</code></td><td><p>The business identifier of the program template. </p><p>Example: TPL-1234-5678</p></td></tr><tr><td>href</td><td><code>string</code></td><td><p>The resource URI of the terms variant. </p><p>Example: v1/programs/PRG-1234-1234/templates/TPL-1234-5678-0001</p></td></tr><tr><td>type</td><td><code>string</code></td><td><p>The possible values are: </p><p><code>CertificateActivate</code></p><p><code>CertificatePending</code></p><p><code>CertificateExpired</code></p><p><code>EnrollmentProcessing</code></p><p><code>EnrollmentQuerying</code></p><p><code>EnrollmentCompleted</code></p></td></tr><tr><td>name</td><td><code>string</code></td><td><p>The name of the template. </p><p>Example: Your certificate has been activated</p></td></tr><tr><td>content</td><td><code>string</code></td><td><p>The content of the template. </p><p>Example: We are delighted to inform you that your certificate has been activated successfully!</p></td></tr><tr><td>default</td><td><code>boolean</code></td><td><ul><li>Each program has 3 defaults automatically generated when the program is created. </li><li>Each automatically created template will include a default system message that the client account must update.</li><li>Defaults cannot be deleted, while non-defaults can be deleted.</li></ul><p>Example: True</p></td></tr><tr><td>program</td><td><a href="/pages/OzRwQwC6RejBVxYPk8St"><code>program</code></a></td><td>The program to which the variant belongs.</td></tr><tr><td>audit</td><td><a href="/pages/RnSJqP4ZqAW7vD2MWeVM"><code>audit</code></a></td><td>A reference to the Audit object.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform.softwareone.com/developer-resources/rest-api/program-api/program/program-templates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
