Skip to main content
GET
/
v1
/
themes
List themes
curl --request GET \
  --url https://app.loops.so/api/v1/themes \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "pagination": {
    "totalResults": 1,
    "returnedResults": 1,
    "perPage": 20,
    "totalPages": 1,
    "nextCursor": null,
    "nextPage": null
  },
  "data": [
    {
      "themeId": "thm_01hxyz",
      "name": "Marketing default",
      "styles": {
        "backgroundColor": "#ffffff",
        "textBaseColor": "#111111",
        "textBaseFontSize": 16
      },
      "isDefault": true,
      "createdAt": "2026-03-28T15:00:00.000Z",
      "updatedAt": "2026-03-28T15:00:00.000Z"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://loops.so/docs/llms.txt

Use this file to discover all available pages before exploring further.

Content API endpoints are currently in an open alpha and are subject to change.

Request

Query parameters

perPage
string
default:20
How many results to return in each request. Must be between 10 and 50.
cursor
string
A cursor to return a specific page of results. Cursors can be found from the pagination.nextCursor value in each response.

Response

Success

success
boolean
required
pagination
object
data
array
required

Error

A 400 Bad Request is returned if perPage is invalid. If the API key is invalid (or content API is not enabled for your team), a 401 Unauthorized is returned.
success
boolean
required
message
string
required
{
  "success": true,
  "pagination": {
    "totalResults": 1,
    "returnedResults": 1,
    "perPage": 20,
    "totalPages": 1,
    "nextCursor": null,
    "nextPage": null
  },
  "data": [
    {
      "themeId": "thm_01hxyz",
      "name": "Marketing default",
      "styles": {
        "backgroundColor": "#ffffff",
        "textBaseColor": "#111111",
        "textBaseFontSize": 16
      },
      "isDefault": true,
      "createdAt": "2026-03-28T15:00:00.000Z",
      "updatedAt": "2026-03-28T15:00:00.000Z"
    }
  ]
}
Last modified on May 20, 2026