/projects
Scoped by clientId in the query, so the total is this client's total. Whatever clientId a caller might put on the filter is overwritten with their own — there is no parameter for it, and the service rebuilds the filter rather than trusting it.
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
Headers3
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, issued alongside the bearer token and handed over with it. Compared in constant time against the bearer token's own row by DeveloperApiAuthFilter, before any handler runs, so a bearer token lifted on its own is not enough to call anything here. There is no endpoint that will tell you this value — an integrator who has lost it asks for the pair to be regenerated.
AcceptstringoptionalResponse media type.
Query parameters6
pageNointegeroptionalPage number, 1-based. A null or non-positive value means the first page.
maxPerPageintegeroptionalRows per page. Nothing is rejected for being out of range — a null or non-positive size means the default and an oversized one is clamped. The clamp is never silent: the listing still answers with the real total. (max 200)
projectNamestringoptionalName contains — substring match.
statusintegeroptionalProjectStatus code.
countryIdstring<uuid>optionalTarget country.
parentProjectIdstring<uuid>optionalOnly children of this study.
Responses
Matching projects plus the pageable total.
successboolean- Whether the call succeeded.
projectsarray<object>totalinteger