Docs/Api/API Overview
Api

API Overview

Introduction to the Inpera REST API.

2 min read

API Overview

The Inpera API is built with NestJS and provides RESTful endpoints for managing projects, annotations, integrations, and billing.

Base URL

https://api.inpera.app

Authentication

Most endpoints require JWT authentication:

curl -X GET https://api.inpera.app/projects/organization/:orgId \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Public endpoints (embed script, public annotations) use project keys:

curl -X POST https://api.inpera.app/v1/collect \
  -H "Content-Type: application/json" \
  -H "x-project-key: YOUR_PROJECT_KEY" \
  -d '{ ... }'

Available Modules

Module Description
/auth Authentication (register, login, refresh, password reset)
/projects Project CRUD, embed script generation
/annotations Visual feedback management
/organizations Workspace management
/billing Plans, subscriptions, invoices
/integrations Third-party connections
/webhooks Event notifications
/snapshots Page snapshots
/environments Staging/production URLs
/v1/collect Embed script data collection

Response Format

Successful responses return data directly:

{
  "id": "uuid",
  "name": "Project Name",
  "createdAt": "2024-01-01T00:00:00Z"
}

Error responses:

{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request"
}

Rate Limiting

The API uses throttling to prevent abuse. Rate limits are applied per-user and per-IP.

HTTP Status Codes

Code Meaning
200 Success
201 Created
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
429 Too Many Requests
500 Server Error