Ingest real calls

Use POST /v1/users/{userId}/sessions:ingest-and-assess when you want to send a transcript from an external call system into Skylar and immediately queue its first assessment.

When to use this endpoint

  • You already know the Skylar userId the conversation should belong to.
  • The conversation happened outside Skylar.
  • You want the ingested session to appear in reporting as a real_call.

Request body

Required fields:

  • external_conversation_id: your stable identifier for the external call
  • scenario_id: the Skylar scenario to assess the call against
  • transcript: the full transcript text

Optional fields:

  • started_at: ISO-8601 timestamp for when the call started
  • ended_at: ISO-8601 timestamp for when the call ended

Request

curl --request POST \
  --url "$REPORTING_API_BASE_URL/v1/users/user-123/sessions:ingest-and-assess" \
  --header "Authorization: Bearer $SKYLAR_REPORTING_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "external_conversation_id": "gong-call-789",
    "scenario_id": "scenario-001",
    "transcript": "Seller: Thanks for taking the time today...\nBuyer: Happy to be here...",
    "started_at": "2026-04-08T09:30:00.000Z",
    "ended_at": "2026-04-08T10:00:00.000Z"
  }'

Success response

{
  "conversation_id": "conversation-123",
  "status": "queued"
}

Integration notes

  • external_conversation_id should be unique per external system conversation so retries can be reasoned about cleanly on your side.
  • The response status is asynchronous state, not the final assessment result.
  • Once processing completes, the conversation will show up in sessions and assessments as session_type: "real_call".