Skip to main content

FullStory

FullStory is a digital experience analytics platform that automatically captures every user interaction on your website or application — including clicks, scrolls, page transitions, and custom events — and reconstructs those sessions visually so teams can understand exactly how users experience their products. FullStory combines session replay, behavioral analytics, heatmaps, and funnel analysis into a single platform, enabling product, engineering, marketing, and customer success teams to diagnose UX issues, validate product decisions, and improve digital experiences with precision. Its Server API enables both ingestion of user and event data into FullStory and extraction of behavioral data, sessions, and user information for integration with external systems.

FullStory icon

Power end-to-end data operations for your FullStory API with Nexla. Our bi-directional FullStory connector is purpose-built for FullStory, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to FullStory or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your FullStory workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

To connect Nexla to FullStory, you need a FullStory account with permission to create API keys. FullStory API keys are available to Standard, Architect, and Admin users on all FullStory plans. Architect-level keys — required for reading and exporting user data — are available on Enterprise plans only.

FullStory API Key Permission Levels

FullStory API keys use three permission levels that form a hierarchy: Standard → Architect → Admin. A key at a higher level can access all endpoints available to lower levels. Choose the permission level appropriate for your Nexla integration:

  • Standard — Allows sending data into FullStory (events and users), listing sessions, viewing recording settings, and managing async operations. Use this level when Nexla will only write data to FullStory.

  • Architect — Includes all Standard permissions, plus the ability to view, export, and delete user data, access privacy settings, search exports, and manage raw data exports. Use this level when Nexla will read or export data from FullStory. Available on Enterprise plans only.

  • Admin — Includes all Architect permissions, plus the ability to create, update, and delete element block rules that control what FullStory captures. Use this level only when required for privacy-critical configuration.

FullStory recommends using a separate API key for each integration or tool, and assigning only the minimum permission level required for the intended use. For details, see Managing API Keys in the FullStory Help Center.

Generate a FullStory API Key

  1. Sign in to your FullStory account at app.fullstory.com.

  2. Navigate to Settings (gear icon) in the left navigation.

  3. Under the Integrations section, select API Keys.

  4. Click the Create key button in the upper-right corner of the API Keys list.

  5. Enter a descriptive name for the key in the Key name field — for example, Nexla Integration.

  6. Select the appropriate permission level from the Permission level dropdown (Standard, Architect, or Admin) based on your intended use.

  7. Click Create key to generate the API key.

Important

A modal will appear displaying the new key's value immediately after creation. You must copy the key value at this time — FullStory will not display the key value again after you close the modal. Store the key in a secure password manager or secrets management system.

  1. Copy the API key value and keep it available for the next section.

If you need to revoke or regenerate a key at any time, return to Settings > Integrations > API Keys, locate the key in the list, and select the revoke option. After revoking a key, any integrations using that key will stop working until they are updated with a new key.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the FullStory API key you generated in the Prerequisites steps above into the API Key field. This key authenticates all requests Nexla makes to the FullStory Server API and should be treated with the same security as a password.

    The FullStory API key is sent in the Authorization HTTP header as Basic {YOUR_API_KEY} for every API request. Nexla handles this header formatting automatically — you only need to provide the raw API key value.

  4. Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the FullStory connector tile, then select the credential that will be used to connect to the FullStory instance, and click Next; or, create a new FullStory credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common FullStory endpoints. Each template is designed specifically for the corresponding FullStory endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Block Rules

Retrieves all recording block rules configured in the FullStory account. Use this endpoint to audit which CSS selectors or page elements are excluded from session capture.

This endpoint requires an API key with at least read access to recording settings. No additional parameters are needed.

Get Domain Settings

Retrieves the domain recording settings for your FullStory account, including which domains are enabled for session capture.

No parameters are required. This endpoint returns a single settings object rather than a list.

Get Geo Settings

Retrieves geographic-based recording settings, such as which countries or regions are included or excluded from session capture.

No parameters are required. Returns a single configuration object.

Get Recording Features

Retrieves the recording features and capabilities that are enabled for your FullStory account, such as heatmaps or mobile recording.

Feature availability depends on your FullStory plan tier. No parameters are required.

List Session Targeting Rules

Retrieves all session targeting rules configured in FullStory, which determine which user sessions are captured based on criteria such as URL patterns or user attributes.

No parameters are required. Each returned rule includes its conditions and capture percentage settings.

List Webhooks

Retrieves all webhook endpoints configured in FullStory for receiving system event notifications, such as session recording or export completion events.

No parameters are required. Use this endpoint to audit your current webhook configurations.

List Event Types

Retrieves all available event types that can be subscribed to via FullStory webhooks, such as session recording events or export status changes.

No parameters are required. Use this to determine which event types are available for webhook subscriptions in your FullStory account.

Get User

