Get a template

One of your templates in full: what objects made from it carry, how they look, what can be done with them, how many may exist and how many already do. Requires the `templates.read` permission.

GET
/templates/{templateId}
AuthorizationBearer <token>

The access token returned after a successful sign-in, sent as Authorization: Bearer <access_token>.

It identifies the person and the organization they are working in, and it lasts about fifteen minutes. When it runs out, use their refresh token at POST /auth/refresh-token instead of asking them to sign in again.

In: header

Path Parameters

templateId*string

Identifier of the template.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/templates/665f1c2d4b1a2c3d4e5f6ad0"
{
  "id": "665f1c2d4b1a2c3d4e5f6a99",
  "name": "Summer Festival Ticket",
  "owner": "0x1234567890abcdef1234567890abcdef12345678",
  "face_id": "665f1c2d4b1a2c3d4e5f6a50",
  "object": {
    "metadata": {
      "name": "Summer Festival 2026",
      "description": "Three days, four stages, one wristband."
    },
    "custom": {
      "tier": "general",
      "seat": null
    }
  },
  "factory": {
    "max_supply": 4000,
    "minted_count": 1284,
    "start_time": "2026-04-01T09:00:00Z",
    "end_time": "2026-07-31T23:59:59Z"
  },
  "actions": [
    {
      "name": "mint",
      "access": {
        "type": "private"
      }
    },
    {
      "name": "transfer",
      "access": {
        "type": "public"
      }
    },
    {
      "name": "redeem",
      "alias": "check-in",
      "access": {
        "type": "private"
      }
    }
  ],
  "public_access": {
    "custom": [
      "tier"
    ]
  },
  "when_created": "2026-03-01T10:00:00Z",
  "when_modified": "2026-03-04T16:20:00Z"
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}

{
  "code": 16,
  "message": "no auth provided"
}

{
  "code": 5,
  "message": "object not found"
}
{
  "code": 13,
  "message": "internal error"
}