Skip to content

Qualify opportunities

POST
/qualify
curl --request POST \
--url https://respondent.rex.dynata.com/qualify \
--header 'Content-Type: application/json' \
--header 'dynata-access-key: ABCD1234' \
--header 'dynata-expiration: 2026-04-15T12:00:00Z' \
--header 'dynata-signature: c156e91013eb715edb2b07df5491497a807206b1796bb7d031505107a9dbdcdf' \
--data '{ "respondent_id": "user1234", "group_ids": [ 12345678, 91011121 ], "fingerprinting_data": { "width": 600, "height": 800, "ip_address": "1.1.1.1", "http_headers": { "additionalProperty": [ "example" ] }, "device_type": "DESKTOP" } }'

Please Note

This endpoint will only return details for up to 10 group_ids per request. It will error out if more than 10 group_ids are defined. Only ipv4 format is accepted for ip addresses.

The /qualify endpoint will verify if a respondent is eligible to participate in each of the requested group_ids. It will check the filter and quota criteria, as well as run a duplication check across all of Dynata’s supply sources using the provided fingerprinting_data.

Learn more here.

Qualify

dynata-expiration
required
string format: date-time

RFC3339 timestamp indicating request expiration

dynata-access-key
required
string

Dynata provided access key

Example
ABCD1234
dynata-signature
required
string

Signature created using the dynata methodology

Example
c156e91013eb715edb2b07df5491497a807206b1796bb7d031505107a9dbdcdf
Media typeapplication/json
object
respondent_id
required

Partner’s respondent identifier. Accepts 100 characters, 3-byte chars.

string
group_ids
required

Opportunity group identifier

Array<integer>
>= 1 items <= 10 items
fingerprinting_data
object
width

Device width

integer format: int64
height

Device height

integer format: int64
ip_address

Respondent’s ipv4 address (currently ipv6 isn’t supported)

string format: ipv4
http_headers
object
key
additional properties
Array<string>
device_type

Device form factor

string
Allowed values: DESKTOP TABLET SMARTPHONE

Qualified quota check

Media typeapplication/json
Array<object>
object
group_id
required

Opportunity group identifier

integer format: int64
qualified
required

Based on known respondent attributes and fingerprinting_data, the group_id is a potential match. See exact_match for further details.

boolean
start_url

Inbound, entry URL

string
nullable
exact_match

If true, the group_id is a full match. If false, additional profiling will be required to collect the missing respondent attributes.

boolean
nullable
actual_length_of_interview

Average length of interview in minutes based on prior completes.

integer format: int32
nullable
priority

Dynata recommends this as a high priority opportunity.

boolean
nullable
dispositions
Array<object>
object
disposition
integer format: int32
status
integer format: int32
categories
Array<integer>
Examples
[
{
"group_id": 12345678,
"qualified": true,
"start_url": "https://respondent.qa-rex.dynata.com/start?ctx=abc123",
"exact_match": false,
"actual_length_of_interview": null,
"priority": false,
"categories": [
1234,
4321
]
}
]

Bad request

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Invalid credentials

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Unauthorized

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Internal server error

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}