/projects
The redirect ids are the point of creating a project over the API. They are the callbacks the client pastes into their own survey platform's exit-redirect settings, as …/survey/c_{id}, d_{id}, t_{id}, q_{id}, plus the test* quartet for a project being checked out in Testing.
Qualifications cannot be set here — they have their own PUT sub-resource, so creating a project with qualifications is two calls.
https://dashboard.a2bsample.com/api/developer/playground/client/projectsAuthorizationandX-Api-Tokenas headers./projectshttps://dashboard.a2bsample.com/api/developer/playground/client/projectsSend a request to see the response.
Example request
Request
Headers4
AuthorizationstringrequiredThe secret half. A client token starts clt_ — the four-character prefix says which table to resolve it in, so the row it matches is the caller. A vnd_… token on this prefix is a 403, not a 404.
X-Api-TokenstringrequiredThe identity half — this client's own 40-hex apiToken, the value GET /api/developer/me echoes back. Compared in constant time against the bearer token's own row, so a bearer token lifted on its own is not enough to call the playground.
Content-TypestringrequiredRequest media type.
AcceptstringoptionalResponse media type.
Body20
projectNamestringrequiredRequired on create and non-blank. Unique system-wide, not per client — a clash is a 409.
parentProjectIdstring<uuid>optionalstudyTypeintegeroptionalcountryIdstring<uuid>optionalMust exist, or 400 Unknown countryId: ….
languageIdstring<uuid>optionalMust exist.
currencyIdstring<uuid>optionalMust exist. Defaults to United States Dollar.
cpcnumberoptionalThe client's own rate per complete.
surveyLinkstringoptionalsurveyTestLinkstringoptionalRequired if status is 2 (Testing). Checked last, against the values just assigned rather than against the request, so it catches both moving a project into Testing with no test link and clearing the test link of a project already sitting in Testing.
reqCompleteintegeroptionalloiintegeroptionalirintegeroptionalstatusintegeroptionaldevicestringoptional1 Monitor, 2 Smartphone, 3 Tablet. Blank means any.
notesstringoptionalprojectBriefstringoptionaltargetAgeMinintegeroptionaltargetAgeMaxintegeroptionaltargetGenderstringoptionalSend "" to lift the restriction.
targetZipCodesstringoptionalRequest body
Responses
Created. The response carries the eight redirect ids.
successboolean- Whether the call succeeded.
messagestringprojectobject- A project as its owning client sees it.
vendorCpiis absent from this record entirely, not present-and-nulled — a field that is never populated is one nobody has to remember to null on a new code path.