---
title: "Experience"
description: "<p>API for creating and managing Experiences as well as all related and/or dependent models such as but not limited to Groups, Templates, Candidates, etc.</p>"
url: "https://www.contentstack.com/docs/developers/apis/lytics-api/v1/experience"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2026-11-05"
---

# Experience

API for creating and managing Experiences as well as all related and/or dependent models such as but not limited to Groups, Templates, Candidates, etc.

## List

### List

**GET** `/api/experience`

Endpoint fetches all Experience records available to provided authorization token as well as various side-loaded dependencies.

\_\_Sideloading\_\_: A variety of dependent or associated data will be side-loaded as part of the primary request. The list of side-loaded data for this particular request is:

\- All available Experience templates.

\- All parent groups one branch up the tree for returned Experiences.

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **limit** (optional)
  limit the number of Experience records returned
- **provider** (optional)
  id of provider to filter results by
- **deleted** (optional)
  include soft deleted Experiences

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Create

### Create

**POST** `/api/experience`

Endpoint creates a single Experience record.

\_\_Sideloading\_\_

\- None

\_\_Required Fields\_\_

\- label

\- vehicle.provider\_id

\- vehicle.tactic

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
Created
```

## Fetch

### Fetch

**GET** `/api/experience/{id}`

Endpoint fetches a single Experience record by id as well as various side-loaded dependencies.

\_\_Sideloading\_\_: A variety of dependent or associated data will be side-loaded as part of the primary request. The list of side-loaded data for this particular request is:

\- All parent groups all the way up the family tree for the Experience.

#### URL Parameters

- **id** (required)
  id of the experience. if orphan is passed as Experience it will list all Experiences with no parent.

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **deleted** (optional)
  include soft deleted Experiences

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Update

### Update

**PATCH** `/api/experience/{id}`

Endpoint updates a single Experience record.

\_\_Sideloading\_\_: None

#### URL Parameters

- **id** (required)
  id of the experience. if orphan is passed as Experience it will list all Experiences with no parent.

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **update_state** (optional)
  allow the state of the Experience to be altered, all other changes will be thrown out of this request when flag is true.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Delete

### Delete

**DELETE** `/api/experience/{id}`

Removes an Experience record.

#### URL Parameters

- **id** (required)
  id of the Experience

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **method** (optional)
  method to be used for deletion. hard deletes permanently and is unrecoverable. soft is default and deletes with ability to be recovered.
- **recursive** (optional)
  recursive delete will also delete all downstream dependencies.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
No Content
```

## Fetch

### Fetch

**GET** `/api/experience/import`

Request a list of importable Experiences from a third party provider such as Facebook or Iterable.

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **provider_slug** (required)
  slug of provider to fetch Experiences from
- **auth_id** (required)
  id of the authorization for the requested provider
- **include_existing** (optional)
  should the response include Experiences already imported

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Create

### Create

**POST** `/api/experience/import`

Creates Experiences in a batch based on valid Experience import records. This endpoint should be used exclusively with the results from the Experience import GET and not leveraged as a bulk Experience create.

\_\_Required Fields\_\_

\- all

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
Created
```

## List

### List

**GET** `/api/experience/template`

Fetches all Experience templates available to provided authorization token.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Create

### Create

**POST** `/api/experience/template`

Creates an Experience template.

\_\_Required Fields\_\_

\- all

\- see experience or group for nested requirements

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
Created
```

## Fetch

### Fetch

**GET** `/api/experience/template/{id}`

Fetches an Experience template by id.

#### URL Parameters

- **id** (required)
  id of the template

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Update

### Update

**PATCH** `/api/experience/template/{id}`

Updates an Experience template.

#### URL Parameters

- **id** (required)
  id of the template

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Delete

### Delete

**DELETE** `/api/experience/template/{id}`

Removes an Experience template.

#### URL Parameters

