---
updatedAt: 2026-09-24T20:54:19.000Z
agentTools:
  projectIndex: https://developer.intellistack.com/llms.txt
---

# Get session

Returns a single session from streamline-session-trail. Only available when the `session-trail-workflows-proxy` feature flag is enabled for the organization; returns 404 otherwise.

# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "ExecutionFailureErrorType": {
        "description": "Category of error, when one could be determined.",
        "enum": [
          "auth",
          "config",
          "expired",
          "external_service",
          "internal_service",
          "not_implemented",
          "timeout",
          "validation",
          "unknown"
        ],
        "type": "string"
      },
      "ExecutionStatus": {
        "enum": [
          "ASSIGNED",
          "CANCELLED",
          "COMPLETED",
          "EXPIRED",
          "FAILED",
          "RUNNING",
          "TERMINATED"
        ],
        "type": "string"
      },
      "GetExecutionFailureV2Dto": {
        "properties": {
          "errorCode": {
            "nullable": true,
            "type": "string"
          },
          "errorDetail": {
            "nullable": true,
            "type": "string"
          },
          "errorTitle": {
            "nullable": true,
            "type": "string"
          },
          "errorType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecutionFailureErrorType"
              }
            ],
            "example": "validation",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "retryable": {
            "nullable": true,
            "type": "boolean"
          },
          "stepExecutionId": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "stepExecutionId",
          "errorCode",
          "errorTitle",
          "errorDetail",
          "errorType",
          "retryable"
        ],
        "type": "object"
      },
      "GetSessionDto": {
        "properties": {
          "completedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "createdAt": {
            "description": "When the session started.",
            "format": "date-time",
            "type": "string"
          },
          "currentStep": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionCurrentStepDto"
              }
            ],
            "description": "Nested current step with trailed assignees.",
            "nullable": true
          },
          "currentStepId": {
            "description": "ID of the current active step",
            "type": "object"
          },
          "currentStepName": {
            "description": "Name/description of the current step",
            "type": "object"
          },
          "currentStepStartedAt": {
            "description": "When the session entered this step",
            "type": "object"
          },
          "currentStepStatus": {
            "description": "Status of the step execution",
            "type": "object"
          },
          "currentStepType": {
            "description": "Type of the current step (forms, sign, collaboration, etc.)",
            "type": "object"
          },
          "failures": {
            "items": {
              "$ref": "#/components/schemas/GetExecutionFailureV2Dto"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "projectId": {
            "description": "Project the session belongs to.",
            "type": "string"
          },
          "sessionIdentifierConfigured": {
            "description": "True when a configured session identifier exists in storage, regardless of whether sessionName is masked on the wire.",
            "type": "boolean"
          },
          "sessionName": {
            "description": "Configured session name for this session, or null if none has been resolved. Strict: never falls back to project name.",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExecutionStatus"
              }
            ]
          },
          "versionName": {
            "description": "Name of the workflow version",
            "type": "string"
          },
          "workflowId": {
            "description": "Identifier of the workflow this session runs.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "workflowId",
          "projectId",
          "status",
          "completedAt",
          "createdAt",
          "sessionName"
        ],
        "type": "object"
      },
      "SessionAssigneeAuthMethod": {
        "description": "Slot or task-level authentication method from the producer.",
        "enum": [
          "NONE",
          "EMAIL_OTP",
          "PHONE_OTP",
          "STREAMLINE_AUTH",
          "SSO"
        ],
        "type": "string"
      },
      "SessionAssigneeClaimedByDto": {
        "properties": {
          "email": {
            "description": "Email of the claimer",
            "type": "object"
          },
          "name": {
            "description": "Display name of the claimer",
            "type": "object"
          },
          "userId": {
            "description": "User id of the claimer",
            "type": "string"
          }
        },
        "required": [
          "userId"
        ],
        "type": "object"
      },
      "SessionAssigneeDto": {
        "properties": {
          "allowClaiming": {
            "description": "Whether the assignment may be claimed.",
            "nullable": true,
            "type": "object"
          },
          "allowReassignment": {
            "description": "Whether the assignment may be reassigned.",
            "nullable": true,
            "type": "object"
          },
          "assignedAt": {
            "description": "When the assignee was assigned.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "authMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionAssigneeAuthMethod"
              }
            ],
            "description": "Slot or task-level authentication method from the producer.",
            "nullable": true
          },
          "claimedAt": {
            "description": "When the assignee claimed.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "claimedBy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionAssigneeClaimedByDto"
              }
            ],
            "description": "Display enrichment for the claimer.",
            "nullable": true
          },
          "completedAt": {
            "description": "When the assignee completed.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "declinedAt": {
            "description": "When the assignee declined.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "destinationUrl": {
            "description": "Producer-supplied step redirect URL.",
            "nullable": true,
            "type": "object"
          },
          "dueDate": {
            "description": "When the assignee is due.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "email": {
            "description": "Email contact. Never a phone or user UUID.",
            "nullable": true,
            "type": "object"
          },
          "groupId": {
            "description": "Group id for GROUP assignees.",
            "format": "uuid",
            "nullable": true,
            "type": "object"
          },
          "id": {
            "description": "Stable slot id for this assignee row.",
            "type": "string"
          },
          "isCompleter": {
            "description": "True for the participant whose action terminated the assignment.",
            "type": "boolean"
          },
          "isInPerson": {
            "description": "True for in-person / inherit signers.",
            "type": "boolean"
          },
          "name": {
            "description": "Display name of the assignee.",
            "nullable": true,
            "type": "object"
          },
          "order": {
            "description": "Signing order.",
            "format": "int32",
            "nullable": true,
            "type": "object"
          },
          "participantDefinitionId": {
            "description": "Builder participant definition id for Assignment V2 / scoped OTP links.",
            "nullable": true,
            "type": "object"
          },
          "phoneNumber": {
            "description": "Phone contact. Never stuffed into email.",
            "nullable": true,
            "type": "object"
          },
          "recipientPublicId": {
            "description": "OTP multi-recipient public id when recipient pills are used.",
            "nullable": true,
            "type": "object"
          },
          "role": {
            "description": "Step role when present (SIGNER, OWNER, OWNER_PARTY, ...). Null on forms.",
            "nullable": true,
            "type": "object"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionAssigneeStatus"
              }
            ],
            "description": "Normalized status used for cross-source filtering."
          },
          "taskId": {
            "description": "Assignments task id when the row is task-backed.",
            "format": "uuid",
            "nullable": true,
            "type": "object"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionAssigneeType"
              }
            ],
            "description": "Assignee type."
          },
          "userId": {
            "description": "Internal Streamline user id.",
            "format": "uuid",
            "nullable": true,
            "type": "object"
          }
        },
        "required": [
          "id",
          "status",
          "isCompleter"
        ],
        "type": "object"
      },
      "SessionAssigneeStatus": {
        "description": "Normalized status used for cross-source filtering.",
        "enum": [
          "PENDING",
          "ASSIGNED",
          "WAITING",
          "CLAIMED",
          "IN_PROGRESS",
          "COMPLETED",
          "DECLINED",
          "EXPIRED",
          "CANCELLED",
          "FAILED",
          "REASSIGNED",
          "NOT_COMPLETED"
        ],
        "type": "string"
      },
      "SessionAssigneeType": {
        "description": "Assignee type.",
        "enum": [
          "EXTERNAL",
          "INTERNAL",
          "GROUP",
          "INHERIT"
        ],
        "type": "string"
      },
      "SessionCurrentStepDto": {
        "properties": {
          "assignees": {
            "description": "Trailed/persisted assignments for this step.",
            "items": {
              "$ref": "#/components/schemas/SessionAssigneeDto"
            },
            "type": "array"
          },
          "id": {
            "description": "Current step id.",
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "description": "Step name.",
            "type": "object"
          },
          "resourceId": {
            "description": "Source-owned resource id this assignment acts on.",
            "nullable": true,
            "type": "object"
          },
          "startedAt": {
            "description": "When the session entered this step.",
            "format": "date-time",
            "nullable": true,
            "type": "object"
          },
          "type": {
            "description": "Step type (forms, sign, collaboration, etc.).",
            "type": "object"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "JWT",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "contact": {},
    "description": "Workflows Sessions",
    "title": "Workflows Sessions",
    "version": "1.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/v1/sessions/{sessionId}": {
      "get": {
        "description": "Returns a single session from streamline-session-trail. Only available when the `session-trail-workflows-proxy` feature flag is enabled for the organization; returns 404 otherwise.",
        "operationId": "SessionsController_getSession_v1",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionDto"
                }
              }
            },
            "description": "Session detail (public session-trail shape)"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get session (proxied from streamline-session-trail)",
        "tags": [
          "Sessions",
          "Public"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "US Production Server",
      "url": "https://api-us.streamline.intellistack.ai"
    },
    {
      "description": "Canada Production Server",
      "url": "https://api-ca.streamline.intellistack.ai"
    }
  ]
}
```