All integrations

Templated

DESIGN · FILES & DOCS

Design templates rendered to images, PDFs, or video on their own key.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

templated_delete_v1_folder_by_idWRITE

Delete a folder via DELETE /v1/folder/{id}. Permanently delete a folder. The templates that were in it are NOT deleted -- only their reference to the folder is removed, so they remain in the account unfiled. Answers 204 with no body. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_delete_v1_fontsWRITE

Delete uploaded fonts via DELETE /v1/fonts. Permanently delete one or more UPLOADED fonts from this account, BY NAME. `fonts` is required and repeatable -- pass a list and every name in it is deleted. If several uploaded fonts share a name, all of them are removed. Templated's built-in gallery fonts and Google Fonts are not affected and cannot be deleted. A name that matches nothing answers 400 with a `not_found` array naming the values that missed, and deletes nothing. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_delete_v1_render_by_idWRITE

Delete a render via DELETE /v1/render/{id}. Permanently delete one render by its id. Answers 204 with no body. A 403 means the render belongs to another account and a 404 that no render has that id. Deleting a render does not refund the credit that produced it. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_delete_v1_template_by_idWRITE

Delete a template via DELETE /v1/template/{id}. Permanently delete one template by its id. THIS CANNOT BE UNDONE: a deleted template cannot be recovered. Answers 204 with no body. A 403 means the template belongs to another account and a 404 that no template has that id. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_delete_v1_template_by_templateid_tagsWRITE

Remove tags from a template via DELETE /v1/template/{templateId}/tags. Remove specific tags from a template, leaving its other tags in place. The body is a JSON ARRAY OF STRINGS -- the tags to remove -- and `templateId` names the template. The reply is the updated template, whose `tags` field shows what is left. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_delete_v1_uploadsWRITE

Delete uploads via DELETE /v1/uploads. Permanently delete one or more uploaded images by id. `ids` is required and repeatable -- pass a list and every id in it is deleted. Every id must exist and belong to this account or the whole call is refused: a miss answers 400 with a `not_found` array naming the ids that failed, and nothing is deleted. Templates still referencing a deleted image lose it. IRREVERSIBLE: Templated documents no undo and no trash for this, so what it removes is gone. It affects the whole connected Templated account, which may also be driven by the customer's own systems and by the Templated dashboard.

api
templated_get_v1_accountREAD

Get account information via GET /v1/account. Read this Templated account's own details: the email and name on it, the plan it is on, the API credit quota (`apiQuota`), how many credits have been used (`apiUsage`) and that as a percentage. Call this before a run that will render, to see how many credits are left.

api
templated_get_v1_folder_by_folderid_rendersREAD

List a folder's renders via GET /v1/folder/{folderId}/renders. List the renders filed in one folder. `folderId` names the folder; `page` is the zero-based page number and `limit` the page size (default 25).

api
templated_get_v1_folder_by_id_templatesREAD

List a folder's templates via GET /v1/folder/{id}/templates. List the templates filed in one folder. `id` names the folder. `query` filters by template name, `tags` by tag (comma-separated, matching any one of them), `width` and `height` by exact pixel size, and `includeLayers` adds each template's layers to the reply. `page` is the zero-based page number and `limit` the page size (default 25).

api
templated_get_v1_foldersREAD

List folders via GET /v1/folders. List this account's folders, newest page first. `query` filters by folder name, `page` is the zero-based page number and `limit` the page size (default 25). Each folder carries its `templateCount`.

api
templated_get_v1_fontsREAD

List available fonts via GET /v1/fonts. List every font this account can use in a template: the Google Fonts Templated provides and the custom fonts this team has uploaded. Each entry says which it is through `isGoogleFont` and `isUploadedFont`; only uploaded ones can be deleted.

api
templated_get_v1_fonts_galleryREAD

List gallery fonts via GET /v1/fonts/gallery. List the base fonts built into the Templated editor. Unlike the list of all fonts, this does NOT include fonts this team has uploaded. `query` filters by name case-insensitively; `page` is the zero-based page number and `limit` the page size (default 50). Each entry's `name` is usable directly as a CSS font-family value in a template layer.

api
templated_get_v1_render_by_idREAD

Retrieve a render via GET /v1/render/{id}. Retrieve one render by its id: its status, its output `url`, the template it came from, its dimensions and format, and the `externalId` it was created with. This is how an asynchronous render is polled for its result.

api
templated_get_v1_rendersREAD

List renders via GET /v1/renders. List every render on this account, most recent first.

