By the end of this quickstart you’ll have a working auditor access token and you’ll have used it to list the information requests for one of your active audits.Documentation Index
Fetch the complete documentation index at: https://vanta.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Before you begin
Make sure you have:- An active Vanta Audit Partner registration. If you don’t see the Auditor API option in your Vanta navigation, contact your Vanta representative.
- An auditor login at Vanta app.
- At least one active audit assigned to your firm — most endpoints return data only for audits that already exist.
- A terminal or HTTP client (cURL, Postman, or your language of choice).
This quickstart is for Vanta audit partners pulling data from their customers’ audits. If you’re a Vanta customer automating your own tenant, see the Manage Vanta quickstart. If you’re a partner building a public integration, see the Build an Integration quickstart.
Create an auditor application
Vanta Dashboard — sign in to Vanta app with your auditor email. In the left navigation, open Auditor API, then click Create.
Give your application a name and description, then click Create.
The OAuth 


client_id is auto-generated. Click Generate client secret to create the secret. Store both values securely — only share with trusted team members. You can rotate the secret at any time.
Get an access token
From your terminal, exchange your client credentials for an access token. This quickstart only makes read calls, so request the minimum scope: Expected response:
auditor-api.audit:read.One token at a time. Vanta only allows one active access token per application — requesting a new token immediately revokes the previous one. Tokens expire after one hour.
Got a 401 or invalid_client?
Got a 401 or invalid_client?
Double-check the
client_id and client_secret from the Auditor API page. If you rotated the secret, the old one is no longer valid. Make sure your Content-Type header is application/json — Vanta’s /oauth/token does not accept form-encoded bodies.Got an invalid_scope error?
Got an invalid_scope error?
You requested a scope that isn’t available to Auditor apps. For this quickstart, request only
auditor-api.audit:read. Auditor apps can also request auditor-api.audit:write, auditor-api.auditor:read, and auditor-api.auditor:write — request only what your tool needs.List your active audits
From your terminal, call Expected response — note the
GET /v1/audits to see the audits assigned to your firm, then grab an auditId to use in the next step. Pass isActiveAudit=true to filter out audits with a final report already uploaded. Replace your_token_here with the access_token from Step 2.id field on each audit; that’s the auditId you’ll use in the next step:Empty `data` array?
Empty `data` array?
Either your firm has no active audits in flight, or every audit already has a final report uploaded (filtered out by
isActiveAudit=true). Re-run the request without isActiveAudit=true to include completed audits.List information requests for that audit
From your terminal, call Expected response:
GET /v1/audits/{auditId}/information-requests with the auditId from Step 3. This returns every information request (IR) on the audit — the evidence requirements your team and the customer are working through. Reuse the same access_token from Step 2 by replacing your_token_here.Empty `data` array?
Empty `data` array?
Either the audit has no information requests yet, or the requests haven’t been shared with the customer. Confirm in the Vanta dashboard that the audit has IRs configured. Note that this endpoint always includes soft-deleted records — check
deletionDate to skip them.Got a 403 Forbidden?
Got a 403 Forbidden?
Your firm isn’t assigned to this audit, or your application’s allowlisted auditor emails don’t include you. Re-run Step 3 and copy an
auditId from the response — that list is already scoped to audits your firm can see.Verify it worked
Pick an information request from the response and open the audit in Vanta app — find the IR by its
uniqueId or title. You should land on the same record the API just returned.Confirm on the dashboard:- The title, description, and due date match what the API returned.
- The approval status matches
approvalStatusfrom the response (e.g.NEEDS_EVIDENCE,AWAITING_REVIEW,APPROVED). - The owner matches
ownerAssignment.displayName.
| Scenario | Test input | Expected result |
|---|---|---|
| Success | An IR with approvalStatus: "NEEDS_EVIDENCE" from the response | The IR exists in the dashboard with matching title, description, and due date; status reads “Needs evidence” |
| Auth failure | Expired access_token (older than one hour) | 401 Unauthorized — re-run Step 2 for a fresh token |
| Edge case | An IR with a non-null deletionDate | Record is soft-deleted; it won’t appear in the dashboard, and your tool should skip or archive it |
Congratulations
You have a working auditor token and you’ve used it to read information requests from one of your active audits. From here you can:- Pull the controls for an audit with
GET /v1/audits/{auditId}/controlsto see every requirement in scope. - Pull evidence with
GET /v1/audits/{auditId}/evidenceto feed the customer’s evidence into your audit-management tooling. - Create custom IRs with
POST /v1/audits/{auditId}/information-requeststo add evidence requirements that supplement Vanta’s built-in scaffolding (requires theauditor-api.audit:writescope). - Accept or flag evidence on an IR programmatically once your team has reviewed it.
Next steps
List audit controls
Pull every control in scope for an audit, with framework codes and status.
Manage information requests
Create custom IRs, accept or flag evidence, and share the IR list with the customer.
Browse the Auditor API
Every endpoint available to auditor apps.
Set up Postman
Import the Vanta collection and start testing requests in seconds.