The Identity Lookup API allows you to resolve an identity based on a device_id or soft_id and website id, returning a configured external ID (if available).
URL
POST [https://api.wknd.ai/v1/identity/lookup]
Request Headers
The following are used for authentication/authorization checks.
X-Client-ID: A 32-byte hashed string provided by Wunderkind.
X-Client-Secret: A 64-byte hashed string provided by Wunderkind.
Request Body
At least one identifier must be provided. If both device_id and soft_id are included, device_id will take precedence.
Field | Type | Required |
---|---|---|
WebsiteID | string | Yes |
ExternalIDType | string | Yes |
DeviceID | string | No (one of DeviceID/SoftID/Emailhash/ExternalID required) |
SoftID | string | No (one of DeviceID/SoftID/Emailhash/ExternalID required) |
Emailhash | string | No (one of DeviceID/SoftID/Emailhash/ExternalID required) |
ExternalID | string | No (one of DeviceID/SoftID/Emailhash/ExternalID required) |
Success Response - 200 OK
{ "external_id": "abc123xyz", "external_id_name": "shutterfly_id" }
Error Codes
HTTP Status | Meaning |
---|---|
401 | Unauthorized – invalid or missing credentials. |
403 | Forbidden – authentication succeeded, but access is not permitted. |
429 | Rate Limited – too many requests. |
404 | Not Found – no identity could be resolved. |
400 | Bad Request – missing or invalid parameters. |
500 | Internal Server Error – something went wrong on the server. |
Example Request
curl -X POST https://api.wknd.ai/v1/identity/lookup \ -H 'Content-Type: application/json' \ -H 'X-Client-ID: ********s19bvx18vly70bk5********' \ -H 'X-Client-Secret: ********c2a4b82f10f8a137b1b056c6f3f3909ddc062a6fb6b4826c********' \ -d '{ "website_id": "1234", "external_id_type": "shuterfly_id", "device_id": "123456789" }'
Example Response
{ "external_id": "2345665432", "external_id_type": "shutterfly_id" }