Retrieves profile data and custom properties for a specific FullStory user identified by their UID or internal ID.

  • Sends a GET request to https://api.fullstory.com/v2/users/{uid} and returns the full user object.
  • Response data is located at $ (the top-level response object).
  • Configure the following parameter: User UID — the UID or internal ID of the user to retrieve.

The User UID must match an existing user in your FullStory account. Use the List Users endpoint to discover valid UIDs.

List Users

Retrieves a paginated list of FullStory users matching the supplied filter criteria, such as email address or UID.

  • Sends a GET request to https://api.fullstory.com/v2/users/list with optional query parameters and returns an array of user objects.
  • Response data is located at $.users[*].
  • Configure the following parameters: User UID — filter by UID; Email — filter by email address; Limit — maximum number of results to return; Page Token — token for paginating through results.

All parameters are optional. To paginate through large result sets, use the page token returned in the previous response.

Get Segment

Retrieves segment information — including name, creator, and app URL — for a specific FullStory segment by its ID.

  • Sends a GET request to https://api.fullstory.com/segments/v1/{id} and returns the segment object.
  • Response data is located at $ (the top-level response object).
  • Configure the following parameter: Id — the unique identifier of the segment to retrieve.

Segment export operations are available on Enterprise plans. The segment ID can be found in the FullStory UI or by using the List Segments endpoint.

Get Operation Status

Returns the current status of a long-running FullStory operation, such as a segment export or user deletion job.

  • Sends a GET request to https://api.fullstory.com/operations/v1/{id} and returns the operation status object.
  • Response data is located at $ (the top-level response object).
  • Configure the following parameter: Id — the operation ID returned when the long-running operation was initiated.

Poll this endpoint to track the progress of async operations. When the status is complete, use Get Export Results to retrieve the output.

Get Export Results

Retrieves a download link for a completed segment export operation, allowing you to access the exported data.

Only call this endpoint after the operation status is complete. Requires Enterprise plan access for segment exports.

Get Event Export

Downloads a specific legacy Data Export bundle by its ID as a JSON file, enabling ingestion of exported event data.

  • Sends a GET request to https://api.fullstory.com/exports/v1/{id} and returns the export bundle content.
  • Response data is located at $ (the top-level response object).
  • Configure the following parameter: Id — the ID of the legacy event export bundle.

This endpoint uses the legacy Data Export v1 API. For new integrations, consider using the segment export workflow instead.

Get User Events

Retrieves indexed high-level events captured by FullStory for a specific user, useful for analyzing user behavior patterns.

Returns high-level indexed events (page views, clicks, errors) rather than raw interaction data. For complete raw event data, use the segment export workflow.

Get User Pages

Retrieves a user's visited pages including raw event data recorded on each page visit.

Each page record includes the URL visited, timestamp, and associated raw events. This can return large payloads for active users.

Get Batch Events Imports

Retrieves event details for successfully imported events from a previously submitted batch events import job.

Use this endpoint to verify the results of a completed batch import job initiated via the Create Batch Events Import Job operation.

Generate Session Summary

Returns a generative AI summarization of a specified FullStory session using a configured prompt summary profile.

  • Sends a GET request to https://api.fullstory.com/v2/sessions/{id}/summary and returns a structured summary object.
  • Response data is located at $ (the top-level response object).
  • Configure the following parameters: Id — the session ID to summarize; Profile ID — the ID of the prompt profile to use for summarization.

AI-powered session summaries require the appropriate FullStory plan. The prompt profile determines the structure and focus of the generated summary.

Check Batch User Import Job Status

Checks the status of a batch user-import job previously submitted via the Batch Create Users endpoint.

Poll this endpoint periodically after submitting a batch user import to confirm it has completed successfully before processing the results.

List Session Replay URLs

Retrieves a list of session replay URLs for users queried by email address and/or UID, making it easy to link user records to their recorded sessions.

  • Sends a GET request to https://api.fullstory.com/sessions/v2 with optional filter parameters and returns an array of session URL objects.
  • Response data is located at $.sessions[*].
  • Configure the following parameters: Uid — filter sessions by user UID; Email — filter sessions by user email; Limit — maximum number of sessions to return.

At least one of Uid or Email is required. Session replay URLs are direct links to the FullStory session player.

List Segments

Retrieves a paginated list of all segments defined in your FullStory account, including segment names and creator information.

  • Sends a GET request to https://api.fullstory.com/segments/v1 with optional limit and pagination parameters and returns an array of segment objects.
  • Response data is located at $.segments[*].
  • Configure the following parameters: Limit — maximum number of segments to return; Pagination Token — token for paginating through results.

Segment management and export features require an Enterprise plan. Use the returned segment IDs with the Get Segment or Get Export Results endpoints.

List Operations

Retrieves a paginated list of all operations — both ongoing and completed — for the FullStory account, useful for monitoring export or bulk processing jobs.

  • Sends a GET request to https://api.fullstory.com/operations/v1 with optional filter parameters and returns an array of operation objects.
  • Response data is located at $.operations[*].
  • Configure the following parameters: Limit — maximum number of operations to return; State — filter by operation state (e.g., pending, complete); Type — filter by operation type.

