Access Review Exports

Programmatic creation and download of access review exports

The Access Review Export API enables you to programmatically create, monitor, and download exports of access review results in CSV or XLSX format. These endpoints provide the same export functionality available in the Veza UI, allowing you to automate report generation and integrate review data into external systems.

Endpoints

Workflow

  1. Create an export job with certification ID and format

  2. Poll the status endpoint until FINISHED

  3. Download the export file

Create Access Review Export

Create a new export job for an access review certification.

Request

POST /api/preview/awf/exports/access_review:create

Request Body

Field
Type
Required
Description

format

integer

Yes

Export format: 0 (CSV) or 6 (XLSX)

certification_id

string

Yes

The ID of the certification to export

previous_certification_id

string

No

Previous certification ID for diff exports

order_by

string

No

Sort order for results (e.g., "source.name ASC")

filter

string

No

SCIM filter for source/destination fields (e.g., "source.email eq \"[email protected]\"")

mutable_filter

string

No

SCIM filter for mutable fields (e.g., "decision eq \"RESULT_DECISION_REJECTED\"")

title

string

No

Title for XLSX exports (max 30 characters)

circle-info

Supported Formats: Only CSV (format 0) and XLSX (format 6) are supported for access review exports.

Response

Examples

Create a CSV export:

Create a filtered CSV export (rejected rows only):

Create an XLSX diff export:

Get Access Review Export

Retrieve the status and metadata for an export job.

Request

GET /api/preview/awf/exports/access_review/{export_id}

Path Parameters

Parameter
Type
Required
Description

export_id

string

Yes

The export ID returned from the create request

Response

Export Status Values

Status
Description

CREATED

Export job is queued and waiting to start

PROCESSING

Export is being generated

FINISHED

Export completed successfully and is ready for download

FAILED

Export failed due to an error

CANCELLED

Export was cancelled before completion

EXPIRED

Export file has expired and is no longer available for download

circle-exclamation

Example

Download Access Review Export

Download the completed export file.

Request

GET /api/preview/awf/exports/access_review/{export_id}:download

Path Parameters

Parameter
Type
Required
Description

export_id

string

Yes

The export ID of a completed export

Response

The response returns the file contents with appropriate content-type headers:

  • XLSX exports: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

  • CSV exports: text/csv

triangle-exclamation

Example

Complete Export Script

Filter Syntax

Both filter and mutable_filter parameters use SCIM filter syntax (RFC 7644), not SQL syntax.

SCIM Operators

Operator
Description
Example

eq

Equal

source.name eq "jsmith"

ne

Not equal

decision ne "RESULT_DECISION_NONE"

co

Contains

source.name co "admin"

sw

Starts with

source.email sw "john"

ew

Ends with

source.email ew "@example.com"

gt

Greater than

source.c gt 100

ge

Greater than or equal

source.d ge 50

lt

Less than

source.c lt 100

le

Less than or equal

source.d le 50

PR

Present (not null)

source.email PR

Decision Values

For mutable_filter, the decision field accepts these enum values:

Value
Description

RESULT_DECISION_NONE

No decision made (pending)

RESULT_DECISION_ACCEPTED

Access was approved

RESULT_DECISION_REJECTED

Access was rejected

RESULT_DECISION_FIXED

Access was remediated

Filter Examples

Export pending decisions only:

Use Case
Expression

Pending decisions

"mutable_filter": "decision eq \"RESULT_DECISION_NONE\""

Rejected access

"mutable_filter": "decision eq \"RESULT_DECISION_REJECTED\""

Accepted access

"mutable_filter": "decision eq \"RESULT_DECISION_ACCEPTED\""

Source name contains

"filter": "source.name co \"Test\""

Source email equals

"filter": "source.email eq \"[email protected]\""

Combined filter

"mutable_filter": "decision eq \"RESULT_DECISION_ACCEPTED\" and signed_off_state eq \"SIGNED_OFF\""

See Also

Last updated

Was this helpful?