openapi: 3.1.0 info: title: FullStory Sessions API description: >- The FullStory Sessions API allows developers to retrieve session replay URLs for specific users and access session event data. By querying with a user email address or user ID, the API returns a list of session URLs that can be used to view recorded sessions in the FullStory platform. The API also supports AI-powered session summaries through configurable summary prompt profiles. version: '2.0' contact: name: FullStory Support url: https://help.fullstory.com/ termsOfService: https://www.fullstory.com/legal/terms-and-conditions/ externalDocs: description: FullStory Sessions API Documentation url: https://developer.fullstory.com/server/sessions/introduction/ servers: - url: https://api.fullstory.com description: FullStory Production API Server tags: - name: Session Events description: >- Retrieve the full set of captured events for a specific session, including page views, clicks, and custom events. - name: Session Summaries description: >- Generate AI-powered summaries of sessions using configurable prompt profiles. Summaries can be customized with pre and post prompts, response schemas, and session slicing options. - name: Sessions description: >- Retrieve session replay URLs for users and access recorded session data. Sessions are scoped to a single FullStory account and replay URLs require authenticated FullStory access. security: - basicAuth: [] paths: /sessions/v2: get: operationId: listSessions summary: List sessions for a user description: >- Returns a list of session replay URLs for a given user, queried by email address and/or uid. If both uid and email are provided, the API queries on them separately and returns a union of the records. It is recommended to use either uid or email, but not both. By default, the last 20 sessions are returned. tags: - Sessions parameters: - $ref: '#/components/parameters/EmailQuery' - $ref: '#/components/parameters/UidQuery' - $ref: '#/components/parameters/LimitQuery' responses: '200': description: List of session URLs retrieved successfully content: application/json: schema: $ref: '#/components/schemas/SessionList' '400': description: Invalid input - at least one of email or uid is required content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid or missing API key content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/Error' /v2/sessions/{sessionId}/events: get: operationId: getSessionEvents summary: Get session events description: >- Returns the full set of captured events for a specified session, including page views, clicks, custom events, and other interactions recorded during the session. tags: - Session Events parameters: - $ref: '#/components/parameters/SessionIdPath' responses: '200': description: Session events retrieved successfully content: application/json: schema: $ref: '#/components/schemas/SessionEvents' '401': description: Unauthorized - invalid or missing API key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Session not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/Error' /v2/sessions/{sessionId}/summary: get: operationId: generateSessionSummary summary: Generate AI session summary description: >- Returns a generative AI summarization of the specified session using the supplied prompt summary profile. The config_profile_id parameter specifies the prompt profile that defines both the prompting instructions and session context configuration. Summary profiles support custom pre and post prompts, structured response schemas, and session slicing to trim event data. tags: - Session Summaries parameters: - $ref: '#/components/parameters/SessionIdPath' - $ref: '#/components/parameters/ConfigProfileIdQuery' responses: '200': description: Session summary generated successfully content: application/json: schema: $ref: '#/components/schemas/SessionSummary' '401': description: Unauthorized - invalid or missing API key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Session or config profile not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: basicAuth: type: http scheme: basic description: >- API key passed in the Authorization header using Basic authentication. Admin or Architect level keys are required for data retrieval. parameters: EmailQuery: name: email in: query required: false description: >- Email address of the user whose sessions to retrieve schema: type: string format: email UidQuery: name: uid in: query required: false description: >- External user identifier of the user whose sessions to retrieve schema: type: string LimitQuery: name: limit in: query required: false description: >- Maximum number of sessions to return. Defaults to 20. schema: type: integer default: 20 minimum: 1 SessionIdPath: name: sessionId in: path required: true description: >- The session identifier, URL encoded schema: type: string ConfigProfileIdQuery: name: config_profile_id in: query required: true description: >- The ID of the summary prompt profile to use for generating the AI session summary schema: type: string schemas: SessionList: type: object description: >- List of session replay URLs for a user properties: sessions: type: array description: >- Array of session objects with replay URLs items: $ref: '#/components/schemas/Session' Session: type: object description: >- A session replay reference with URL and metadata properties: sessionId: type: string description: >- Unique identifier for the session url: type: string format: uri description: >- URL to view the session replay in the FullStory application. Only accessible by browsers logged into the appropriate FullStory account. created: type: string format: date-time description: >- Timestamp when the session was recorded SessionEvents: type: object description: >- Full set of captured events for a session properties: events: type: array description: >- Array of events captured during the session items: $ref: '#/components/schemas/SessionEvent' SessionEvent: type: object description: >- An individual event captured during a session properties: type: type: string description: >- The type of event captured timestamp: type: string format: date-time description: >- Timestamp when the event occurred data: type: object description: >- Event-specific data and properties additionalProperties: true SessionSummary: type: object description: >- AI-generated summary of a session properties: sessionId: type: string description: >- The session that was summarized summary: type: string description: >- The generated summary text or structured response based on the configured response schema configProfileId: type: string description: >- The summary prompt profile ID used Error: type: object description: >- Standard error response from the FullStory API properties: code: type: integer description: >- HTTP status code message: type: string description: >- Human-readable error message