Samu Meetings API

The Meetings API from Samu — 4 operation(s) for meetings.

Operations 5

POST /api/meeting Crea una nueva meeting a partir de la información de la llamada proporcionada. El video tardara unos minutos en ser subido. Se devuelve el id de la nueva meeting.
PUT /api/meeting/{id} Actualiza una meeting existente
GET /api/meeting/{id} Obtiene la información de una meeting específica
GET /api/meeting/{id}/transcription Obtiene la transcripción de una meeting específica
GET /api/meetings Obtiene un listado de meetings en un rango de fechas

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/samu-meetings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

samu-meetings-api-openapi.yml Raw ↑
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. El video tardara unos minutos en ser subido. Se devuelve el id de la nueva meeting.
      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'
  /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'
    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'
  /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'
  /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
components:
  schemas:
    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
    SuccessResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
    Provider:
      type: string
      description: El origen de la llamada (meets, zoom, etc)
      enum:
      - GOOGLE
      - HUBSPOT
      - MICROSOFT
      - ZOOM
      - AIRCALL
      - ANURA
      - LAYER7
      - OFFLINE
      - IVR
      - MOBILE
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          example: error
        message:
          type: string
          example: Error message
    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
    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
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apiKey
      description: API key de la cuenta