Templates

List templates

Lists the templates you can start new work from, a page at a time.

filter[type] is required and today accepts only Doc, the document templates. It is required rather than assumed so that adding a type later cannot change what an existing call returns. Each type brings its own extra fields — for Doc that is roles — so a response carries the fields every template has plus the ones that type adds.

Two sources come back in one list, your own first: templates your account has saved (source: own) and Bonsai's library (source: library). Read source to prefer your own branded template over a generic one when both match.

Only templates you could actually use appear here: published ones, in a region that applies to your account, built in the current editor. Unpublished drafts stay in the Templates tab in Bonsai.

Filtering

  • filter[type] — required. Doc, the kind of template to list.
  • filter[name] — partial, case-insensitive match on the template name.
  • filter[source] — own, library or all. Defaults to all.
  • filter[category] — one or more category names, comma-separated. Your own templates are filed under My Templates. List the names GET /public-api/v1/template_categories?filter[type]=Doc returns under kind: category.
  • filter[industry] — one or more industry names, comma-separated. List the names GET /public-api/v1/template_categories?filter[type]=Doc returns under kind: industry.
  • filter[region] — USA, CAN, GBR or AUS. Defaults to your account's country. Templates that apply everywhere are always included, whichever region you ask for.
get/public-api/v1/templates

Request

  • Base URL
    https://app.hellobonsai.com
  • URL
    https://app.hellobonsai.com/public-api/v1/templates
  • Auth
    • OAuth 2
      Authorization code: https://app.hellobonsai.com/oauth/authorize
      Token URL: https://app.hellobonsai.com/oauth/token
    • or HTTP bearer

Query parameters

page[number]integer

Page to return, starting at 1.

page[size]integer

Records per page. Defaults to 25; anything above 100 is reduced to 100.

filter[type]'Doc' required

The kind of template to list.

filter[name]string

Partial, case-insensitive match on the template name.

filter[source]'own' | 'library' | 'all'

Limit to your own templates or to Bonsai's library.

filter[category]string

One or more category names, comma-separated.

filter[industry]string

One or more industry names, comma-separated.

filter[region]'USA' | 'CAN' | 'GBR' | 'AUS'

The region the template is written for. Defaults to your account's country.

Response

A page of templates, your own first.

Example response

{
  "data": [
    {
      "id": "3f2a91c4-6b0e-4d5a-9c88-2e7f13ab4d60",
      "name": "Web Design Proposal",
      "region": "USA",
      "updated_at": "2026-09-01T12:00:00.000Z",
      "source": "own",
      "categories": [
        "Proposal"
      ],
      "industries": [
        "Design"
      ],
      "url": "https://app.hellobonsai.com/docs/b3c1f0a9d2e4/edit",
      "roles": [
        {
          "name": "Receiver",
          "kind": "receiver"
        }
      ]
    }
  ],
  "meta": {
    "request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e",
    "pagination": {
      "page": 1,
      "page_size": 25,
      "has_more": true
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.