List evidence (cursor-paginated)
GET
/evidence
const url = 'https://api.vendorica.com/v1/evidence?limit=50&testType=manual&status=pass';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vendorica.com/v1/evidence?limit=50&testType=manual&status=pass' \ --header 'Authorization: Bearer <token>'Cursor-paginated read of the test_evidence feed. Pass ?cursor=<opaque>&limit=<n> to advance; the response carries cursor.nextCursor (null on the last page) plus cursor.hasMore. The legacy ?page= parameter returns 400.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Success
Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string format: uuid
organizationId
required
string format: uuid
controlId
required
string format: uuid
controlDisplayId
required
string | null
controlName
required
string | null
testType
required
string
source
required
string
status
required
string
summary
required
string | null
isSensitive
required
boolean
collectedAt
required
string format: date-time
expiresAt
required
string | null format: date-time
supersededBy
required
string | null format: uuid
key
additional properties
timestamp
required
string format: date-time
requestId
string
message
string
cursor
required
object
nextCursor
required
string | null
hasMore
required
boolean
limit
required
integer
Example
{ "success": true, "data": [ { "id": "336749c2-ab99-4940-8502-c479805b50c7", "organizationId": "65cc03cb-0929-456b-850d-52b81ff93df4", "controlId": "2af92ac9-713e-4d91-872d-4cd68e4fee96", "controlDisplayId": "string", "controlName": "string", "testType": "string", "source": "string", "status": "string", "summary": "string", "isSensitive": true, "collectedAt": "2026-08-19T09:41:12.004Z", "expiresAt": "2026-08-19T09:41:12.004Z", "supersededBy": "1a80c892-48bb-4ab0-8286-e7c9575ee7b7" } ], "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H", "message": "string", "cursor": { "nextCursor": "string", "hasMore": true, "limit": 1 }}Validation error
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Bad request", "code": "BAD_REQUEST", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Unauthorized
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Unauthorized", "code": "UNAUTHORIZED", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Forbidden — missing scope
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Forbidden", "code": "FORBIDDEN", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Not found
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Resource not found", "code": "NOT_FOUND", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Rate limit exceeded
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Too many requests", "code": "TOO_MANY_REQUESTS", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}