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.