---
canonical_url: "https://docs.composio.dev/toolkits/fullstory"
markdown_url: "https://docs.composio.dev/toolkits/fullstory.md"
product: "platform"
version: null
last_updated: null
---

# FullStory

FullStory provides digital experience analytics APIs for managing users, events, sessions, exports, recording settings, privacy rules, and related organization data.

- **Category:** analytics
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 30
- **Triggers:** 0
- **Slug:** `FULLSTORY`
- **Version:** 00000000_00

## Tools

### Cancel Operation

**Slug:** `FULLSTORY_CANCEL_OPERATION`

Irreversibly request cancellation of a cancelable in-progress FullStory operation, currently intended for segment exports. Confirm the operation before calling because a successful cancellation request cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `operation_id` | string | Yes | Cancelable in-progress FullStory operation ID. Cancellation is irreversible; confirm the operation before calling. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Annotation

**Slug:** `FULLSTORY_CREATE_ANNOTATION`

Add a persistent annotation to the FullStory timeline for a point or time range. Warning: FullStory provides no matching delete endpoint, so a successful call cannot be cleaned up through this API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Annotation text. |
| `source` | string | No | Source system label for the annotation. |
| `end_time` | string | No | Annotation end time as an ISO 8601 timestamp with a timezone. When both timestamps are supplied, this must not precede start_time. |
| `start_time` | string | No | Annotation start time as an ISO 8601 timestamp with a timezone. Omit to use FullStory's default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Element Block

**Slug:** `FULLSTORY_CREATE_ELEMENT_BLOCK`

Create a beta FullStory element recording or masking rule. Requires an Admin API key. Privacy-critical: an incorrect selector, UNMASK action, or live scope can expose sensitive data, while EXCLUDE or MASK can suppress useful recording. Review every field and prefer preview scope before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Human-readable rule name. |
| `source` | object | Yes | Exact selector source for the elements affected by this rule. |
| `operation` | object | Yes | Privacy action, consent behavior, and session scope for matched elements. |
| `platforms` | array | Yes | One or more capture platforms to which the rule applies. |
| `description` | string | No | Administrator notes explaining why this privacy rule exists. |
| `idempotency_key` | string | No | Stable retry key that prevents duplicate element-block creation when retrying. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Extraction Rule

**Slug:** `FULLSTORY_CREATE_EXTRACTION_RULE`

Create and immediately activate one FullStory beta extraction rule using the provider's nested rule, source, and mapping contract. Extraction can capture sensitive element, URL, header, or body values and can materially increase collected data volume. Archiving later only stops future capture; it does not erase data already collected. Review selectors, network filters, mapping targets, property scope, and privacy policy before calling. The beta contract may change without notice. Requires an Architect or Admin API key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule` | object | Yes | Complete beta extraction rule. Creation activates it immediately; review source breadth, mapped values, privacy impact, and expected data volume first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Element Block

**Slug:** `FULLSTORY_DELETE_ELEMENT_BLOCK`

Permanently delete a custom FullStory privacy element-block rule. This is irreversible: removing a block or mask can expose sensitive content in future recordings. Confirm the exact custom rule first; built-in rules cannot be deleted. This API is in beta and may change without notice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | Editable custom element-block rule ID. Confirm the exact rule before calling; built-in rules cannot be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Data

**Slug:** `FULLSTORY_DELETE_USER_DATA`

Permanently delete a FullStory user and their associated data by FullStory-generated ID. This is an irreversible privacy mutation; confirm the target before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | FullStory-generated ID of the user whose data must be permanently deleted. Confirm the target before calling. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get FullStory Account

**Slug:** `FULLSTORY_GET_ACCOUNT`

Validate the connected API key and return its FullStory organization, identity, and API-key role. Do not use the role to infer paid product entitlements.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Element Block

**Slug:** `FULLSTORY_GET_ELEMENT_BLOCK`

Get one FullStory privacy element-block rule by ID, including its exact selector source, recording or masking operation, platforms, and editability. Warning: this exposes privacy-sensitive recording configuration. This API is in beta; functionality and documentation are subject to breaking change without notification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | Element-block rule ID returned by the beta list element blocks API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Extraction Rule

**Slug:** `FULLSTORY_GET_EXTRACTION_RULE`

Get one FullStory beta extraction rule by ID, including its archive state and complete nested source and mappings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | Extraction rule ID returned by List Extraction Rules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Import Status

**Slug:** `FULLSTORY_GET_IMPORT_STATUS`

Get status and success/error counts for an asynchronous FullStory event or user import job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Import job ID returned by Import Events or Import Users. |
| `import_type` | string ("event" | "user") | Yes | Type of asynchronous import job: event or user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Operation

**Slug:** `FULLSTORY_GET_OPERATION`

Get detailed status, progress, operation-specific results, and failure details for one asynchronous FullStory operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `operation_id` | string | Yes | FullStory operation ID returned by an asynchronous workflow. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization Quotas

