Public APIEn producción/public-api/*

Documentación de la API pública de CallSpace

Consulta los endpoints disponibles hoy, cómo autenticarte con x-api-key y cómo consumirlos desde tus integraciones server-to-server.

Resumen rápido

La superficie pública actual es estable y read-only: autenticación por API key, agentes, historial de llamadas y reproducción de grabaciones.

Base URL

https://api.callspace.io

Autenticación

x-api-key

Método

GET

Alcance

Agentes, llamadas y grabaciones read-only del workspace

Qué puedes hacer hoy

La API pública actual está pensada para integraciones controladas. Hoy solo expone datos de agentes y siempre opera aislada por workspace.

Lectura estable

La API pública actual expone endpoints read-only para agentes, llamadas y grabaciones. No hay operaciones de escritura ni mutaciones públicas.

Aislada por workspace

Cada API key queda vinculada al workspace que la creó y solo devuelve sus agentes.

Gestión desde Integraciones

La credencial se genera, copia y rota desde el dashboard, en la sección Integraciones.

Autenticación con x-api-key

Todas las peticiones requieren una API key de workspace en la cabecera x-api-key. La documentación es pública, pero la clave se gestiona desde el área autenticada.

1

1. Genera tu credencial

Crea o regenera la API key desde el dashboard de Integraciones cuando tu workspace ya está operativo.

2

2. Envíala en cada request

Incluye la cabecera x-api-key con el valor completo de la clave en cada petición a la public API.

3

3. Guárdala en backend

Usa la clave solo en procesos server-to-server, variables de entorno o servicios protegidos. No la expongas en frontend público.

Cabecera requerida

La autenticación se resuelve leyendo la cabecera x-api-key. Sin esa cabecera, la petición no entra.

HTTP
x-api-key: <YOUR_API_KEY>

Formato actual de clave

cs_live_<keyId>.<secret>

Buenas prácticas

El backend responde 401 Unauthorized cuando falta la cabecera o la clave no pasa validación.

401 Si falta la cabecera

La API responde 401 Unauthorized indicando que falta la cabecera x-api-key en la petición.

401 Si la clave no es válida

La API responde 401 Unauthorized con el mensaje API key inválida.

  • Guarda la API key en variables de entorno o secretos de infraestructura, no en código cliente.
  • Si sospechas que se ha expuesto, regénérala desde Integraciones para invalidar la anterior.
  • Trata esta integración como acceso server-to-server y evita usar la clave en navegadores o apps públicas.

Referencia de endpoints

La public API actual expone endpoints read-only para consultar agentes, historial de llamadas y reproducción autenticada de grabaciones.

Scope actual

Todos los endpoints quedan aislados por el workspace dueño de la API key. No exponen datos de otros tenants ni acciones de escritura.

Más endpoints públicos

Aquí tienes cada ruta con sus parámetros, tipos, valores admitidos y ejemplos listos para copiar.

Agentes del workspace

Lista read-only de agentes del workspace autenticado. Es el endpoint más simple para validar conectividad y credenciales.

endpoint
GEThttps://api.callspace.io/public-api/agents

Autenticación

x-api-key

Respuesta exitosa

200 OK

Devuelve

Lista de agentes del workspace

Parámetros

Este endpoint no acepta parámetros de path ni query adicionales.

Ejemplo de request

bash
curl -X GET "https://api.callspace.io/public-api/agents" \
  -H "x-api-key: <YOUR_API_KEY>"

Orden de salida

Los agentes se devuelven por createdAt DESC, mostrando primero los más recientes.

Historial de llamadas

Devuelve una respuesta paginada con llamadas agregadas, estado, duración, agente y metadatos de grabación.

endpoint
GEThttps://api.callspace.io/public-api/calls

Autenticación

x-api-key

Respuesta exitosa

200 OK

Devuelve

Página de llamadas del workspace

Parámetros

ParámetroUbicaciónTipoObligatorioAdmiteEjemploDescripción
pagequeryintegerNo>= 11Número de página para navegar la respuesta paginada.
limitqueryintegerNo1-100025Cantidad máxima de resultados por página.
directionquerystringNoinbound | outbound | missedinboundFiltra por llamadas entrantes, salientes o perdidas.
dateFromquerydate stringNoYYYY-MM-DD | ISO 86012026-05-01Fecha inicial del rango. Se interpreta desde el inicio del día.
dateToquerydate stringNoYYYY-MM-DD | ISO 86012026-05-31Fecha final del rango. Se interpreta hasta el final del día.
agentIdsquerycsv stringNouuid,uuid,...a1b2,a3b4Lista separada por comas con IDs de agentes para filtrar solo sus llamadas.
teamIdquerystringNoUUIDteam_123ID de equipo para limitar el historial a los agentes de ese equipo.
qquerystringNotexto libre600Búsqueda parcial sobre fromNumber y toNumber.

Ejemplo de request

bash
curl -G "https://api.callspace.io/public-api/calls" \
  -H "x-api-key: <YOUR_API_KEY>" \
  --data-urlencode "direction=inbound" \
  --data-urlencode "dateFrom=2026-05-01" \
  --data-urlencode "limit=25" \
  --data-urlencode "q=600"

Filtros disponibles

Combina filtros libres para paneles, búsquedas o sincronizaciones. direction solo admite inbound, outbound o missed.

Audio de grabación

Sirve el audio inline de una llamada concreta cuando la grabación existe y pertenece al workspace autenticado.

endpoint
GEThttps://api.callspace.io/public-api/calls/:callSid/recording

Autenticación

x-api-key

Respuesta exitosa

200 OK

Devuelve

Audio MP3 inline

Parámetros

ParámetroUbicaciónTipoObligatorioAdmiteEjemploDescripción
callSidpathstringCA...CA1234567890abcdef1234567890abcdIdentificador único de la llamada devuelto por /public-api/calls.

Ejemplo de request

bash
curl -L "https://api.callspace.io/public-api/calls/CA1234567890abcdef1234567890abcd/recording" \
  -H "x-api-key: <YOUR_API_KEY>" \
  --output call-recording.mp3

Parámetro requerido

Usa el callSid devuelto por /public-api/calls. Si la llamada no tiene grabación, la API responde 404.

Formato de respuesta

La respuesta es un array de objetos agente con un contrato estable y orientado a integraciones.

Campos devueltos

Estos son los campos actuales del DTO público devuelto por el endpoint.

CampoTipo
idstring
namestring
lastNamestring
emailstring
extensionstring | null
rolestring
statusstring
whatsappEnabledboolean
createdAtISO datetime
updatedAtISO datetime

Ejemplo JSON

Ejemplo de payload compatible con la implementación actual.

JSON
[
  {
    "id": "3f0a9d20-8ab8-4ee3-9813-8a9f6f0b5cc1",
    "name": "Lucia",
    "lastName": "Martin",
    "email": "lucia@acme.com",
    "extension": "201",
    "role": "AGENT",
    "status": "ACTIVE",
    "whatsappEnabled": true,
    "createdAt": "2026-05-08T10:12:34.000Z",
    "updatedAt": "2026-05-08T10:12:34.000Z"
  }
]

Ejemplos de uso

Snippets listos para consumir el endpoint con tu API key desde entornos backend o scripts internos.

Ejemplo con curl

bash
curl -X GET "https://api.callspace.io/public-api/agents" \
  -H "x-api-key: <YOUR_API_KEY>"

Ejemplo con fetch

TypeScript
const response = await fetch('https://api.callspace.io/public-api/agents', {
  method: 'GET',
  headers: {
    'x-api-key': process.env.CALLSPACE_API_KEY!,
  },
});

if (!response.ok) {
  throw new Error('Request failed');
}

const agents = await response.json();

Resultado esperado

Si la petición es correcta, recibirás un array JSON de agentes del workspace autenticado con status 200 OK.

Gestión de credenciales

La clave se gestiona desde Integraciones

Usa esta documentación como referencia pública y mantén la generación, copia y rotación de la API key dentro del dashboard autenticado.