api
templated_get_v1_template_by_idREAD

Retrieve a template via GET /v1/template/{id}. Retrieve one template by its id: its name, dimensions, tags, folder and clone relationship. `includeLayers` adds its layers and `includePages` its pages and their layers.

api
templated_get_v1_template_by_id_layersREAD

List a template's layers via GET /v1/template/{id}/layers. List the layers of one template: each layer's name, type (text, image, shape), its group and its description. Locked layers are omitted unless `includeLockedLayers` is true. These layer names are the keys a render uses to override content.

api
templated_get_v1_template_by_id_pagesREAD

List a template's pages via GET /v1/template/{id}/pages. List the pages of a multi-page template. Each page carries its own layers keyed by layer id. Locked layers are omitted unless `includeLockedLayers` is true.

api
templated_get_v1_template_by_id_rendersREAD

List a template's renders via GET /v1/template/{id}/renders. List the renders produced from one template. `id` names the template; `externalId` narrows the list to renders created with that external id. `page` is the zero-based page number and `limit` the page size (25 by default, up to 100).

api
templated_get_v1_templatesREAD

List templates via GET /v1/templates. List this account's templates. `query` filters by name, `tags` by tag (comma-separated, matching any one of them), `externalId` by the external id a template was created with, and `width`/`height` by exact pixel size. `includeLayers` adds each template's layers and `includePages` its pages and their layers. `page` is the zero-based page number and `limit` the page size (default 25).

api
templated_get_v1_templates_clonesREAD

List template clones via GET /v1/templates/clones. List the clone templates on this account. `sourceTemplateId` narrows the list to clones of one template and `externalId` to clones carrying a particular external id; with neither, every clone on the account is returned. `page` is the zero-based page number and `limit` the page size. Clones are invisible in the Templated dashboard, so this is the only way to see them.

api
templated_get_v1_templates_clones_countREAD

Count template clones via GET /v1/templates/clones/count. Count the clone templates on this account without listing them, optionally narrowed to one `sourceTemplateId`. Use this to check how many clones exist before deciding whether to page through them.

api
templated_get_v1_templates_galleryREAD

List gallery templates via GET /v1/templates/gallery. Browse Templated's public template gallery -- professionally designed templates usable as a starting point, which are read-only until cloned into this account. `query` filters by name or description, `category` by category name, `tags` by tag (comma-separated, matching any one of them), and `width`/`height` by exact pixel size; `includeLayers` adds each template's layers. `page` is the zero-based page number and `limit` the page size (default 25).

api
templated_get_v1_uploadsREAD

List uploads via GET /v1/uploads. List the images uploaded to this account. `query` searches by name or tag, `tags` filters by tag (comma-separated, matching any one of them), `page` is the zero-based page number and `limit` the page size (default 15).

api
templated_post_v1_folderWRITE

Create a folder via POST /v1/folder. Create a folder to organise templates and renders. The body's `name` is required. The reply is the new folder, whose `id` is what the move and listing tools take.

api
templated_post_v1_renderWRITE

Create a render via POST /v1/render. Render a template into an image, PDF or video. `template` is required and names the template to render; `layers` overrides individual layers by name (the key is the layer name, the value its properties), and `pages` does the same per page for a multi-page template. `format` picks jpg (the default), png, webp, pdf, mp4 or html; `width`, `height` and `scale` resize the output; `background`, `transparent`, `flatten` and `cmyk` control how it is composed; `duration` and `fps` apply to mp4. Setting `async` returns immediately instead of waiting for the render to finish, in which case `webhook_url` is where Templated POSTs the finished Render object. `external_id` ties the render to a record in your own system and is what the render listings filter on. `templates` and `merge` render a batch of templates at once. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit.

api
templated_post_v1_render_by_id_duplicateWRITE

Duplicate a render via POST /v1/render/{id}/duplicate. Create a copy of an existing render. The copy uses the same template and the same layer payload as the original and can then be changed independently. `id` names the render to copy. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit.

api
templated_post_v1_render_mergeWRITE

