Skip to main content
GET
/
voice
/
calls
/
{id}
Obtener estado de llamada
curl --request GET \
  --url https://api.linahealthcareplatform.com/api/v1/voice/calls/{id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.linahealthcareplatform.com/api/v1/voice/calls/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "call_abc123",
  "patientId": "pat_xyz789",
  "status": "completed",
  "purpose": "Seguimiento post-operatorio día 3. Preguntar por nivel de dolor, movilidad y estado de la herida.",
  "language": "es",
  "maxDuration": 300,
  "duration": 187,
  "creditsConsumed": 55,
  "transcript": [
    {
      "role": "assistant",
      "content": "Hola María, soy LINA del equipo del Dr. García. ¿Cómo se encuentra hoy?",
      "timestamp": 0
    },
    {
      "role": "patient",
      "content": "Bien, aunque tengo algo de molestia en la zona de la operación.",
      "timestamp": 5
    },
    {
      "role": "assistant",
      "content": "Entiendo. En una escala del 1 al 10, ¿cómo calificaría su nivel de dolor?",
      "timestamp": 12
    },
    {
      "role": "patient",
      "content": "Diría que un 4.",
      "timestamp": 18
    }
  ],
  "summary": "Paciente refiere dolor 4/10 en zona quirúrgica. Movilidad limitada pero mejorando. Herida sin signos de infección. Recomienda seguimiento en 48h.",
  "failureReason": null,
  "createdAt": "2026-05-14T10:30:00Z",
  "completedAt": "2026-05-14T10:33:07Z"
}

Path Parameters

id
string
required
ID de la llamada (ej. call_abc123).
{
  "id": "call_abc123",
  "patientId": "pat_xyz789",
  "status": "completed",
  "purpose": "Seguimiento post-operatorio día 3. Preguntar por nivel de dolor, movilidad y estado de la herida.",
  "language": "es",
  "maxDuration": 300,
  "duration": 187,
  "creditsConsumed": 55,
  "transcript": [
    {
      "role": "assistant",
      "content": "Hola María, soy LINA del equipo del Dr. García. ¿Cómo se encuentra hoy?",
      "timestamp": 0
    },
    {
      "role": "patient",
      "content": "Bien, aunque tengo algo de molestia en la zona de la operación.",
      "timestamp": 5
    },
    {
      "role": "assistant",
      "content": "Entiendo. En una escala del 1 al 10, ¿cómo calificaría su nivel de dolor?",
      "timestamp": 12
    },
    {
      "role": "patient",
      "content": "Diría que un 4.",
      "timestamp": 18
    }
  ],
  "summary": "Paciente refiere dolor 4/10 en zona quirúrgica. Movilidad limitada pero mejorando. Herida sin signos de infección. Recomienda seguimiento en 48h.",
  "failureReason": null,
  "createdAt": "2026-05-14T10:30:00Z",
  "completedAt": "2026-05-14T10:33:07Z"
}
status
string
Estado de la llamada:
  • queued — En cola
  • ringing — Sonando
  • in-progress — En curso
  • completed — Finalizada
  • failed — Error
duration
integer
Duración de la llamada en segundos. Solo disponible para llamadas completadas.
creditsConsumed
integer
Total de créditos consumidos (15 base + 10 por minuto redondeado).
transcript
array
Transcripción completa de la llamada con timestamps en segundos.
summary
string
Resumen clínico generado por IA. Solo disponible para llamadas completadas.
failureReason
string
Motivo del fallo: no_answer, busy, invalid_number, rejected, network_error. Null si no falló.

Authorizations

Authorization
string
header
required

Token JWT obtenido via POST /auth/token

Path Parameters

id
string
required

Response

200 - application/json

Llamada

id
string
patientId
string
status
enum<string>
Available options:
queued,
ringing,
in-progress,
completed,
failed
duration
integer
transcript
string
summary
string
createdAt
string<date-time>