FullStory Endpoints API

Create, retrieve, update, and delete webhook endpoints that receive real-time notifications from FullStory. Each endpoint has a destination URL, configured event types, signing secret, and enabled status.

OpenAPI Specification

fullstory-endpoints-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FullStory Segments Export Batch Import Endpoints API
  description: 'The FullStory Segments Export API provides an asynchronous workflow for downloading captured event data from FullStory. Developers can initiate export jobs to aggregate segment data, query for the status of running jobs, and retrieve download URLs for completed exports. Two types of segment data are available for export: individuals matching a segment and events performed by those individuals. This API is useful for integrating FullStory behavioral data into external analytics pipelines and data warehouses.'
  version: '1.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: Endpoints
  description: Create, retrieve, update, and delete webhook endpoints that receive real-time notifications from FullStory. Each endpoint has a destination URL, configured event types, signing secret, and enabled status.
paths:
  /webhooks/v1/endpoints:
    post:
      operationId: createEndpoint
      summary: Create a webhook endpoint
      description: Creates a new webhook endpoint with the given properties, including the destination URL and the event types it should receive. Some event types require a subcategory property. Returns the created endpoint details including its ID and signing secret.
      tags:
      - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEndpointRequest'
      responses:
        '200':
          description: Webhook endpoint created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Endpoint'
        '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'
        '403':
          description: Forbidden - insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    get:
      operationId: listEndpoints
      summary: List webhook endpoints
      description: Pages through all configured webhook endpoints with pagination support. Returns endpoint details including ID, URL, configured event types, and enabled status.
      tags:
      - Endpoints
      responses:
        '200':
          description: List of webhook endpoints retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointList'
        '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'
  /webhooks/v1/endpoints/{endpointId}:
    get:
      operationId: getEndpoint
      summary: Get a webhook endpoint
      description: Retrieves endpoint details corresponding to the provided endpoint ID, including the destination URL, configured event types, signing secret, and enabled status.
      tags:
      - Endpoints
      parameters:
      - $ref: '#/components/parameters/EndpointIdPath'
      responses:
        '200':
          description: Webhook endpoint retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Endpoint'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Endpoint not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateEndpoint
      summary: Update a webhook endpoint
      description: Updates an existing webhook endpoint. Can be used to change the destination URL, configured events, signing secret, and the enabled status of the endpoint.
      tags:
      - Endpoints
      parameters:
      - $ref: '#/components/parameters/EndpointIdPath'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEndpointRequest'
      responses:
        '200':
          description: Webhook endpoint updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Endpoint'
        '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'
        '403':
          description: Forbidden - insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Endpoint not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      operationId: deleteEndpoint
      summary: Delete a webhook endpoint
      description: Permanently deletes the webhook endpoint specified by the endpoint ID. The endpoint will no longer receive any event notifications after deletion.
      tags:
      - Endpoints
      parameters:
      - $ref: '#/components/parameters/EndpointIdPath'
      responses:
        '200':
          description: Webhook endpoint deleted successfully
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Endpoint not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CreateEndpointRequest:
      type: object
      required:
      - url
      - events
      description: Request body for creating a new webhook endpoint
      properties:
        url:
          type: string
          format: uri
          description: The URL that will receive webhook event notifications
        events:
          type: array
          description: The types of events this endpoint should receive
          items:
            $ref: '#/components/schemas/EventTypeConfig'
    UpdateEndpointRequest:
      type: object
      description: Request body for updating an existing webhook endpoint
      properties:
        url:
          type: string
          format: uri
          description: The new destination URL for webhook events
        events:
          type: array
          description: Updated list of event types for this endpoint
          items:
            $ref: '#/components/schemas/EventTypeConfig'
        signingSecret:
          type: string
          description: Updated signing secret for verifying webhook payloads
        enabled:
          type: boolean
          description: Whether the endpoint is enabled and receiving events
    Endpoint:
      type: object
      description: A configured webhook endpoint in FullStory
      properties:
        id:
          type: string
          description: Unique identifier for the webhook endpoint
        url:
          type: string
          format: uri
          description: The destination URL receiving webhook events
        events:
          type: array
          description: The event types configured for this endpoint
          items:
            $ref: '#/components/schemas/EventTypeConfig'
        signingSecret:
          type: string
          description: Secret used to sign webhook payloads for verification
        enabled:
          type: boolean
          description: Whether the endpoint is actively receiving events
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the endpoint was created
    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
    EventTypeConfig:
      type: object
      required:
      - eventName
      description: Configuration for a specific event type on a webhook endpoint
      properties:
        eventName:
          type: string
          description: The name of the event type
          enum:
          - segment.created
          - segment.trend.alert
          - recording.event.custom
          - note.created
        subcategory:
          type: string
          description: Required subcategory for event types that require one, such as specifying which custom event to listen for
    EndpointList:
      type: object
      description: List of webhook endpoints
      properties:
        endpoints:
          type: array
          description: Array of configured webhook endpoints
          items:
            $ref: '#/components/schemas/Endpoint'
  parameters:
    EndpointIdPath:
      name: endpointId
      in: path
      required: true
      description: The unique identifier of the webhook endpoint
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: API key passed in the Authorization header using Basic authentication. Admin or Architect level keys are required.
externalDocs:
  description: FullStory Segments Export API Documentation
  url: https://developer.fullstory.com/server/v1/segments/create-segment-export/