Merge renders into one PDF via POST /v1/render/merge. Merge several finished renders into a single PDF, in the order their ids are given. `ids` is required and holds the render ids; `urls` optionally adds external PDF URLs, which are downloaded and appended after the renders; `name` names the resulting file. The reply is a JSON object carrying the URL of the merged PDF. A bad render id answers 500 rather than a validation error -- that is the provider's behaviour, not an outage -- and costs no credit. Agentic Fabriq always sends `host: true` on this call, so Templated stores the merged PDF and answers with a URL. Templated's own default (`host: false`) streams the PDF BYTES back as the response body, and unbounded binary cannot be returned through a tool result -- it would land in the model's context and in the audit trail. Passing `host: false` explicitly is REFUSED, naming this reason, rather than being silently flipped; fetch the URL in the reply to get the file. SPENDS API CREDITS: this call consumes render credits from the connected account's plan quota (a Free plan has 50 in total). Every other Templated tool is free. Check the remaining quota with the account tool (`apiUsage` against `apiQuota`) before running this in a loop, and note that deleting the result does not refund the credit.

api
templated_post_v1_templateWRITE

Create a template via POST /v1/template. Create a template by composing layers. `name`, `width` and `height` (pixels, max 5000) are required. Supply EITHER `layers`, for a single-page template, OR `pages`, for a multi-page one -- not both. Each layer names itself with `layer`, declares a `type` of text, image or shape, and positions itself with x, y, width and height; layers sharing a `group` value are grouped together in the editor. `duration` sets the default video length for mp4 renders of this template.

api
templated_post_v1_template_by_id_cloneWRITE

Clone a template via POST /v1/template/{id}/clone. Clone a template. A clone is an independent copy that KEEPS A LINK to the template it came from through `sourceTemplateId`, which is what distinguishes it from a duplicate: clones can be listed and counted per source template. `id` names the template to clone and the optional `name` names the clone. Note that clones do NOT appear in the Templated dashboard -- they are reachable only through the API.

api
templated_post_v1_template_by_id_duplicateWRITE

Duplicate a template via POST /v1/template/{id}/duplicate. Create an independent copy of a template. Unlike a clone, a duplicate keeps NO link to the original and DOES count against the template limit of this account's plan. `id` names the template to copy; the optional `name` names the copy, which otherwise becomes "Copy of <original>".

api
templated_post_v1_template_by_templateid_tagsWRITE

Add tags to a template via POST /v1/template/{templateId}/tags. Add tags to a template, keeping the tags it already has. The body is a JSON ARRAY OF STRINGS -- the tags to append -- and `templateId` names the template. The reply is the updated template, whose `tags` field shows the full set. Tags are what the `tags` filter on the template listings matches.

api
templated_post_v1_template_from_render_by_renderidWRITE

Create a template from a render via POST /v1/template/from-render/{renderId}. Turn a finished render into a new template, with that render's layer changes baked in. `renderId` names the render. The result is a clone of the render's source template -- it keeps a `sourceTemplateId` link, does not count against the plan's template limit and does not appear in the dashboard -- which can then be adjusted with the update-template tool and rendered again. This is the step that makes iterative refinement possible: render, turn the render into a template, tweak it, render again.

api
templated_put_v1_folder_by_folderid_render_by_renderidWRITE

Move a render to a folder via PUT /v1/folder/{folderId}/render/{renderId}. Move an existing render into a folder. `folderId` is the destination and `renderId` the render being moved. Answers 200 with an empty body, so success is the status rather than anything in the reply. Answers 200 with an empty body: the status is the whole result, and the tool returns an empty object.

api
templated_put_v1_folder_by_folderid_template_by_templateidWRITE

Move a template to a folder via PUT /v1/folder/{folderId}/template/{templateId}. Move an existing template into a folder. `folderId` is the destination and `templateId` the template being moved. Answers 200 with an empty body, so success is the status rather than anything in the reply. Answers 200 with an empty body: the status is the whole result, and the tool returns an empty object.

api
templated_put_v1_folder_by_idWRITE

Rename a folder via PUT /v1/folder/{id}. Rename a folder. `id` names the folder and the body's `name` is the new name; renaming is the only change this endpoint makes. The reply is the updated folder.

api
templated_put_v1_template_by_idWRITE

Update a template via PUT /v1/template/{id}. Update an existing template: its name, dimensions, and the content and position of its layers. `id` names the template. By default the layers in the body are MERGED into the template's existing layers; setting the `replaceLayers` query parameter replaces the layer set entirely, which discards any layer the body does not mention.

api
templated_put_v1_template_by_templateid_tagsWRITE

Replace a template's tags via PUT /v1/template/{templateId}/tags. REPLACE a template's tags with a new set, discarding every tag it currently has. The body is a JSON ARRAY OF STRINGS -- the complete new tag list -- and `templateId` names the template. To add tags without losing the existing ones, use the add-tags tool instead. This REPLACES the whole tag set rather than adding to it: any tag not in the body is dropped.

api

Put Templated behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.