Skip to main content
GET
/
api
/
partner
/
v1
/
templates
curl --request GET \
  --url 'https://www.genviral.io/api/partner/v1/templates?search=hooks&limit=20' \
  --header 'Authorization: Bearer <token>'
{
  "ok": true,
  "code": 200,
  "message": "Templates retrieved",
  "data": {
    "templates": [
      {
        "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
        "name": "Hooks Template",
        "description": "2-slide educational format",
        "visibility": "private",
        "preview_url": null,
        "use_count": 3,
        "last_used_at": "2026-02-14T09:11:00.000Z",
        "created_at": "2026-02-12T15:00:00.000Z",
        "updated_at": "2026-02-14T09:11:00.000Z",
        "is_owner": true,
        "config": {
          "version": 1,
          "structure": {
            "slides": [
              {
                "type": "pack",
                "id": "11111111-1111-1111-1111-111111111111",
                "pinnedImageUrl": null,
                "textElements": [
                  {
                    "id": "22222222-2222-2222-2222-222222222222",
                    "content": "Hook text",
                    "x": 50,
                    "y": 25,
                    "fontSize": 48,
                    "width": 70
                  }
                ]
              }
            ]
          },
          "content": {
            "mode": "manual",
            "productId": null,
            "language": "en",
            "slideshowType": "educational"
          },
          "visuals": {
            "packId": null,
            "aspectRatio": "4:5",
            "textSettings": {
              "fontSize": "default",
              "preset": "tiktok",
              "width": "default"
            }
          }
        }
      }
    ],
    "total": 1,
    "limit": 20,
    "offset": 0
  }
}
Returns templates visible to the current key scope (owner/private + workspace + public as applicable).

Query Parameters

Optional name filter (case-insensitive partial match).
limit
number
default:"20"
Number of templates to return. Range: 1-100.
offset
number
default:"0"
Number of templates to skip.

Response

templates
array
Template list.
total
number
limit
number
offset
number
curl --request GET \
  --url 'https://www.genviral.io/api/partner/v1/templates?search=hooks&limit=20' \
  --header 'Authorization: Bearer <token>'
{
  "ok": true,
  "code": 200,
  "message": "Templates retrieved",
  "data": {
    "templates": [
      {
        "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
        "name": "Hooks Template",
        "description": "2-slide educational format",
        "visibility": "private",
        "preview_url": null,
        "use_count": 3,
        "last_used_at": "2026-02-14T09:11:00.000Z",
        "created_at": "2026-02-12T15:00:00.000Z",
        "updated_at": "2026-02-14T09:11:00.000Z",
        "is_owner": true,
        "config": {
          "version": 1,
          "structure": {
            "slides": [
              {
                "type": "pack",
                "id": "11111111-1111-1111-1111-111111111111",
                "pinnedImageUrl": null,
                "textElements": [
                  {
                    "id": "22222222-2222-2222-2222-222222222222",
                    "content": "Hook text",
                    "x": 50,
                    "y": 25,
                    "fontSize": 48,
                    "width": 70
                  }
                ]
              }
            ]
          },
          "content": {
            "mode": "manual",
            "productId": null,
            "language": "en",
            "slideshowType": "educational"
          },
          "visuals": {
            "packId": null,
            "aspectRatio": "4:5",
            "textSettings": {
              "fontSize": "default",
              "preset": "tiktok",
              "width": "default"
            }
          }
        }
      }
    ],
    "total": 1,
    "limit": 20,
    "offset": 0
  }
}

Error Responses

  • 422 invalid_query - query params failed validation
  • 401 - authentication failed (missing/invalid/revoked token)
  • 402 subscription_required - active Creator/Professional/Business plan required
  • 403 tier_not_allowed - Scheduler tier cannot use Partner API
  • 500 templates_list_failed - unexpected listing failure