Get a custom template

gethttps://api.expiryedge.com/v1/template
any role (admin, editor or viewer)60/min
Request
curl 'https://api.expiryedge.com/v1/template?templateId=tpl_Lic42a&organizationId=org_northwind' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY"
Response
{
  "id": "tpl_Lic42a",
  "name": "Professional License",
  "description": "Fields tracked for every state professional license.",
  "icon": "DocumentText",
  "color": "#3b82f6",
  "fields": [
    {
      "name": "license_number",
      "label": "License Number",
      "type": "text",
      "required": true
    },
    {
      "name": "ce_hours",
      "label": "CE Hours",
      "type": "number",
      "required": false,
      "options": {
        "min": 0
      }
    },
    {
      "name": "board",
      "label": "Board",
      "type": "select",
      "required": false,
      "options": {
        "options": [
          "Dental",
          "Medical",
          "Nursing"
        ]
      }
    }
  ],
  "created_by": "u_71bXq",
  "usage_count": 3,
  "archived": false,
  "created_at": "2026-09-27T14:05:00.000Z",
  "updated_at": "2026-09-27T14:05:00.000Z"
}

Only GET, POST, PUT and DELETE are accepted on /template.

Query parameters

  • templateIdstringrequired
    Custom template id.
  • organizationIdstring
    Optional legacy parameter. If sent it must equal your organization id (403 otherwise); userId is ignored.

Returns

200
The template.
  • namestring
    Unique (case-insensitive) among active templates in the organization.
  • descriptionstring
  • fieldsarray of objects
  • iconstring
    Icon name; defaults to DocumentText.
  • colorstring
    Hex color; defaults to #3b82f6.
  • idstringread-only
  • created_bystringread-only
  • usage_countintegerread-only
  • archivedbooleanread-only
    Set by archiveTemplate / unarchiveTemplate.
  • archived_atstringread-only
    format: date-time
  • archived_bystringread-only
  • created_atstringread-only
    format: date-time
  • updated_atstringread-only
    format: date-time

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Authenticated, but your role or organization does not allow this action.
404
The record does not exist or is not in your organization.
405
The endpoint does not accept this HTTP method.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.