Base URL

All API requests should be made to:

https://api.verbalisai.com/api

Request Format

The VerbalisAI API uses REST principles with JSON for most endpoints. File uploads use multipart/form-data.

Headers

Most endpoints require the following headers:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

For file uploads:

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Response Format

All API responses follow a consistent structure:

Success Response

{
  "success": true,
  "data": {
    // Response data here
  }
}

Error Response

{
  "success": false,
  "error": "Error Type",
  "message": "Detailed error message"
}

HTTP Status Codes

The API uses standard HTTP status codes:

200
OK

Request successful

201
Created

Resource created successfully

400
Bad Request

Invalid request parameters

401
Unauthorized

Authentication required or failed

403
Forbidden

Insufficient permissions

404
Not Found

Resource not found

429
Too Many Requests

Rate limit exceeded

500
Internal Server Error

Server error

Rate Limiting

The API implements rate limiting to ensure fair usage:

Endpoint TypeLimitWindow
General API100 requests15 minutes
Upload Operations20 requests15 minutes
Authentication10 requests15 minutes

Rate limit headers are included in responses:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

Pagination

List endpoints support pagination using query parameters:

GET /v1/transcript/user?page=1&limit=20
page
integer
default:"1"

Page number (1-based)

limit
integer
default:"20"

Number of items per page (max 100)

Paginated responses include metadata:

{
  "success": true,
  "data": {
    "items": [...],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 150,
      "pages": 8,
      "hasNext": true,
      "hasPrev": false
    }
  }
}

Filtering and Sorting

Many list endpoints support filtering and sorting:

Filtering

GET /v1/transcript/user?status=completed&language=en

Sorting

GET /v1/transcript/user?sort=created_at&order=desc
sort
string

Field to sort by

order
string
default:"desc"

Sort order: asc or desc

Webhooks

VerbalisAI supports webhooks for real-time notifications. Configure webhook URLs in your dashboard to receive events for:

  • Transcription completed
  • Transcription failed
  • Credit balance low
  • Payment processed

Webhook payloads follow this format:

{
  "event": "transcription.completed",
  "data": {
    // Event-specific data
  },
  "timestamp": "2024-01-15T10:30:00Z"
}

SDKs and Libraries

Official SDKs are available for popular programming languages:

JavaScript/TypeScript

npm install @verbalisai/sdk

Python

pip install verbalisai-sdk

PHP

composer require verbalisai/sdk

Go

go get github.com/verbalisai/go-sdk

Testing

Use our sandbox environment for testing:

https://sandbox-api.verbalisai.com/api

The sandbox environment uses test data and doesn’t process real audio files or charge credits.