All parameters are optional. Use this endpoint to monitor the status of all long-running jobs in your account.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

FullStory sources can also be manually configured to ingest data from any valid FullStory Server API endpoint not covered by the pre-built templates, including chained API calls or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The FullStory Server API uses https://api.fullstory.com as its base URL for all v2 endpoints. Common base URLs include https://api.fullstory.com/v2/users (users), https://api.fullstory.com/sessions/v2?email={user_email} (sessions for a user), https://api.fullstory.com/v2/sessions/{session_id}/events (session events), and https://api.fullstory.com/segments/v1 (segment exports, Enterprise only). Responses typically wrap records in a named array — for example, the Users API response wraps records in a users array, so specify $.users[*] as the path to data to treat each user record as an individual Nexla record. Additional request headers may be needed for API versioning or content type; the Authorization header is handled automatically based on your credential configuration.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new FullStory data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the FullStory destination, and select the Send to Destination option from the menu. Select the FullStory connector from the list of available destination connectors, then select the credential that will be used to connect to the FullStory organization, and click Next; or, create a new FullStory credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common FullStory endpoints. Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Then, click on a template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create or Update User

Creates a new FullStory user or updates an existing user's profile data and custom properties by matching on the provided UID.

  • Sends a POST or PUT request to the FullStory Users v2 API with the user record payload.
  • Each record in the Nexset should include a uid field and a properties object containing custom user attributes.

If a user with the provided UID already exists, their profile will be updated. If no matching user is found, a new user record will be created.

Delete User

Deletes all data related to a FullStory user, including sessions, events, and custom properties, based on their UID.

  • Sends a DELETE request to the FullStory Users v2 API for the specified user.
  • Configure the following parameter: User UID — the UID of the user whose data should be permanently deleted.

This operation is irreversible. All session recordings, events, and custom properties for the user will be permanently removed. Requires an Architect-level API key.

Batch Create Users

Batch creates or updates up to 50,000 users in a single asynchronous import job, making it ideal for large-scale user data synchronization.

This endpoint is asynchronous — it returns a job ID that can be used with the Check Batch User Import Job Status source endpoint to monitor progress. Batches of up to 50,000 users are supported.

Create Event

Creates a single custom server-side event associated with a FullStory user or session, enabling server-side behavioral data to be included in session analysis.

Server-side events are associated with existing FullStory sessions. Ensure the user or session referenced in the event payload exists in FullStory.

Create Batch Events Import Job

Creates a batch import job for multiple custom server-side events asynchronously, suitable for ingesting large volumes of historical or server-side event data.

This endpoint processes events asynchronously. Use the Get Batch Events Imports source endpoint with the returned job ID to verify that events were successfully imported.

Create Webhook Endpoint

Creates a new FullStory webhook endpoint to receive system event notifications, such as export completion or recording events.

Use the List Event Types source endpoint to retrieve the available event types that can be included in a webhook subscription.

Update Webhook Endpoint

Updates an existing FullStory webhook endpoint, allowing you to change the destination URL or event subscriptions.

  • Sends a PUT or PATCH request to the FullStory webhook endpoint URL with the updated configuration.
  • Configure the following parameter: Id — the ID of the webhook endpoint to update.

The webhook endpoint ID is returned when the webhook is created and can also be retrieved via the List Webhooks source endpoint.

Delete Webhook Endpoint

Deletes an existing FullStory webhook endpoint, stopping delivery of system event notifications to the configured URL.

  • Sends a DELETE request to the FullStory webhook endpoint URL for the specified webhook.
  • Configure the following parameter: Id — the ID of the webhook endpoint to delete.

This action is irreversible. Once deleted, no further event notifications will be sent to the associated URL.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to send a test payload. The result will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the destination is configured correctly before saving.

Manual configuration

FullStory destinations can also be manually configured to send data to any valid FullStory Server API endpoint — including user records, custom events, or batch data — to enrich your digital experience analytics with data from external systems. You can also configure Nexla to automatically send the response received from the FullStory API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The FullStory Server API accepts data in JSON format only. Common destination endpoints include https://api.fullstory.com/v2/users (create/update users, POST/PUT), https://api.fullstory.com/v2/users/batch (batch create users, POST, up to 50,000 users per asynchronous job), https://api.fullstory.com/v2/events (create custom events, POST), and https://api.fullstory.com/v2/events/batch (batch create events, POST). For update/upsert operations, include the ID of the object to be updated at the end of the URL. Each user record should include at minimum a uid field and a properties object containing custom attributes — see the FullStory Users API documentation for the full schema. FullStory's batch endpoints are designed to accept multiple records per request, making record batching an efficient way to send large volumes of user or event data. When sending JSON data, include a Content-Type:application/json request header.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to FullStory, open the destination resource menu, and select Activate.

The Nexset data will not be sent to FullStory until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.