Overview
The Upload Evidence API allows external systems, CI/CD pipelines, and scripts to programmatically upload evidence files and attach them to compliance tests in LowerPlane. This is useful for automating evidence collection from tools that don’t have a native integration.Authentication
All requests require an API key passed as a Bearer token in theAuthorization header. See Authentication for how to create and use API keys.
Endpoints
Upload Evidence to a Test
Upload an evidence file and attach it to a specific test.Upload Evidence to a Test Entity
Upload an evidence file and attach it to a specific entity (resource) within a test. Use the entity’sresource_id (the provider’s identifier, e.g., AWS ARN, Okta user ID) to identify the entity.
Request
string
required
Bearer token with your API key. Example:
Bearer lp_abc123...string
required
The UUID of the test to attach evidence to.
string
The resource ID of the specific test entity. This is the provider’s identifier (e.g., AWS ARN, GitHub repo name, Okta user ID), not LowerPlane’s internal UUID.
file
required
The evidence file to upload. Supports PDF, PNG, JPG, CSV, JSON, DOCX, and other common file types. Maximum size: 50MB.
string
Display name for the evidence. Defaults to the uploaded filename if not provided.
string
Description of the evidence.
string
default:"document"
Evidence type. One of:
document, screenshot, report, log, certificate, configuration.string
ISO 8601 date when the evidence becomes valid. Defaults to the current timestamp.
string
ISO 8601 date when the evidence expires.
Response
string
The UUID of the created evidence record.
string
Display name of the evidence.
string
Original filename.
number
File size in bytes.
string
Evidence type.
string
The test this evidence is attached to.
string
The resource ID of the entity this evidence is attached to, or
null for test-level evidence.string
ISO 8601 timestamp of when the evidence was created.
Examples
Upload test-level evidence
Upload entity-level evidence
Upload from a CI/CD pipeline
Python example
Error Responses
Finding IDs
Test ID
Navigate to the test in LowerPlane. The test ID is in the URL:/app/tests/{test_id}.