**Slug:** `FULLSTORY_GET_ORGANIZATION_QUOTAS`

Return current FullStory session and server-event quota usage, limits, and quota periods.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recording Settings

**Slug:** `FULLSTORY_GET_RECORDING_SETTINGS`

Get one current FullStory recording-settings category. Privacy settings may contain sensitive configuration and large built-in rule sets; the complete provider response is preserved.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `platform` | string ("web" | "mobile") | No | Platform filter. Supported only when setting_type is domain or features. |
| `setting_type` | string ("blocking" | "domain" | "geo" | "privacy" | "features" | "targeting") | Yes | Recording-settings category to retrieve: blocking, domain, geo, privacy, features, or targeting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Segment

**Slug:** `FULLSTORY_GET_SEGMENT`

Get metadata and the FullStory app URL for one segment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `segment_id` | string | Yes | Segment ID returned by List Segments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `FULLSTORY_GET_USER`

Retrieve one user by FullStory-generated user ID, including profile fields and a FullStory app link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | FullStory-generated user ID, not the application UID. |
| `include_schema` | boolean | No | Include property schema and type conflicts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Import Events

**Slug:** `FULLSTORY_IMPORT_EVENTS`

Start an asynchronous import of 1 to 50,000 server events. This permanently adds analytics data; use an idempotency key when retrying.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | array | Yes | One to 50,000 events to import; each event requires a name. |
| `shared` | object | No | Context values shared by every event in this batch. |
| `idempotency_key` | string | No | Stable retry key that prevents duplicate batch import jobs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Import Users

**Slug:** `FULLSTORY_IMPORT_USERS`

Start an asynchronous upsert import of 1 to 50,000 users. This mutates personal profile data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `users` | array | Yes | One to 50,000 users to create or update. |
| `idempotency_key` | string | No | Stable retry key that prevents duplicate batch import jobs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Datasets

**Slug:** `FULLSTORY_LIST_DATASETS`

List beta datasets readable by the connected FullStory organization.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Element Blocks

**Slug:** `FULLSTORY_LIST_ELEMENT_BLOCKS`

Return one page of custom and built-in FullStory privacy element-block rules. These rules determine what FullStory records or masks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `next_cursor` | string | No | Opaque next-page token returned by a previous call. Omit for the first page and pass it back exactly as received. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Extraction Rules

**Slug:** `FULLSTORY_LIST_EXTRACTION_RULES`

