Skip to main content
GET
/
v1
/
themes
List themes
curl --request GET \
  --url https://app.loops.so/api/v1/themes \
  --header 'Authorization: Bearer <token>'
{
  "pagination": {
    "totalResults": 1,
    "returnedResults": 1,
    "perPage": 20,
    "totalPages": 1,
    "nextCursor": null,
    "nextPage": null
  },
  "data": [
    {
      "id": "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"
    }
  ]
}

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

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.
message
string
required
{
  "pagination": {
    "totalResults": 1,
    "returnedResults": 1,
    "perPage": 20,
    "totalPages": 1,
    "nextCursor": null,
    "nextPage": null
  },
  "data": [
    {
      "id": "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 June 12, 2026