Dynalinks
Page templates

Publish the page template draft

POST
/page_template/publish
Manage the page template shown on link preview pages. Requires page-template access, enabled per project by Dynalinks. Experimental: the request and response shapes may still change.

Publishes the draft as a new version. This changes the page every link in the project shows. Send body and/or css to save them first, as with PATCH /page_template. The last 20 versions are kept. Versions published through the API are recorded as published by the project owner.

The request body is optional. When you send one, send Content-Type: application/json. Saving, publishing and previewing share a limit of 60 requests per minute per API key.

Requirements: a Pro plan, page templates enabled for the project, and an API key of a project owner or manager with the page_templates.publish scope. API keys with no scopes have full access, so they can publish too. The page_templates.publish scope is enough to save a posted body or css here; page_templates.update is not needed.

Authorization

headerAuthorization<token>

Format: Authorization: Token {api_key}

Request Body

application/json
  1. body
body?string

Liquid and HTML for the page body, at most 65,536 bytes (UTF-8, so fewer characters if you use non-ASCII text). Must include {% store_buttons %} at the top level. Omit to keep the current value; send an empty string to clear it. null is rejected.

css?string

Plain CSS for the page, at most 32,768 bytes. Omit to keep the current value; send an empty string to clear it. null is rejected.

Response Body

Draft published

application/json
  1. response
id?string

UUID of the page template

Formatuuid
body?string

Body of the draft

css?string

CSS of the draft

unpublished_changes?boolean

Whether the draft differs from the live version

live_version?|null

The version links currently show, or null if nothing is published

created_at?string
Formatdate-time
updated_at?string
Formatdate-time
Example Request
curl -X POST 'https://dynalinks.app/api/v1/page_template/publish' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "body": "string",  "css": "string",  "unpublished_changes": true,  "live_version": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "published_at": "2019-08-24T14:15:22Z",    "live": true,    "body": "string",    "css": "string"  },  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}