- **id** (required)
  id of the template

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
No Content
```

## List

### List

**GET** `/api/experience/candidate`

Fetches all Experience candidate records available to token.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Preview Config

### Preview Config

**GET** `/api/experience/preview/{accountid}/{id}/config.js`

Renders a JavaScript file containing a single Experiences Pathfora configuration for previewing a web personalize Experience.

#### URL Parameters

- **accountid** (required)
  id of the account
- **id** (required)
  id of the experience

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Production Config

### Production Config

**GET** `/api/experience/candidate/{accountid}/config.js`

Renders a JavaScript file containing all published Experiences Candidate Pathfora configurations.

#### URL Parameters

- **accountid** (required)
  id of the account

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## List

### List

**GET** `/api/experience/group`

Fetches all Experience Group records available to the authorization token.

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **limit** (optional)
  limit number of returned experience\_group records
- **deleted** (optional)
  include soft deleted records

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Create

### Create

**POST** `/api/experience/group`

Creates an Experience Group record.

\_\_Required Fields\_\_

\- label

\- class

\_\_Note\_\_: When creating a new Experience group you have the option of including either a set of nested Experiences or groups, not both, that belong to the new group. As a result, a prioritization record will be created in addition to each individual group or Experience itself being updated with the proper parent\_group\_id value. Likewise, passing an empty array \_\_WILL REMOVE\_\_ the ownership from the existing children. When no change is intended for nested Experiences or groups you should pass no value or null for both experiences and child\_groups.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
Created
```

## Fetch

### Fetch

**GET** `/api/experience/group/{id}`

Fetches an Experience Group record by id.

#### URL Parameters

- **id** (required)
  id of the group

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **deleted** (optional)
  include soft deleted records

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Update

### Update

**PATCH** `/api/experience/group/{id}`

Updates an Experience Group record.

\_\_Note\_\_: When updating an existing Experience group you have the option of including either a set of nested Experiences or groups, not both, that belong to the new group. As a result, a prioritization record will be created in addition to each individual group or Experience itself being updated with the proper parent\_group\_id value. Likewise, passing an empty array \_\_WILL REMOVE\_\_ the ownership from the existing children. When no change is intended for nested Experiences or groups you should pass no value or null for both experiences and child\_groups.

#### URL Parameters

- **id** (required)
  id of the group

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Delete

### Delete

**DELETE** `/api/experience/group/{id}`

Removes an Experience Group record.

#### URL Parameters

- **id** (required)
  id of the group

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **method** (optional)
  method to be used for deletion. hard deletes permanently and is unrecoverable. soft is default and deletes with ability to be recovered.
- **recursive** (optional)
  recursive delete will also delete all downstream dependencies.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
No Content
```

## List

### List

**GET** `/api/experience/prioritization`

Fetches all prioritization records available to token.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Create

### Create

**POST** `/api/experience/prioritization`

Creates a prioritization record.

\_\_Required Fields\_\_

\- all

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
Created
```

## Fetch

### Fetch

**GET** `/api/experience/prioritization/{id}`

Fetches a prioritization record by id.

#### URL Parameters

- **id** (required)
  id of the prioritization record

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Update

### Update

**PATCH** `/api/experience/prioritization/{id}`

Updates a prioritization record.

#### URL Parameters

- **id** (required)
  id of the prioritization record

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```

## Delete

### Delete

**DELETE** `/api/experience/prioritization/{id}`

Removes a prioritization record.

#### URL Parameters

- **id** (required)
  id of the prioritization record

#### Query Parameters

- **account_id** (optional)
  Your Lytics account ID.
- **method** (optional)
  method to be used for deletion. hard deletes permanently and is unrecoverable. soft is default and deletes with ability to be recovered.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
No Content
```

## Master Group Priority

### Master Group Priority

**POST** `/api/experience/group/priority`

Manages the unique top level Journey priority record for an account. Used only for managing hierarchy of Experience Groups classified as Journeys in the UI.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
OK
```