curl --request GET \
--url https://api.verify.privue.ai/workflows/{workflow_key}/versions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/workflows/{workflow_key}/versions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/workflows/{workflow_key}/versions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"versions": [
{
"version": 3,
"published_at": "2026-08-10T17:45:30"
},
{
"version": 2,
"published_at": "2026-08-04T11:20:05"
},
{
"version": 1,
"published_at": "2026-07-14T16:02:47"
}
]
}{
"code": "workflow-not-found",
"detail": "client 'acme' has no workflow 'merchant-onboarding'"
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "request-invalid",
"detail": "verification_id: Input should be a valid UUID, invalid character: found `n` at 1"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}List a workflow's versions
List every version a workflow has published, newest first.
A change to a workflow is published as its next version, and a verification runs the version it was created on until it is reset. Every verification names its version in version: read that version to see the journey the verification runs, and read two versions to see what changed between them.
A workflow taken out of use keeps its versions, so one you can no longer create a verification on still lists them for the verifications that ran it.
curl --request GET \
--url https://api.verify.privue.ai/workflows/{workflow_key}/versions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/workflows/{workflow_key}/versions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/workflows/{workflow_key}/versions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"versions": [
{
"version": 3,
"published_at": "2026-08-10T17:45:30"
},
{
"version": 2,
"published_at": "2026-08-04T11:20:05"
},
{
"version": 1,
"published_at": "2026-07-14T16:02:47"
}
]
}{
"code": "workflow-not-found",
"detail": "client 'acme' has no workflow 'merchant-onboarding'"
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "request-invalid",
"detail": "verification_id: Input should be a valid UUID, invalid character: found `n` at 1"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Every version the workflow has published, newest first.
Every version a workflow has published.
Newest first, so the first entry is the latest version.
Show child attributes
Show child attributes
