V3 Creatives

Returns a workspace's creatives, most recently updated first. Session cookie, x-api-key, or a Bearer token, with read access to the workspace.

Archived creatives are left out unless filter[displayStatus][in] asks for archived. filter[displayStatus][in] filters on the derived displayStatus, so it matches what each row shows: a creative whose survey is paused matches paused, one whose schedule has ended matches closed. surveyId keeps the creatives that open that survey.

Pagination is keyset on the sort field and id. The cursor is opaque and bound to the sort order and the filters it was issued for; changing either answers 400. meta.nextCursor being null is the only end-of-collection signal.

get/api/v3/creatives

Request

  • Base URL
    https://app.formbricks.com
  • URL
    https://app.formbricks.com/api/v3/creatives
  • Auth
    • API key in cookie next-auth.session-token
    • or API key in header x-api-key
    • or HTTP bearer

Query parameters

workspaceIdstring cuid2 required

Workspace identifier. This is the canonical container ID for v3 APIs.

limitinteger

Page size. A value above the maximum is rejected with 400 rather than silently reduced to it — v3 rejects unusable input instead of substituting its own, the same way it rejects unrecognized query parameters. The server may still return fewer items than requested, so treat meta.nextCursor as the only end-of-collection signal rather than comparing the page length against limit.

cursorstring

Opaque cursor returned as meta.nextCursor from the previous page. Omit on the first request.

filter[name][contains]string

Case-insensitive substring match on the creative's name.

filter[type][in]CreativeType[]

Creative types to include. Repeat the parameter or use comma-separated values.

filter[displayStatus][in]CreativeDisplayStatus[]

Derived statuses to include. Repeat the parameter or use comma-separated values. Omit for every status but archived.

surveyIdstring cuid2

Only creatives whose Destination is this survey.

sortBy'updatedAt' | 'createdAt' | 'name'

Sort order: updatedAt and createdAt newest first, name alphabetically. The cursor is bound to it.

Response

Creatives retrieved successfully

Example response

{
  "data": [
    {
      "defaultLanguage": "en-US",
      "languages": [
        {
          "code": "en-US"
        }
      ],
      "distribution": {
        "showOn": "pageView",
        "triggers": [],
        "conditions": null,
        "displayPercentage": null
      },
      "schedule": {
        "startAt": "2026-11-01T02:00:00.000Z",
        "endAt": "2026-11-01T04:00:00.000Z"
      },
      "content": {
        "label": {
          "en-US": "Feedback",
          "de-DE": "Feedback geben"
        }
      },
      "styling": {
        "position": {
          "desktop": {
            "edge": "right",
            "offset": 50
          },
          "phone": null
        },
        "theme": {
          "customStyles": false,
          "backgroundColor": null,
          "textColor": null,
          "borderColor": null,
          "borderRadius": null,
          "fontWeight": null,
          "fontSize": {
            "desktop": null,
            "phone": null
          },
          "paddingX": {
            "desktop": null,
            "phone": null
          },
          "paddingY": {
            "desktop": null,
            "phone": null
          }
        }
      }
    }
  ]
}

Changes

    • info

      added the required property ////////// to the response with the status

    • info

      added the required property ////////// to the response with the status

    • warning

      added the new chart_in_use enum value to the response property for the response status

    • warning

      added the new chart_in_use enum value to the response property for the response status

    • warning

      added the new chart_in_use enum value to the response property for the response status

    • warning

      added the new chart_in_use enum value to the response property for the response status

    • warning

      added the new chart_in_use enum value to the response property for the response status

    • warning

      added the new dashboards_plan_required enum value to the response property for the response status

    • warning

      added the new dashboards_plan_required enum value to the response property for the response status

    • warning

      added the new dashboards_plan_required enum value to the response property for the response status

    • warning

      added the new dashboards_plan_required enum value to the response property for the response status

    • warning

      added the new dashboards_plan_required enum value to the response property for the response status

    • warning

      added the new limit_exceeded enum value to the // response property for the response status

    • warning

      added the new limit_exceeded enum value to the // response property for the response status

    • warning

      added the new limit_exceeded enum value to the // response property for the response status

    • warning

      added the new limit_exceeded enum value to the // response property for the response status

    • warning

      added the new limit_exceeded enum value to the // response property for the response status