List all FullStory beta extraction rules matching one required scope and optional filters, together with current active-rule usage and limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scope` | string ("PAGE" | "USER" | "ELEMENT" | "REQUEST" | "EVENT") | Yes | Extraction-rule scope to list: PAGE, USER, ELEMENT, REQUEST, or EVENT. |
| `property_name` | string | No | Filter rules by the extracted property name. |
| `include_archived` | boolean | No | Whether to include archived extraction rules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Import Records

**Slug:** `FULLSTORY_LIST_IMPORT_RECORDS`

Return one page of successful or failed records from a FullStory event or user import job, including failure details when requested.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Import job ID returned by Import Events or Import Users. |
| `outcome` | string ("successful" | "failed") | Yes | Select imported records or rejected records with errors. |
| `import_type` | string ("event" | "user") | Yes | Type of import job whose records to list: event or user. |
| `next_cursor` | string | No | Opaque next-page token returned by a previous call. Omit for the first page and pass it back unchanged. |
| `include_schema` | boolean | No | Include inferred schemas for successful records. Not valid for failed records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Operations

**Slug:** `FULLSTORY_LIST_OPERATIONS`

Return one page of asynchronous FullStory operations, optionally filtered by state or type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("DELETE_USER" | "SEARCH_EXPORT" | "DELETE_SESSION" | "DELETE_SEGMENT_SESSIONS" | "DELETE_SEGMENT_USERS") | No | Operation type: DELETE_USER, SEARCH_EXPORT, DELETE_SESSION, DELETE_SEGMENT_SESSIONS, or DELETE_SEGMENT_USERS. |
| `limit` | integer | No | Maximum operations to return in this page. |
| `state` | string ("PENDING" | "COMPLETED" | "FAILED") | No | Operation state: PENDING, COMPLETED, or FAILED. |
| `next_cursor` | string | No | Opaque continuation token from the previous response. Omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Recording Settings History

**Slug:** `FULLSTORY_LIST_RECORDING_SETTINGS_HISTORY`

Return one page of historical FullStory recording settings for blocking, domain, geo, privacy, features, or targeting. Privacy history requires an Architect-level API key; the other categories require Standard or higher.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of historical versions to return in this page. |
| `platform` | string ("web" | "mobile") | No | Platform filter. Supported only for domain and features history. |
| `next_cursor` | string | No | Opaque continuation token returned by the previous call. Omit for the first page and do not decode or modify it. |
| `setting_type` | string ("blocking" | "domain" | "geo" | "privacy" | "features" | "targeting") | Yes | Recording-settings category whose historical versions to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Segments

**Slug:** `FULLSTORY_LIST_SEGMENTS`

Return one page of FullStory segments, optionally filtered by creator.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of segments to return in this page. |
| `creator` | string | No | Filter segments by creator. |
| `next_cursor` | string | No | Opaque continuation token returned by a previous call. Omit for the first page; do not decode or increment it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sessions

**Slug:** `FULLSTORY_LIST_SESSIONS`

Find recent FullStory session replay links by application UID, email, or exact session UID. Provide at least one selector; session_uid cannot be combined with uid or email. This is a filtered single-page lookup, not an unfiltered or paginated list; a no-match 404 returns an empty sessions list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | No | Application-defined user ID whose recent sessions to find. |
| `email` | string | No | User email whose recent sessions to find. |
| `limit` | integer | No | Maximum number of recent sessions to return. FullStory defaults to 20. |
| `session_uid` | string | No | Exact customer-defined session UID. Cannot be combined with uid or email. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Users

**Slug:** `FULLSTORY_SEARCH_USERS`

Find FullStory users by UID, email, display name, or identification state. Provide at least one of uid, email, display_name, or is_identified. A no-match 404 is returned as an empty result page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | No | Application-defined user ID filter. |
| `email` | string | No | Exact user email filter. |
| `next_cursor` | string | No | Opaque next-page token from a prior call; do not decode it. |
| `display_name` | string | No | Display-name filter. |
| `is_identified` | boolean | No | Filter identified versus anonymous users. |
| `include_schema` | boolean | No | Include property schema and type conflicts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Extraction Rule Archived

**Slug:** `FULLSTORY_SET_EXTRACTION_RULE_ARCHIVED`

Archive a FullStory beta extraction rule to stop future capture, or unarchive it to resume capture. Warning: this changes collection behavior immediately. Archiving does not erase data already collected, and data not captured while the rule is archived cannot be recovered by unarchiving. Confirm the rule ID and intended state before calling. Requires an Architect or Admin API key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | Extraction rule ID returned by the beta extraction rules API. |
| `archived` | boolean | Yes | Set true to stop future capture by this rule, or false to resume capture. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Element Block

**Slug:** `FULLSTORY_UPDATE_ELEMENT_BLOCK`

Fully replace an editable beta FullStory element recording or masking rule. Requires an Admin API key. This is an irreversible privacy configuration update, not a patch: read the existing rule first and provide every required replacement field. An incorrect selector, UNMASK action, or live scope can expose sensitive data, while EXCLUDE or MASK can suppress desired recording.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Complete replacement rule name. |
| `source` | object | Yes | Complete replacement selector source; existing source values are not merged. |
| `rule_id` | string | Yes | ID of the editable custom element-block rule to replace. Read the existing rule first; built-in rules may not support this update. |
| `operation` | object | Yes | Complete replacement privacy action, consent behavior, and session scope; existing operation values are not merged. |
| `platforms` | array | Yes | Complete replacement platform list. Existing platforms omitted from this list will no longer be targeted. |
| `description` | string | No | Complete replacement administrator notes explaining why the rule exists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Extraction Rule

**Slug:** `FULLSTORY_UPDATE_EXTRACTION_RULE`

Partially update a FullStory beta extraction rule using last-write-wins semantics. Provide at least one of name, description, source, or mappings. Omitted fields remain unchanged; read the current rule first. Warning: changing a rule's source or mappings changes what FullStory captures and may affect privacy, downstream analytics, and data volume.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement rule name. Omit to leave the current name unchanged. |
| `source` | object | No | Complete replacement source definition. Omit to leave it unchanged. Changing the source changes what FullStory captures and may affect privacy. |
| `rule_id` | string | Yes | Extraction rule ID returned by the beta extraction rules API. |
| `mappings` | array | No | Complete replacement mappings. Omit to leave them unchanged. Changing mappings changes extracted data and may affect privacy and data volume. |
| `description` | string | No | Replacement description. Omit to leave it unchanged; pass an empty string to clear it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert User

**Slug:** `FULLSTORY_UPSERT_USER`

Create or update one FullStory user. Supplying fullstory_user_id updates that record; otherwise uid identifies an upsert. This mutates personal profile data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | No | Application-defined user ID. Required when fullstory_user_id is omitted and immutable after a user is identified. |
| `email` | string | No | User email address. |
| `schema` | object | No | Schema declarations that override inferred custom-property types. |
| `properties` | object | No | Custom user properties. |
| `display_name` | string | No | User display name. |
| `idempotency_key` | string | No | Stable retry key that prevents duplicate create or upsert requests. Omit for an ID-based update. |
| `fullstory_user_id` | string | No | FullStory-generated ID to update. Omit to create or upsert by uid. When provided, also supply one or more mutable fields: uid for an anonymous user, display_name, email, properties, or schema. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
