Get a face

One of your faces, with the design behind each of its variants exactly as written. Requires the `faces.read` permission.

GET
/faces/{faceId}
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

faceId*string

Identifier of the face.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/faces/665f1c2d4b1a2c3d4e5f6a50"
{
  "id": "665f1c2d4b1a2c3d4e5f6a50",
  "name": "Festival wristband",
  "renderer": "go-template",
  "views": [
    {
      "variant": "card",
      "media_type": "image/svg+xml",
      "aspect_ratio": "1/1",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 400\">...</svg>"
    },
    {
      "variant": "detail",
      "media_type": "text/html",
      "content": "<main><h1>{{.metadata.name}}</h1></main>"
    }
  ],
  "assets": [
    {
      "id": "665f1c2d4b1a2c3d4e5f6a10",
      "url": "https://assets.example.com/logo.png"
    }
  ],
  "when_created": "2026-02-28T09:00:00Z",
  "when_modified": "2026-03-02T11:30: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"
}