Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/drata-evidence-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Drata Evidence API
version: V2
contact: {}
description: 'Operations tagged Evidence across 2 of this provider''s published API definitions: drata-api-v2-openapi.json, drata-api-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
tags:
- name: Evidence
description: Evidence items hold one or more artifacts, the files, URLs, or ticket references that demonstrate a control is operating. <br/>Use the evidence-files endpoint to pre-upload a file, then reference the returned fileKey when creating or updating an Evidence item.
paths:
/workspaces/{workspaceId}/evidence:
get:
description: 'List evidence items with pagination, filtering, and optional expand.
🔒 Requires **Evidence Library: List Evidence** permission.'
operationId: EvidencePublicV2Controller_listEvidence
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: cursor
required: false
in: query
description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
schema:
type: string
- name: size
required: false
in: query
description: Number of results to return
schema:
minimum: 1
maximum: 500
default: 50
type: number
- name: sort
required: false
in: query
description: Which field to sort by
schema:
$ref: '#/components/schemas/SortTypeLimitedEnum'
- name: sortDir
required: false
in: query
description: The direction to sort the data
schema:
$ref: '#/components/schemas/SortDirectionEnum'
- name: expand[]
required: false
in: query
description: List of subcollections and sub-objects to expand
schema:
type: array
items:
$ref: '#/components/schemas/EvidenceExpandEnum'
- name: name
required: false
in: query
description: Filter evidence items by name (prefix match)
schema:
maxLength: 191
example: SOC2 Evidence
type: string
- name: ownerIds[]
required: false
in: query
description: IDs of the users that own the evidence current version.
schema:
example:
- 1
- 2
- 3
type: array
items:
type: number
- name: frameworkIds[]
required: false
in: query
description: Array of Ids of frameworks to be used as filters
schema:
example:
- 1
- 2
- 3
type: array
items:
type: number
- name: evidenceStatuses[]
required: false
in: query
description: Filter evidence items by statuses
schema:
type: array
items:
$ref: '#/components/schemas/ComputedEvidenceStatusEnum'
- name: artifactTypes[]
required: false
in: query
description: Filter evidence items by artifact types
schema:
type: array
items:
$ref: '#/components/schemas/ArtifactTypeEnum'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceListResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: List Evidence Items
tags:
- Evidence
x-drata-permissions:
- evidence-get
x-product-area:
- EVIDENCE_LIBRARY
post:
description: 'Create a new Evidence item with one or more artifacts. File artifacts must be pre-uploaded via the evidence-files endpoint and referenced by `fileKey`.
🔒 Requires **Evidence Library: Create Evidence** permission.'
operationId: EvidencePublicV2Controller_createEvidence
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceCreateRequestPublicV2Dto'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceMutationResponsePublicV2Dto'
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Create Evidence
tags:
- Evidence
x-drata-permissions:
- evidence-post
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
/workspaces/{workspaceId}/evidence-files:
post:
description: 'Pre-upload a file to be used as an evidence artifact. Provide the binary as either a multipart `file` or a Base64-encoded `base64File`; exactly one is required. Returns a `fileKey` that can be referenced in the create/update Evidence endpoints.
🔒 Requires **Evidence Library: Create Evidence** permission.'
operationId: EvidencePublicV2Controller_uploadArtifactFile
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/EvidenceArtifactUploadRequestPublicV2Dto'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactUploadResponsePublicV2Dto'
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Upload Evidence Artifact File
tags:
- Evidence
x-drata-permissions:
- evidence-post
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
/workspaces/{workspaceId}/evidence/{evidenceId}:
get:
description: 'Get a specific evidence item by ID with optional expand.
🔒 Requires **Evidence Library: List Evidence** permission.'
operationId: EvidencePublicV2Controller_getEvidence
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
- name: expand[]
required: false
in: query
description: List of subcollections and sub-objects to expand
schema:
type: array
items:
$ref: '#/components/schemas/EvidenceExpandEnum'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Get Evidence Item
tags:
- Evidence
x-drata-permissions:
- evidence-get
x-product-area:
- EVIDENCE_LIBRARY
put:
description: 'Update an existing Evidence item. Supports multi-artifact operations: add new artifacts, archive artifacts (past), restore artifacts (current), and replace artifacts.
🔒 Requires **Evidence Library: Update Evidence** permission.'
operationId: EvidencePublicV2Controller_updateEvidence
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceUpdateRequestPublicV2Dto'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceMutationResponsePublicV2Dto'
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Update Evidence
tags:
- Evidence
x-drata-permissions:
- evidence-put
x-product-area:
- EVIDENCE_LIBRARY
delete:
description: 'Permanently delete an Evidence item and all of its artifacts. To delete a single artifact and leave the Evidence item in place, use the delete artifact endpoint.
🔒 Requires **Evidence Library: Delete Evidence** permission.'
operationId: EvidencePublicV2Controller_deleteEvidence
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
responses:
'204':
description: No Content
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Delete Evidence
tags:
- Evidence
x-drata-permissions:
- evidence-delete
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
/workspaces/{workspaceId}/evidence/{evidenceId}/artifacts:
get:
description: 'List the artifacts of a single evidence item. Returns one entry per artifact, not one per artifact version, so each `id` is stable across replacements and is the ID accepted by the other artifact endpoints.
🔒 Requires **Evidence Library: List Evidence** permission.'
operationId: EvidencePublicV2Controller_listEvidenceArtifacts
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
- name: cursor
required: false
in: query
description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
schema:
type: string
- name: size
required: false
in: query
description: Number of results to return
schema:
minimum: 1
maximum: 500
default: 50
type: number
- name: sort
required: false
in: query
description: Which field to sort by
schema:
$ref: '#/components/schemas/SortTypeLimitedEnum'
- name: sortDir
required: false
in: query
description: The direction to sort the data
schema:
$ref: '#/components/schemas/SortDirectionEnum'
- name: name
required: false
in: query
description: Filter artifacts by name (prefix match)
schema:
maxLength: 191
example: Q4-2024-Security-Audit
type: string
- name: artifactTypes[]
required: false
in: query
description: Filter artifacts by type
schema:
type: array
items:
$ref: '#/components/schemas/ArtifactType'
- name: isArchived
required: false
in: query
description: True returns only archived (past) artifacts, false only active ones. Omit to return both.
schema:
example: false
type: boolean
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactsListResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: List Evidence Artifacts
tags:
- Evidence
x-drata-permissions:
- evidence-get
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
/workspaces/{workspaceId}/evidence/{evidenceId}/artifacts/{artifactId}:
put:
description: 'Partially update an existing artifact''s `artifactName` and/or `filedAt` in place on its current version. To replace the artifact''s actual source (file/URL/ticket), use `replaceArtifacts` on the update Evidence endpoint instead.
🔒 Requires **Evidence Library: Update Evidence** permission.'
operationId: EvidencePublicV2Controller_updateEvidenceArtifact
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
- name: artifactId
required: true
in: path
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactUpdateRequestPublicV2Dto'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactResponsePublicV2Dto'
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Update Evidence Artifact
tags:
- Evidence
x-drata-permissions:
- evidence-put
x-product-area:
- EVIDENCE_LIBRARY
delete:
description: 'Permanently delete a single artifact from an evidence item, including its full version history. To move an artifact to past artifacts instead, pass its ID in `pastArtifacts` on the update Evidence endpoint.
🔒 Requires **Evidence Library: Delete Evidence** permission.'
operationId: EvidencePublicV2Controller_deleteEvidenceArtifact
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
- name: artifactId
required: true
in: path
schema:
type: number
responses:
'204':
description: No Content
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Delete Evidence Artifact
tags:
- Evidence
x-drata-permissions:
- evidence-delete
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
/workspaces/{workspaceId}/evidence/{evidenceId}/artifacts/{artifactId}/actions:
post:
description: 'Archive an artifact (move it to past artifacts) or restore it (move it back to current artifacts). Both are reversible and leave the version history intact.
🔒 Requires **Evidence Library: Update Evidence** permission.'
operationId: EvidencePublicV2Controller_createEvidenceArtifactAction
parameters:
- name: workspaceId
required: true
in: path
description: The Workspace ID associated to the Account
schema:
type: number
- name: evidenceId
required: true
in: path
schema:
type: number
- name: artifactId
required: true
in: path
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactActionRequestPublicV2Dto'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/EvidenceArtifactResponsePublicV2Dto'
'400':
description: Malformed data and/or validation errors
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'401':
description: Invalid Authorization
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'403':
description: You are not allowed to perform this action
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
'412':
description: You must accept the Drata terms and conditions to use the API
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ExceptionResponseDto'
security:
- bearer: []
summary: Perform Evidence Artifact Action
tags:
- Evidence
x-drata-permissions:
- evidence-put
x-product-area:
- EVIDENCE_LIBRARY
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
components:
schemas:
EvidenceArtifactResponsePublicV2Dto:
type: object
properties:
id:
type: number
example: 1
description: Evidence artifact ID. Stable across artifact versions, and the ID accepted by the artifact endpoints and by the `pastArtifacts`, `currentArtifacts`, and `replaceArtifacts` fields on the update Evidence endpoint.
artifactName:
type:
- string
- 'null'
example: Q4-2024-Security-Audit.pdf
description: Artifact name (user-provided or auto-generated from file)
extension:
type:
- string
- 'null'
example: pdf
description: File extension of the artifact. Null for non-file artifact types (URLs, tickets, etc.).
artifactVersion:
type: number
example: 1
description: The version the artifact is currently on.
source:
type: string
example: https://example.com/evidence/document.pdf
description: Source location for the artifact. For file-type artifacts, this is a signed URL. For URLs, this is the original URL. For ticket providers, this is the ticket URL.
artifactSafeBasesyncStatus:
type:
- string
- 'null'
example: COMPLETE
description: SafeBase sync status
enum:
- NOT_SYNCED
- PENDING
- COMPLETE
- ERROR
artifactType:
example: S3_FILE
description: Artifact storage type indicating where and how the artifact is stored (S3, cloud storage providers, URLs, ticket systems, test results, etc.)
allOf:
- $ref: '#/components/schemas/ArtifactTypeEnum'
filedAt:
type:
- string
- 'null'
format: date-time
example: '2025-07-01T16:45:55.246Z'
description: Date when the artifact was filed/effective. May differ from createdAt for backdated evidence.
archivedAt:
type:
- string
- 'null'
format: date-time
example: '2025-07-01T16:45:55.246Z'
description: Date when the artifact was archived. Null means the artifact is active (not archived).
createdAt:
type: string
format: date-time
example: '2025-07-01T16:45:55.246Z'
description: Date when the artifact was created
required:
- id
- artifactName
- extension
- artifactVersion
- source
- artifactType
- filedAt
- archivedAt
- createdAt
EvidenceArtifactUploadRequestPublicV2Dto:
type: object
properties:
file:
type: string
format: binary
description: 'Artifact source as a file. Provide exactly one of `file` or `base64File`. Accepted file extensions: .pdf, .docx, .odt, .doc, .xlsx, .ods, .pptx, .odp, .gif, .jpg, .jpeg, .png, .json, .csv, .md, .markdown, .txt, .html, .log, .zip, .msg, .mp4'
base64File:
type: string
example:
base64String: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABg
filename: security-certificate.pdf
description: Artifact source as a Base64-encoded file in data URL format (alternative to `file`). Provide exactly one of `file` or `base64File`.
EvidenceResponsePublicV2Dto:
type: object
properties:
id:
type: number
example: 1
description: Evidence ID
name:
type: string
example:
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drata/refs/heads/main/openapi/drata-evidence-api-openapi.yml