API
OpenAPI document
The Callfora External API spec used by this docs site. Live fetch prefers the product app; a vendored snapshot keeps the site buildable offline.
Source: live. Live URL: https://console.callfora.com/api/v1/openapi.json.
{
"openapi": "3.0.3",
"info": {
"title": "Callfora External API",
"version": "1.1.0",
"description": "CRM and automation API. Authenticate with a cf_ API key (X-API-Key or Bearer), send X-Tenant-Id, and include X-User-Email when the operation is user-scoped. SMS list and send are limited to conversations the acting user is assigned to."
},
"servers": [
{
"url": "https://console.callfora.com"
}
],
"components": {
"securitySchemes": {
"apiKey": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
},
"bearer": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "cf_ or cfa_"
}
},
"parameters": {
"TenantId": {
"name": "X-Tenant-Id",
"in": "header",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Tenant the key is allowed to access"
},
"UserEmail": {
"name": "X-User-Email",
"in": "header",
"required": true,
"schema": {
"type": "string",
"format": "email"
},
"description": "Acting user on the tenant"
},
"RequestId": {
"name": "X-Request-Id",
"in": "header",
"required": false,
"schema": {
"type": "string"
}
},
"IdempotencyKey": {
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Replay-safe key for mutations. Reuse with a different body returns 409."
}
},
"schemas": {
"ApiError": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "PERMISSION_DENIED"
},
"message": {
"type": "string"
},
"details": {}
}
},
"meta": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}
},
"paths": {
"/api/v1/users": {
"get": {
"operationId": "users.list",
"tags": [
"Users"
],
"summary": "List users in the tenant",
"x-callfora-permission": "users",
"x-callfora-module": null,
"x-callfora-capability": null,
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Name, email, or extension"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque cursor; prefer over offset for stable pages"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"users": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/contacts": {
"get": {
"operationId": "contacts.list",
"tags": [
"Contacts"
],
"summary": "List contacts",
"x-callfora-permission": "contacts",
"x-callfora-module": "contacts",
"x-callfora-capability": "contacts.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Search query"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque cursor; prefer over offset for stable pages"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"contacts": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "contacts.create",
"tags": [
"Contacts"
],
"summary": "Create a contact owned by the acting user",
"x-callfora-permission": "contacts",
"x-callfora-module": "contacts",
"x-callfora-capability": "contacts.use",
"x-callfora-idempotent": true,
"x-callfora-events": [
"contact.changed"
],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"firstName": "Ada",
"lastName": "Lovelace",
"phoneMobile": "+15551234567"
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"contact": {
"id": "uuid"
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/click2dial": {
"post": {
"operationId": "voice.click2dial",
"tags": [
"Voice"
],
"summary": "Start a click-to-dial call from a user's extension",
"x-callfora-permission": "click2dial",
"x-callfora-module": "voice",
"x-callfora-capability": null,
"x-callfora-idempotent": true,
"x-callfora-events": [
"call.started"
],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"destination": "+15551234567"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"callId": "uuid",
"status": "initiated"
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/cdr": {
"get": {
"operationId": "cdr.list",
"tags": [
"Voice"
],
"summary": "List call detail records",
"x-callfora-permission": "cdr",
"x-callfora-module": "cdr",
"x-callfora-capability": "cdr.view",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"records": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/chat/conversations": {
"get": {
"operationId": "chat.conversations",
"tags": [
"Messaging"
],
"summary": "List team chat conversations for the acting user",
"x-callfora-permission": "chat",
"x-callfora-module": "chat",
"x-callfora-capability": "chat.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"conversations": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "chat.conversations.create",
"tags": [
"Messaging"
],
"summary": "Start or return a direct chat with a teammate",
"x-callfora-permission": "chat",
"x-callfora-module": "chat",
"x-callfora-capability": "chat.use",
"x-callfora-idempotent": true,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"participantEmail": "teammate@example.com",
"message": "Hello"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"conversation": {
"id": "uuid",
"isNew": true
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"201": {
"description": "Created",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"conversation": {
"id": "uuid",
"isNew": true
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/sms/conversations": {
"get": {
"operationId": "sms.conversations",
"tags": [
"Messaging"
],
"summary": "List SMS conversations assigned to the acting user (conversation assignee or SMS number membership)",
"x-callfora-permission": "sms",
"x-callfora-module": "sms",
"x-callfora-capability": "sms.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by number or name"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque cursor; prefer over offset for stable pages"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"conversations": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/sms/conversations/{id}/messages": {
"get": {
"operationId": "sms.messages.list",
"tags": [
"Messaging"
],
"summary": "List messages in an SMS conversation the acting user can access",
"x-callfora-permission": "sms",
"x-callfora-module": "sms",
"x-callfora-capability": "sms.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque cursor; prefer over offset for stable pages"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Conversation id"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"messages": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "sms.send",
"tags": [
"Messaging"
],
"summary": "Send an SMS in a conversation the acting user can access",
"x-callfora-permission": "sms",
"x-callfora-module": "sms",
"x-callfora-capability": "sms.use",
"x-callfora-idempotent": true,
"x-callfora-events": [
"sms.sent",
"sms.failed"
],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Conversation id"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"body": "Hello from the Integration Hub"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"message": {
"id": "uuid",
"status": "SENT"
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/ai/agents": {
"get": {
"operationId": "ai.agents.list",
"tags": [
"AI"
],
"summary": "List AI agents for the tenant",
"x-callfora-permission": "ai",
"x-callfora-module": "aiAgents",
"x-callfora-capability": "aiAgents.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"agents": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/ai/agents/{id}": {
"get": {
"operationId": "ai.agents.get",
"tags": [
"AI"
],
"summary": "Get one AI agent",
"x-callfora-permission": "ai",
"x-callfora-module": "aiAgents",
"x-callfora-capability": "aiAgents.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Agent id"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"agent": {
"id": "uuid",
"name": "Receptionist"
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/ai/agents/{id}/test-chat": {
"post": {
"operationId": "ai.agents.chat",
"tags": [
"AI"
],
"summary": "Send a test chat turn to an AI agent",
"x-callfora-permission": "ai",
"x-callfora-module": "aiAgents",
"x-callfora-capability": "aiAgents.use",
"x-callfora-idempotent": true,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Agent id"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"messages": [
{
"role": "user",
"content": "What are your hours?"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"reply": "We are open 9–5."
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/pricing/quote": {
"post": {
"operationId": "pricing.quote",
"tags": [
"Pricing"
],
"summary": "Realtime subscription quote for seats, DIDs, and billing term",
"x-callfora-permission": null,
"x-callfora-module": null,
"x-callfora-capability": null,
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"planId": "uuid",
"seatCount": 5,
"didCount": 2,
"billingTerm": "MONTHLY"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"perUserCents": 4900,
"seatCount": 5,
"monthlyTotalCents": 24500,
"billingTerm": "MONTHLY"
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/chat/messages": {
"get": {
"operationId": "chat.messages.list",
"tags": [
"Messaging"
],
"summary": "List messages in a team chat conversation",
"x-callfora-permission": "chat",
"x-callfora-module": "chat",
"x-callfora-capability": "chat.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "conversationId",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Conversation id"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"messages": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "chat.messages.send",
"tags": [
"Messaging"
],
"summary": "Send a team chat message",
"x-callfora-permission": "chat",
"x-callfora-module": "chat",
"x-callfora-capability": "chat.use",
"x-callfora-idempotent": true,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"conversationId": "uuid",
"content": "Hello from the Integration Hub"
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"message": {
"id": "uuid"
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/files": {
"get": {
"operationId": "files.list",
"tags": [
"Files"
],
"summary": "List files visible to the tenant",
"x-callfora-permission": "files",
"x-callfora-module": "files",
"x-callfora-capability": "files.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"files": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/calendar": {
"get": {
"operationId": "calendar.list",
"tags": [
"Calendar"
],
"summary": "List calendar events for the acting user",
"x-callfora-permission": "calendar",
"x-callfora-module": "calendar",
"x-callfora-capability": "calendar.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "startDate",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "ISO start"
},
{
"name": "endDate",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "ISO end"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque cursor; prefer over offset for stable pages"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"events": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "calendar.create",
"tags": [
"Calendar"
],
"summary": "Create a calendar event for the acting user",
"x-callfora-permission": "calendar",
"x-callfora-module": "calendar",
"x-callfora-capability": "calendar.use",
"x-callfora-idempotent": true,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"title": "Customer follow-up",
"startTime": "2026-09-21T15:00:00.000Z",
"endTime": "2026-09-21T15:30:00.000Z"
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"event": {
"id": "uuid"
}
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/presence": {
"get": {
"operationId": "presence.get",
"tags": [
"Presence"
],
"summary": "List presence for tenant users",
"x-callfora-permission": "presence",
"x-callfora-module": null,
"x-callfora-capability": null,
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"presence": []
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"put": {
"operationId": "presence.update",
"tags": [
"Presence"
],
"summary": "Update the acting user's presence",
"x-callfora-permission": "presence",
"x-callfora-module": null,
"x-callfora-capability": null,
"x-callfora-idempotent": true,
"x-callfora-events": [
"presence.changed"
],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/UserEmail"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"status": "busy",
"message": "On a customer call"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"userId": "uuid",
"status": "busy"
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/api/v1/fax": {
"get": {
"operationId": "fax.list",
"tags": [
"Fax"
],
"summary": "List fax inbox, sent, or queue items for the tenant",
"x-callfora-permission": "fax",
"x-callfora-module": "fax",
"x-callfora-capability": "fax.use",
"x-callfora-idempotent": false,
"x-callfora-events": [],
"security": [
{
"apiKey": []
},
{
"bearer": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/TenantId"
},
{
"$ref": "#/components/parameters/RequestId"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "inbox, sent, or queue"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Max records (default 50, max 100)"
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"example": {
"success": true,
"data": {
"faxes": [],
"type": "inbox"
}
}
}
},
"headers": {
"X-Request-Id": {
"schema": {
"type": "string"
}
},
"RateLimit-Limit": {
"schema": {
"type": "string"
}
},
"RateLimit-Remaining": {
"schema": {
"type": "string"
}
},
"RateLimit-Reset": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
}
}
}