Samu Meetings API
The Meetings API from Samu — 4 operation(s) for meetings.
The Meetings API from Samu — 4 operation(s) for meetings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/samu:samu-meetings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Samu Meetings API
version: 1.0.1
description: Documentación de la API de Samu.ai
servers:
- url: https://api.samu.ai
tags:
- name: Meetings
paths:
/api/meeting:
post:
summary: Crea una nueva meeting a partir de la información de la llamada proporcionada.
tags:
- Meetings
security:
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nombre de la llamada
eventId:
type: string
description: ID de la llamada en el provider. De no proporcionarse, se creará de forma automática.
required: false
provider:
$ref: '#/components/schemas/Provider'
description: El origen de la llamada (meets, zoom, etc)
required: true
hostEmail:
type: string
description: Email del host de la llamada. Debe ser un mail perteneciente a un usuario registrado en samu.
conferenceId:
type: string
description: ID de la conferencia en el provider. De no proporcionarse, se creará de forma automática.
dateFrom:
type: string
format: date-time
description: Fecha de inicio de la llamada
required: true
dateTo:
type: string
format: date-time
description: Fecha de fin de la llamada. De no proporcionarse, se usará la fecha de inicio.
required: false
media:
type: string
description: Link al video de la llamada en formato .mp4 o mp3 accesible públicamente. Samu descargara ese archivo y lo subira a nuestro servidor para procesarlo
required: true
users:
type: array
description: Lista de usuarios participantes en la llamada además del host. Puede ser un array vacío. Deben ser emails de usuarios registrados en samu.
items:
type: object
properties:
providerId:
type: string
description: ID del usuario en el provider
name:
type: string
description: Nombre del usuario
lastName:
type: string
description: Apellido del usuario
email:
type: string
description: Email del usuario
phone:
type: string
description: Teléfono del usuario
stakeholders:
type: array
description: Lista de stakeholders de la llamada. Puede ser un array vacío.
items:
type: object
properties:
providerId:
type: string
description: ID del stakeholder en el provider
name:
type: string
description: Nombre del stakeholder
lastName:
type: string
description: Apellido del stakeholder
email:
type: string
description: Email del stakeholder
phone:
type: string
description: Teléfono del stakeholder
transcription:
description: Transcripción de la llamada. De no proporcionarse, se creará de forma automática a partir del video/audio proporcionado.
required: false
$ref: '#/components/schemas/Transcription'
location:
type: object
description: Ubicación geográfica de la reunión
required: false
properties:
latitude:
type: number
description: Latitud de la ubicación
example: 37.7897442
longitude:
type: number
description: Longitud de la ubicación
example: -122.3998086
responses:
'200':
description: Meeting creada exitosamente
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'400':
description: Error en la solicitud
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: postApiMeeting
x-operation-id-source: derived
/api/meeting/{id}:
put:
summary: Actualiza una meeting existente
tags:
- Meetings
security:
- ApiKeyAuth: []
parameters:
- in: path
name: id
required: true
schema:
type: string
description: ID de la meeting
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nombre de la llamada
hostEmail:
type: string
description: Email del host de la llamada. Debe ser un mail perteneciente a un usuario registrado en samu.
stakeholders:
type: array
description: Lista de stakeholders de la llamada. Puede ser un array vacío.
items:
type: object
properties:
providerId:
type: string
description: ID del stakeholder en el provider
name:
type: string
description: Nombre del stakeholder
lastName:
type: string
description: Apellido del stakeholder
email:
type: string
description: Email del stakeholder
phone:
type: string
description: Teléfono del stakeholder
dateFrom:
type: string
format: date-time
description: Fecha de inicio de la llamada
dateTo:
type: string
format: date-time
description: Fecha de fin de la llamada. De no proporcionarse, se usará la fecha de inicio.
responses:
'200':
description: Meeting actualizada exitosamente
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'400':
description: Error en la solicitud
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: putApiMeetingById
x-operation-id-source: derived
get:
summary: Obtiene la información de una meeting específica
tags:
- Meetings
security:
- ApiKeyAuth: []
parameters:
- in: path
name: id
required: true
schema:
type: string
description: ID de la meeting
responses:
'200':
description: Información de la meeting
content:
application/json:
schema:
$ref: '#/components/schemas/Meeting'
'400':
description: Error en la solicitud
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Meeting no encontrada
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getApiMeetingById
x-operation-id-source: derived
/api/meeting/{id}/transcription:
get:
summary: Obtiene la transcripción de una meeting específica
tags:
- Meetings
security:
- ApiKeyAuth: []
parameters:
- in: path
name: id
required: true
schema:
type: string
description: ID de la meeting
responses:
'200':
description: Transcripción de la meeting
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MeetingTranscriptionLine'
'400':
description: Error en la solicitud
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getApiMeetingByIdTranscription
x-operation-id-source: derived
/api/meetings:
get:
summary: Obtiene un listado de meetings en un rango de fechas
tags:
- Meetings
security:
- ApiKeyAuth: []
parameters:
- in: query
name: dateFrom
required: true
schema:
type: string
format: date-time
description: Fecha de inicio del rango
- in: query
name: dateTo
required: true
schema:
type: string
format: date-time
description: Fecha de fin del rango (máximo 366 días desde dateFrom)
- in: query
name: limit
required: false
schema:
type: integer
minimum: 1
maximum: 500
default: 500
description: Cantidad máxima de meetings a devolver
- in: query
name: offset
required: false
schema:
type: integer
minimum: 0
maximum: 10000
default: 0
description: Cantidad de meetings a saltear (paginación)
responses:
'200':
description: Listado de meetings. El header X-Total-Count indica el total de meetings en el rango (sin paginar).
headers:
X-Total-Count:
schema:
type: integer
description: Total de meetings en el rango de fechas
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Meeting'
'400':
description: Error en la solicitud
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests - Rate limit excedido
operationId: getApiMeetings
x-operation-id-source: derived
components:
schemas:
ErrorResponse:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: Error message
Transcription:
type: object
properties:
messages:
type: array
items:
type: object
properties:
id:
type: string
description: ID del mensaje
text:
type: string
description: Texto del mensaje
participantId:
type: integer
description: ID del participante
startAt:
type: number
description: Fecha/hora de inicio del mensaje
endAt:
type: number
description: Fecha/hora de fin del mensaje
participants:
type: object
additionalProperties:
type: string
description: Nombre del participante
SuccessResponse:
type: object
properties:
status:
type: string
example: ok
Meeting:
type: object
properties:
id:
type: string
description: ID de Samu de la llamada
name:
type: string
description: Nombre de la llamada
eventId:
type: string
description: ID del evento en meet/teams
provider:
$ref: '#/components/schemas/Provider'
description: El origen de la llamada (meets, zoom, etc)
hostEmail:
type: string
description: Email del host de la llamada
conferenceId:
type: string
description: ID de la conferencia en el provider
stakeholders:
type: array
description: Lista de stakeholders de la llamada. Puede ser un array vacío.
items:
type: string
description: ID del stakeholder en el provider
dateFrom:
type: string
format: date-time
description: Fecha de inicio de la llamada
dateTo:
type: string
format: date-time
description: Fecha de fin de la llamada
media:
type: string
description: Link al video de la llamada en formato .mp4 o mp3 accesible públicamente. Samu descargara ese archivo y lo subira a nuestro servidor para procesarlo
duration:
type: integer
description: Duración de la llamada en segundos
users:
type: array
description: Lista de usuarios participantes en la llamada además del host. Puede ser un array vacío.
items:
type: string
description: ID del usuario en el provider
score:
type: object
properties:
evaluables:
type: object
description: Evaluables de la llamada
score:
type: number
description: Puntuación de la llamada
feedback:
type: string
extractor:
type: object
description: Información extraida por Samu de la llamada
callType:
type:
- object
- 'null'
description: Tipo de llamada asignado a la reunión
properties:
_id:
type: string
name:
type: string
deal:
type: object
description: Información de la oportunidad de la llamada en el CRM
properties:
id:
type: string
description: ID de la oportunidad en el CRM
name:
type: string
description: Nombre de la oportunidad
amount:
type: number
description: Monto de la oportunidad
stage:
type: string
description: Etapa de la oportunidad
Provider:
type: string
description: El origen de la llamada (meets, zoom, etc)
enum:
- GOOGLE
- HUBSPOT
- MICROSOFT
- ZOOM
- AIRCALL
- ANURA
- LAYER7
- OFFLINE
- IVR
- MOBILE
MeetingTranscriptionLine:
type: object
properties:
text:
type: string
description: Texto del mensaje
date:
type: string
format: date-time
description: Marca de tiempo del mensaje
speaker:
type: string
description: Nombre del hablante
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: apiKey
description: API key de la cuenta