Skip to main content
GET
/
sessions
/
{session_id}
Get session detail
curl --request GET \
  --url https://api.exec.com/rest/v1/sessions/{session_id} \
  --header 'Authorization: Bearer <token>'
{
  "id": "abc123def456",
  "user": {
    "id": "u1a2b3c4d5e6",
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Smith"
  },
  "scenario": {
    "id": "s1a2b3c4d5e6",
    "name": "Procurement Discovery",
    "slug": "procurement-discovery"
  },
  "score": 82.5,
  "rank": "gold",
  "duration_seconds": 347,
  "is_valid_attempt": true,
  "outcome_feedback": "Strong discovery questioning with good rapport building.",
  "positive_feedback": "Excellent use of open-ended questions to uncover needs.",
  "constructive_feedback": "Consider probing deeper into budget constraints.",
  "created_at": "2026-03-15T14:30:00Z",
  "transcript": [
    {
      "speaker": "ai",
      "text": "Hi, I'm the procurement lead at Globex. Thanks for meeting with me today.",
      "seconds_from_start": 0
    },
    {
      "speaker": "user",
      "text": "Thanks for your time. I'd love to learn more about your current process.",
      "seconds_from_start": 4.2
    }
  ],
  "evaluations": [
    {
      "criterion_name": "Communication Skills",
      "items": [
        {
          "name": "Discovery Questions",
          "grade": "good",
          "feedback": "Asked targeted questions about pain points and current workflow.",
          "feedback_examples": [
            {
              "quote": "Tell me about your current procurement process.",
              "feedback": "Great open-ended discovery question.",
              "suggestion_quote": null,
              "grade": "good",
              "salience": "high"
            }
          ]
        }
      ]
    },
    {
      "criterion_name": "Objection Handling",
      "items": [
        {
          "name": "Budget Concerns",
          "grade": "mid",
          "feedback": "Addressed the budget concern but could have reframed value more clearly.",
          "feedback_examples": []
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

API key created in Settings > API.

Format: exec_live_ followed by 40 alphanumeric characters.

Path Parameters

session_id
string
required

The session's unique identifier (UUID)

Query Parameters

include
string

Comma-separated list of optional sections to include in the response. Available values: transcript (conversation lines), evaluations (rubric criteria with grades).

Example:

"transcript,evaluations"

Response

Session detail

Full roleplay session detail with optional transcript and evaluations.

id
string

Unique session identifier

user
object
scenario
object

A compact scenario reference for embedding in other responses.

score
number | null

Session score (0-100 scale)

rank
enum<string> | null

Performance rank based on score

Available options:
gold,
silver,
bronze,
unranked
duration_seconds
number | null

Session duration in seconds

is_valid_attempt
boolean

Whether this session counts as a valid graded attempt. A session is valid when it was completed (not abandoned), received AI grading, and has a score. Use valid attempts for analytics; non-valid sessions may be incomplete or ungraded.

outcome_feedback
string | null

Overall outcome summary from the AI evaluator

positive_feedback
string | null

What the participant did well

constructive_feedback
string | null

Areas for improvement

transcript
object[] | null

Conversation transcript lines, excluding system messages (only included when requested via ?include=transcript)

evaluations
object[] | null

Evaluation criteria with grades (only included when requested via ?include=evaluations)

created_at
string<date-time>

When the session was created