FullStory Batch Import API

Import large volumes of users and events asynchronously using batch import jobs that support up to 50,000 records per request.

Operations 2

POST /v2/users/batch Create a batch user import job #
POST /v2/events/batch Create a batch events import job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fullstory-batch-import-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fullstory-batch-import-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FullStory Server Batch Import API
  description: The FullStory Server API is a RESTful API that enables developers to programmatically send user and event data to FullStory. It supports creating and updating individual users, batch importing users, sending server-side events, and batch importing events. The API uses JSON for request and response bodies and authenticates via API keys. Developers can use it to enrich FullStory session data with server-side context that is not available in the browser or mobile app.
  version: '2.0'
  contact:
    name: FullStory Support
    url: https://help.fullstory.com/
  termsOfService: https://www.fullstory.com/legal/terms-and-conditions/
servers:
- url: https://api.fullstory.com
  description: FullStory Production API Server
security:
- basicAuth: []
tags:
- name: Batch Import
  description: Import large volumes of users and events asynchronously using batch import jobs that support up to 50,000 records per request.
paths:
  /v2/users/batch:
    post:
      operationId: createBatchUserImport
      summary: Create a batch user import job
      description: Imports up to 50,000 users in a single asynchronous request. Returns a job object with an ID and status that can be polled for completion. Users can be anonymous or identified with a uid.
      tags:
      - Batch Import
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchUserImportRequest'
      responses:
        '200':
          description: Batch import job created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchJob'
        '400':
          description: Invalid input provided
          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/events/batch:
    post:
      operationId: createBatchEventsImport
      summary: Create a batch events import job
      description: Imports a large number of events in a single asynchronous request. Returns a job object with an ID and status that can be polled for completion. Each event in the batch can include custom properties and session associations.
      tags:
      - Batch Import
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchEventsImportRequest'
      responses:
        '200':
          description: Batch events import job created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchJob'
        '400':
          description: Invalid input provided
          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'
components:
  schemas:
    CreateUserRequest:
      type: object
      description: Request body for creating or updating a user in FullStory
      properties:
        uid:
          type: string
          description: External user identifier. Omit to create an anonymous user.
        display_name:
          type: string
          description: The display name for the user
        email:
          type: string
          format: email
          description: The email address for the user
        properties:
          type: object
          description: Custom key-value properties to attach to the user. Type suffixes are not required in v2 as types are inferred automatically.
          additionalProperties: true
        schema:
          type: object
          description: Optional explicit type declarations for custom properties to override the default type inference
          additionalProperties: true
    CreateEventRequest:
      type: object
      required:
      - name
      description: Request body for creating a custom event in FullStory
      properties:
        name:
          type: string
          description: The name of the custom event
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp for when the event occurred
        session:
          type: object
          description: Session association for the event
          properties:
            id:
              type: string
              description: The session identifier to associate the event with
            use_most_recent:
              type: boolean
              description: If true, the most recent session within 30 minutes will be used. If no recent session is found, the event is created without a session association.
        user:
          type: object
          description: User association for the event. Not accepted if session.id is provided since the session already identifies the user.
          properties:
            id:
              type: string
              description: The FullStory-assigned user ID
            uid:
              type: string
              description: The external user identifier
        properties:
          type: object
          description: Custom key-value properties for the event. Supports string, real, integer, boolean, array, and object types.
          additionalProperties: true
        schema:
          type: object
          description: Optional explicit type declarations for custom event properties
          additionalProperties: true
    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
    BatchJob:
      type: object
      description: Represents an asynchronous batch import job
      properties:
        id:
          type: string
          description: The unique identifier for the batch import job
        status:
          type: string
          description: Current status of the batch import job
          enum:
          - PENDING
          - PROCESSING
          - COMPLETED
          - FAILED
        created:
          type: string
          format: date-time
          description: Timestamp when the batch import job was accepted
    BatchEventsImportRequest:
      type: object
      required:
      - requests
      description: Request body for batch importing events into FullStory
      properties:
        requests:
          type: array
          description: Array of event objects to import
          items:
            $ref: '#/components/schemas/CreateEventRequest'
    BatchUserImportRequest:
      type: object
      required:
      - requests
      description: Request body for batch importing users into FullStory
      properties:
        requests:
          type: array
          description: Array of user objects to import, up to 50,000 per request
          maxItems: 50000
          items:
            $ref: '#/components/schemas/CreateUserRequest'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: API key passed in the Authorization header using Basic authentication. Generate API keys from the FullStory app settings. Admin or Architect level keys are required for data retrieval and deletion operations.
externalDocs:
  description: FullStory Server API Documentation
  url: https://developer.fullstory.com/server/getting-started/