Skip to content

List responses of all widgets

GET
https://api.getsitecontrol.com/v1/sites/{site_id}/responses
curl --request GET \
--url 'https://api.getsitecontrol.com/v1/sites/1/responses?limit=50&order=oldest' \
--header 'Authorization: Bearer <token>'

Form responses of every widget of the site in one list, oldest first (ascending id); order=newest gives the latest first (descending id). Call it for the latest responses across the site’s widgets, e.g. to summarize what visitors sent lately; widget_id narrows it to some widgets. Each item is the same as in list_widget_responses, its widget_id naming the widget and its fields read by that widget’s form.

Responses of deleted widgets of the site are included, as by list_widget_responses. A widget_id of no widget of the site matches nothing.

A page holds up to limit responses; while next_cursor is set, pass it as cursor for the next page with the same order, widget_id, created_since and created_before. Both periods filter by the time a response was sent.

Completeness is as in list_widget_responses: a response awaiting double opt-in or an e-mail check appears later with its original id and send time, a deleted one disappears, and contact_id may be null on a fresh response.

FieldDescription
site_id
required
Site Id
integer
FieldDescription
widget_id
Widget Id

Only responses of these widgets, ids from list_widgets; repeat for several. Omit for every widget of the site

Array<integer>

Only responses of these widgets, ids from list_widgets; repeat for several. Omit for every widget of the site

created_since
Created Since

Sent at or after this moment; without an offset, taken as UTC; a plain date means its start

string format: date-time

Sent at or after this moment; without an offset, taken as UTC; a plain date means its start

created_before
Created Before

Sent before this moment; without an offset, taken as UTC; a plain date means its start. A moment later than now is accepted and covers every response sent so far

string format: date-time

Sent before this moment; without an offset, taken as UTC; a plain date means its start. A moment later than now is accepted and covers every response sent so far

cursor
Cursor

next_cursor of the previous page, sent with the same order; omit for the first

string

next_cursor of the previous page, sent with the same order; omit for the first

limit
Limit

Items per page

integer
default: 50 >= 1 <= 100

Items per page

fields
Fields

Comma-separated fields to keep in each item, for example id,name; each item then carries only those fields and id. Omit for every field

string

Comma-separated fields to keep in each item, for example id,name; each item then carries only those fields and id. Omit for every field

order

Order of the items: oldest first (default) or newest first; asc and desc mean the same

string
Allowed values: oldest newest

Order of the items: oldest first (default) or newest first; asc and desc mean the same

Successful Response

Media typeapplication/json
WidgetResponsePage

One page of a list; next_cursor is null on the last page.

object
FieldDescription
items
required
Items
Array<object>
WidgetResponse
object
FieldDescription
id
required
Id
integer
number
Number

Response number, when the widget numbers its responses

string
nullable
widget_id
required
Widget Id
integer
created_at
required
Created At

When the response was sent

string format: date-time
contact_id
Contact Id

Set asynchronously; may be null on a fresh response

integer
nullable
fields
required
Fields

Answers by field name, in the order of the widget’s current form. Options removed from the form since the response are left out.

object
FieldDescription
key
additional properties
ResponseField
object
FieldDescription
type
required
ResponseFieldType

Type of a form field, as the editor offers it (email, text, textarea, hidden, select, radio, rating, nps and the ones below). tel: a plain phone input; phone: one with a country selector; flag: a single checkbox; checkbox: a group of checkboxes; reveal, scratch, wheel: games; the answer is the drawn prize, its name is the prize code; other: any other field, or one the widget’s current form no longer describes.

string
Allowed values: email text textarea tel phone hidden flag select radio checkbox rating nps reveal scratch wheel other
label
Label
string
nullable
value
required
Any of:
string
value_label
Any of:
string
params
required
Params

Visitor parameters as set on the site: arbitrary JSON that may hold personal data

object
page_url
Page Url

Page the response was sent from, with its query string, which may hold e-mails or tokens

string
nullable
query
required
Query

Query parameters of page_url, the last value of a repeated key; may hold e-mails or tokens

object
FieldDescription
key
additional properties
string
referrer
Referrer

Previous page of the visit on the site, not the external source; with its query string

string
nullable
source
Source

Page the visit came from, as the browser reported it on the visit’s first page: usually another site, with its query string; null for a direct visit

string
nullable
geo
required
ResponseGeo
object
FieldDescription
country
Country
string
nullable
country_code
Country Code
string
nullable
region
Region
string
nullable
city
City
string
nullable
utm
required
ResponseUtm
object
FieldDescription
source
Source
string
nullable
medium
Medium
string
nullable
campaign
Campaign
string
nullable
term
Term
string
nullable
content
Content
string
nullable
device
required
ResponseDevice
object
FieldDescription
platform
Platform
string
nullable
os
Os
string
nullable
browser
Browser
string
nullable
platform
required
Platform

Fields are null when the site is not on a known platform

object
FieldDescription
type
Type

The site’s e-commerce platform, e.g. shopify; null elsewhere

string
nullable
customer_id
Customer Id

The platform’s id of a signed-in customer

string
nullable
order_id
Order Id

The platform’s order id, on an order status page

string
nullable
warnings
required
Warnings

Empty unless the response could not be read; wording is not stable, do not parse

Array<string>
next_cursor
Next Cursor
string
nullable

Example

{
"items": [
{
"fields": {
"additionalProperty": {
"type": "email"
}
}
}
]
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Unsupported GSC-Version

Media typeapplication/problem+json
Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Missing or invalid API key or access token

Media typeapplication/problem+json
Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

WWW-Authenticate
string

Authentication scheme: Bearer

Access denied

Media typeapplication/problem+json
Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Not found

Media typeapplication/problem+json
Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Media typeapplication/problem+json

validation_failed: a malformed parameter, or created_since after created_before. invalid_cursor: the cursor is damaged or was issued for another order, widget_id, created_since or created_before

Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Media typeapplication/problem+json

rate_limited: the key, account or heavy bucket is spent; this operation spends the heavy bucket shared with statistics and other heavy calls

Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds

Retry-After
integer

Seconds until the bucket refills

Temporarily unavailable; retry later

Media typeapplication/problem+json
Problem

The documented shape of every error body on the versioned surface.

object
FieldDescription
type
required
Type
string
title
required
Title
string
status
required
Status
integer
detail
Detail
string
nullable
instance
required
Instance
string
reason
Reason
string
nullable
next
Next
string
nullable
request_id
required
Request Id
string
errors
Errors
Array<object>
nullable
ValidationIssue
object
FieldDescription
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
metadata
Metadata
object

Example · Generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"reason": "example",
"next": "example",
"request_id": "example",
"errors": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
],
"metadata": {}
}
FieldDescription
GSC-Version
string

API version the response was produced for

X-Request-Id
string

Request id, echoed from the request when valid

X-RateLimit-Limit
integer

Limit of the tightest bucket

X-RateLimit-Remaining
integer

Requests left in its window

X-RateLimit-Reset
integer

End of its window, epoch seconds