Skip to content

List Register of Information versions

GET
/dora-roi/versions
curl --request GET \
--url https://api.vendorica.com/v1/dora-roi/versions \
--header 'Authorization: Bearer <token>'

The filing history for your organization, newest first: every RoI snapshot that has been built, its lifecycle state and, once signed off, who signed it and when. A version is immutable after sign-off, so this is also the audit trail of what was filed and in what order. The snapshot PAYLOAD is deliberately not included — it is the whole materialised register, and it is fetched through the export endpoints in the regulator-accepted formats rather than as our internal shape. Building a snapshot and signing one off are not on this API: the first mutates the register and the second is a management-body act, and neither belongs behind a long-lived key.

Success

Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string format: uuid
status
required
string
generatedAt
required
string format: date-time
signedOffAt
required
string | null format: date-time
signedOffByUserId
required
string | null format: uuid
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
timestamp
required
string format: date-time
requestId
string
message
string
Example
{
"success": true,
"data": [
{
"id": "7120d232-46aa-4190-8201-1a6904bc9997",
"status": "string",
"generatedAt": "2026-08-19T09:41:12.004Z",
"signedOffAt": "2026-08-19T09:41:12.004Z",
"signedOffByUserId": "7848dbaf-07b1-4157-80ec-873cfc58dd28",
"createdAt": "2026-08-19T09:41:12.004Z",
"updatedAt": "2026-08-19T09:41:12.004Z"
}
],
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H",
"message": "string"
}

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"
}