← Back to Documentation

API Reference

Complete REST API documentation for automating Pemvosec and building custom integrations. The API follows RESTful conventions with JSON request/response bodies.

Authentication

Bearer token authentication via JWT. Include token in Authorization header.

RBAC Enforced

All endpoints enforce role-based access control. Ensure your token has required permissions.

Rate Limits

10,000 requests/hour for Essentials, 100,000 for Complete, unlimited for Enterprise.

Base URL

https://api.pemvosec.com
Production

All API endpoints are prefixed with /api/v1 for versioning. The current stable version is v1.

Authentication

Pemvosec API uses Bearer token authentication. Include your JWT token in the Authorization header of all requests.

curl -X GET \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  https://api.pemvosec.com/api/v1/aspm/findings

Keep your token secure

Never expose your API token in client-side code or public repositories. Use environment variables and server-side requests.

Endpoint Overview

Authentication

User authentication and session management

GET
/api/v1/auth/google
GET
/api/v1/auth/me
POST
/api/v1/auth/logout
POST
/api/v1/auth/refresh

Blades

Security blade management across all 16 modules

GET
/api/v1/blades
GET
/api/v1/blades/:id
GET
/api/v1/blades/:id/config
PUT
/api/v1/blades/:id/config
GET
/api/v1/blades/:id/findings

Findings

Unified findings across all security blades

GET
/api/v1/findings
GET
/api/v1/findings/:id
PATCH
/api/v1/findings/:id
POST
/api/v1/findings/:id/suppress
GET
/api/v1/findings/stats

Antivirus (AV)

Threat detection and malware prevention

GET
/api/v1/av/status
GET
/api/v1/av/threats
POST
/api/v1/av/scan
GET
/api/v1/av/quarantine

EDR

Endpoint Detection & Response

GET
/api/v1/edr/endpoints
GET
/api/v1/edr/alerts
GET
/api/v1/edr/processes
POST
/api/v1/edr/isolate

ASPM

Application Security - code scanning, SAST, SCA

GET
/api/v1/aspm/repositories
POST
/api/v1/aspm/repositories
GET
/api/v1/aspm/scans
POST
/api/v1/aspm/scans

Mail Security

Email protection and anti-phishing

GET
/api/v1/mail/threats
GET
/api/v1/mail/quarantine
POST
/api/v1/mail/release

IAM

Identity & Access Management

GET
/api/v1/iam/identities
GET
/api/v1/iam/access-reviews
POST
/api/v1/iam/mfa

Vulnerability Management

CVE tracking and prioritization

GET
/api/v1/vm/vulnerabilities
GET
/api/v1/vm/vulnerabilities/:cve
GET
/api/v1/vm/trends

Compliance

Compliance frameworks and reporting

GET
/api/v1/compliance/frameworks
GET
/api/v1/compliance/status
POST
/api/v1/compliance/reports

Reports

Report generation and scheduling

GET
/api/v1/reports
POST
/api/v1/reports
GET
/api/v1/reports/:id/download

Integrations

Third-party integrations

GET
/api/v1/integrations
POST
/api/v1/integrations
DELETE
/api/v1/integrations/:id

Users & RBAC

User management and access control

GET
/api/v1/users
POST
/api/v1/users
GET
/api/v1/roles
GET
/api/v1/permissions

Webhooks

Webhook configuration and receivers

GET
/api/v1/webhooks
POST
/api/v1/webhooks
POST
/webhooks/github
POST
/webhooks/gitlab

Interactive API Documentation

Open Swagger UI

Interactive API Explorer

Our full interactive API documentation is available via Swagger UI. Test endpoints, view request/response schemas, and explore the complete API.

What you can do with the API Explorer:

  • Test API endpoints with your credentials
  • View detailed request/response schemas
  • Generate code snippets in multiple languages
  • Explore all available API operations

Error Handling

The API uses standard HTTP status codes and returns errors in a consistent JSON format.

Status CodeMeaning
200
Success
201
Created
400
Bad Request - Invalid parameters
401
Unauthorized - Invalid or missing token
403
Forbidden - Insufficient permissions
404
Not Found - Resource does not exist
429
Rate Limited - Too many requests
500
Server Error - Something went wrong

Error Response Format

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Validation failed: severity must be one of critical, high, medium, low"
}