Talon.One Customer data API

Represents the data of a customer, including sessions and events used for reporting and debugging in the Campaign Manager.

Operations 14

GET /v1/applications/{applicationId}/customers List application's customers #
POST /v1/applications/{applicationId}/customer_search List application customers matching the given attributes #
POST /v1/customer_search/no_total List customer profiles matching the given attributes #
GET /v1/customers/{customerId} Get customer profile #
GET /v1/customers/no_total List customer profiles #
GET /v1/applications/{applicationId}/customers/{customerId} Get application's customer #
GET /v1/applications/{applicationId}/customer_activity_reports/no_total Get Activity Reports for Application Customers #
GET /v1/applications/{applicationId}/customer_activity_reports/{customerId} Get customer's activity report #
GET /v1/applications/{applicationId}/customers/{customerId}/analytics Get customer's analytics report #
GET /v1/applications/{applicationId}/sessions List Application sessions #
POST /v1/applications/{applicationId}/sessions_search List Application sessions matching the given customer attributes #
GET /v1/applications/{applicationId}/sessions/{sessionId} Get Application session #
GET /v1/applications/{applicationId}/events/no_total List Applications events #
GET /v1/applications/{applicationId}/event_types List Applications event types #

Documentation

Specifications

Other Resources

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/talon-one-customer-data-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 email required.

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

OpenAPI Specification

talon-one-customer-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Management Customer data API
  version: ''
  description: "The Management API allows you to programmatically do what the Campaign Manager\ndoes. Use this API for back-office operations such as campaign\nand coupon management, maintenance jobs, and bulk operations.\n\nFor more background information about this API, see\n[Management API overview](https://docs.talon.one/docs/dev/management-api/overview).\n\n> [!note] **Are you looking for a different API?**\n> - To integrate with Talon.One directly and send real-time data, see the [Integration API](https://docs.talon.one/integration-api).\n> - To integrate with Talon.One from a CEP or CDP platform, see the [Third-party API](https://docs.talon.one/third-party-api).\n\n## Authentication\n\nManagement API keys are scoped to a user account and become invalid if the user is\ndeactivated or removed from the organization. Use a dedicated service account to\ncreate keys for production integrations.\n\nFor details on generating and managing API keys, see\n[Manage Management API keys](https://docs.talon.one/docs/product/account/dev-tools/manage-mapi-keys).\n\n## Security\n\nConsider the following recommendations:\n- Store API keys securely via environment variables or by using a secret management system.\n- Only call this API from backend services.\n- Implement HTTPS for all communication with the API to ensure data privacy and security.\n- Create [user roles](https://docs.talon.one/docs/product/account/account-settings/manage-roles)\n  reflecting your own company hierarchies.\n\n## Response codes and error handling\n\nTalon.One uses conventional HTTP response codes to indicate the success or failure of an API request.\nCodes in the `2xx` range indicate success. Codes in the `4xx` range indicate the request failed based\non the information provided. Codes in the `5xx` range indicate an error with Talon.One servers.\n\nError responses include a `message` that summarizes what went wrong. Use it for logging and debugging.\n\nWhen a request has one or more specific problems, the `errors` array lists each one separately:\n- `title` gives a short description of the problem\n- `source` shows where the error originated, for example, using a `pointer` property indicating the\n  problematic property in the request body.\n\n| Code | Description | Action |\n|------|-------------|--------|\n| `2xx` | Success | None. |\n| `400` | Bad request | Fix the request (for example, a missing or invalid parameter). Not retryable. |\n| `401` | Unauthorized | Provide a valid API key. Not retryable. |\n| `404` | Not found | Check the resource path or ID. Not retryable. |\n| `409` | Conflict | If you are creating a resource, use a unique resource name/ID. Generally not retryable. |\n| `429` | Rate limit exceeded | Retry with exponential backoff. |\n| `5xx` | Server error | Retry with exponential backoff. |\n\n## URL encoding\n\nEncode all path and query parameter values that contain special characters. This applies to\ncustomer profile IDs, session IDs, coupon codes, and any other user-supplied string passed as\na URL segment or query parameter.\n\nFor example, encode a `10$OFF_NOW` coupon code as `10%24OFF_NOW` before\nincluding it in a request URL.\n\nRequests with unencoded special characters may be misrouted or return unexpected errors.\n\nFor more information, see [HTML URL Encoding Reference](https://www.w3schools.com/tags/ref_urlencode.asp).\n\n## MCP server (closed beta)\n\nTalon.One provides an MCP server that gives AI agents\nread-only access to your campaigns, customers, coupons, and loyalty programs,\nso they can answer questions about your campaigns and customers in plain language.\n\nAgents can explain campaign rule logic, check campaign status and budgets, analyze customer point\nbalances and tier status, and investigate failed API requests.\n\nTo connect, append `/v1/mcp/entrypoint` to your Talon.One deployment URL and authenticate with an MCP\nconnection API key generated in **Campaign Manager > Account > Tools > MCP Connections**.\n\nThe server is compatible with Claude Desktop, Claude Code, Cursor, Gemini CLI, ChatGPT CLI,\nCodex CLI, and other stdio-compatible MCP clients.\n\nFor more information, see [Talon.One MCP server](https://docs.talon.one/docs/dev/mcp).\n\n## Rate limiting\n\nThis API is **not** meant to be used in real-time integrations that directly serve your end users.\nIt supports a maximum of **3 requests per second** for each of these endpoints.\nFor real-time integrations use the [Integration API](https://docs.talon.one/integration-api).\n"
servers:
- url: https://yourbaseurl.talon.one
security:
- manager_auth: []
- management_key: []
tags:
- name: Customer data
  description: 'Represents the data of a customer, including sessions and events used for reporting and debugging in the Campaign Manager.

    '
paths:
  /v1/applications/{applicationId}/customers:
    get:
      operationId: getApplicationCustomers
      summary: List application's customers
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        List all the customers of the specified application.'
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/applicationId'
      - name: integrationId
        in: query
        description: Filter results performing an exact matching against the profile integration identifier.
        example: customer1
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: withTotalResultSize
        in: query
        description: 'When this flag is set, the result includes the total number of results for this query. This might decrease performance on large data sets.


          - When `true`: `totalResultSize` contains the total number of results for this query.

          - When `false`: Only `hasMore` is returned, and it is set to `true` when there are more results than shown on the page.

          '
        example: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  totalResultSize:
                    type: integer
                    example: 1
                  hasMore:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApplicationCustomer'
  /v1/applications/{applicationId}/customer_search:
    post:
      operationId: getApplicationCustomersByAttributes
      summary: List application customers matching the given attributes
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Get a list of the application customers matching the provided criteria.


        The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/applicationId'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: withTotalResultSize
        in: query
        description: 'When this flag is set, the result includes the total number of results for this query. This might decrease performance on large data sets.


          - When `true`: `totalResultSize` contains the total number of results for this query.

          - When `false`: Only `hasMore` is returned, and it is set to `true` when there are more results than shown on the page.

          '
        example: false
        schema:
          type: boolean
      requestBody:
        $ref: '#/components/requestBodies/CustomerProfileSearchQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  hasMore:
                    type: boolean
                  totalResultSize:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApplicationCustomer'
  /v1/customer_search/no_total:
    post:
      operationId: getCustomersByAttributes
      summary: List customer profiles matching the given attributes
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Get a list of the customer profiles matching the provided criteria.


        The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: sandbox
        in: query
        description: Indicates whether you are pointing to a sandbox or live customer.
        example: false
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        $ref: '#/components/requestBodies/CustomerProfileSearchQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  hasMore:
                    type: boolean
                  totalResultSize:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerProfile'
  /v1/customers/{customerId}:
    get:
      operationId: getCustomerProfile
      summary: Get customer profile
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Return the details of the specified customer profile.


        > [!note]

        > You can retrieve the same information via the Integration API, which can save you extra API requests. Consider these options:

        > - Request the customer profile to be part of the response content using

        >   [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2).

        > - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`.

        '
      tags:
      - Customer data
      parameters:
      - name: customerId
        in: path
        description: 'The value of the `id` property of a customer profile. Get it with the

          [List Application''s customers](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationCustomers) endpoint.

          '
        example: 3778
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerProfile'
  /v1/customers/no_total:
    get:
      operationId: getCustomerProfiles
      summary: List customer profiles
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        List all customer profiles.'
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: sandbox
        in: query
        description: Indicates whether you are pointing to a sandbox or live customer.
        example: false
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - hasMore
                - data
                properties:
                  hasMore:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerProfile'
  /v1/applications/{applicationId}/customers/{customerId}:
    get:
      operationId: getApplicationCustomer
      summary: Get application's customer
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Retrieve the customers of the specified application.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/applicationId'
      - name: customerId
        in: path
        description: 'The value of the `id` property of a customer profile. Get it with the

          [List Application''s customers](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationCustomers) endpoint.

          '
        example: 3778
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationCustomer'
  /v1/applications/{applicationId}/customer_activity_reports/no_total:
    get:
      operationId: getCustomerActivityReportsWithoutTotalCount
      summary: Get Activity Reports for Application Customers
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Fetch summary reports for all application customers based on a time range. Instead of having the total number of results

        in the response, this endpoint only mentions whether there are more results.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/sort'
      - name: rangeStart
        in: query
        required: true
        description: 'Only return results from after this timestamp.


          > [!note] **Note**

          > - This must be an RFC3339 timestamp string.

          > - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting

          >   considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.

          '
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: rangeEnd
        in: query
        required: true
        description: 'Only return results from before this timestamp.


          > [!note] **Note**

          > - This must be an RFC3339 timestamp string.

          > - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting

          >   considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.

          '
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/applicationId'
      - name: name
        in: query
        description: Only return reports matching the customer name.
        example: customer1
        required: false
        schema:
          type: string
      - name: integrationId
        in: query
        description: Filter results performing an exact matching against the profile integration identifier.
        example: customer1
        required: false
        schema:
          type: string
      - name: campaignName
        in: query
        description: Only return reports matching the campaign name.
        example: campaign1
        required: false
        schema:
          type: string
      - name: advocateName
        in: query
        description: Only return reports matching the current customer referrer name.
        example: advocate1
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - hasMore
                - data
                properties:
                  hasMore:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerActivityReport'
  /v1/applications/{applicationId}/customer_activity_reports/{customerId}:
    get:
      operationId: getCustomerActivityReport
      summary: Get customer's activity report
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Fetch the summary report of a given customer in the given application, in a time range.'
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: rangeStart
        in: query
        required: true
        description: 'Only return results from after this timestamp.


          > [!note] **Note**

          > - This must be an RFC3339 timestamp string.

          > - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting

          >   considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.

          '
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: rangeEnd
        in: query
        required: true
        description: 'Only return results from before this timestamp.


          > [!note] **Note**

          > - This must be an RFC3339 timestamp string.

          > - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting

          >   considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.

          '
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/applicationId'
      - name: customerId
        in: path
        description: 'The value of the `id` property of a customer profile. Get it with the

          [List Application''s customers](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationCustomers) endpoint.

          '
        example: 3778
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerActivityReport'
  /v1/applications/{applicationId}/customers/{customerId}/analytics:
    get:
      operationId: getCustomerAnalytics
      summary: Get customer's analytics report
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Fetch analytics for a given customer in the given application.'
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/applicationId'
      - name: customerId
        in: path
        description: 'The value of the `id` property of a customer profile. Get it with the

          [List Application''s customers](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationCustomers) endpoint.

          '
        example: 3778
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAnalytics'
  /v1/applications/{applicationId}/sessions:
    get:
      operationId: getApplicationSessions
      summary: List Application sessions
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        List all the sessions of the specified Application.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/sort'
      - name: partialMatch
        in: query
        required: false
        description: 'Enables partial matching for a single text search field. When enabled, the search term matches anywhere within the field value (case-insensitive). Minimum 3 characters required for partial matches; shorter inputs automatically fall back to exact match.


          **Note:** Use with one of: `integrationId`, `profile`, `coupon`, `referral`, or `storeIntegrationId`.'
        example: false
        schema:
          type: boolean
          default: false
      - name: profile
        in: query
        required: false
        description: Filter by sessions with this profile integration ID. By default, requires exact match. Use `partialMatch=true` to search for partial matches (minimum 3 characters).
        example: customer1
        schema:
          type: string
      - name: state
        in: query
        required: false
        description: Filter by sessions with this state. Must be exact match.
        example: open
        schema:
          type: string
          enum:
          - open
          - closed
          - partially_returned
          - cancelled
      - name: createdBefore
        in: query
        description: Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally.
        required: false
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: createdAfter
        in: query
        description: Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally.
        required: false
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: coupon
        in: query
        required: false
        description: Filter by sessions with this coupon. By default, requires exact match. Use `partialMatch=true` to search for partial matches (minimum 3 characters).
        example: SUMMER10
        schema:
          type: string
      - name: referral
        in: query
        required: false
        description: Filter by sessions with this referral. By default, requires exact match. Use `partialMatch=true` to search for partial matches (minimum 3 characters).
        example: WPCNAQ5C
        schema:
          type: string
      - name: integrationId
        in: query
        required: false
        description: Filter by sessions with this integration ID. By default, requires exact match. Use `partialMatch=true` to search for partial matches (minimum 3 characters).
        example: STORE-123-REGION-WEST
        schema:
          type: string
      - name: storeIntegrationId
        in: query
        required: false
        description: The integration ID of the store. You choose this ID when you create a store. By default, requires exact match. Use `partialMatch=true` to search for partial matches (minimum 3 characters).
        example: store1
        schema:
          type: string
      - $ref: '#/components/parameters/applicationId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  hasMore:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApplicationSession'
  /v1/applications/{applicationId}/sessions_search:
    post:
      operationId: getApplicationSessionsByCustomerAttributes
      summary: List Application sessions matching the given customer attributes
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Get a list of the Application sessions matching the provided customer profile

        attributes.


        The match is successful if all the attributes of the request are found in a

        profile, even if the profile has more attributes that are not present on the

        request.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/applicationId'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - name: withTotalResultSize
        in: query
        description: 'When this flag is set, the result includes the total number of results for this query. This might decrease performance on large data sets.

          - When `true`: `totalResultSize` contains the total number of results for this query.

          - When `false`: Only `hasMore` is returned, and it is set to `true` when there are more results than shown on the page.

          '
        example: false
        schema:
          type: boolean
      requestBody:
        $ref: '#/components/requestBodies/CustomerProfileSearchQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  hasMore:
                    type: boolean
                  totalResultSize:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApplicationSession'
  /v1/applications/{applicationId}/sessions/{sessionId}:
    get:
      operationId: getApplicationSession
      summary: Get Application session
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Get the details of the given session.

        You can list the sessions with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/applicationId'
      - name: sessionId
        in: path
        description: 'The **internal** ID of the session. You can get the ID with the [List Application sessions](https://docs.talon.one/management-api#tag/Customer-data/operation/getApplicationSessions) endpoint.

          '
        example: 2533
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSession'
  /v1/applications/{applicationId}/events/no_total:
    get:
      operationId: getApplicationEventsWithoutTotalCount
      summary: List Applications events
      description: '> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.


        Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only mentions whether there are more results.

        '
      tags:
      - Customer data
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/sort'
      - name: type
        in: query
        required: false
        description: Comma-separated list of types by which to filter events. Must be exact match(es).
        example: talon_session_created,talon_session_updated
        schema:
          type: string
      - name: createdBefore
        in: query
        description: Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally.
        required: false
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: createdAfter
        in: query
        description: Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally.
        required: false
        example: '2024-05-29T15:04:05+07:00'
        schema:
          type: string
          format: date-time
      - name: session
        in: query
        required: false
        description: Session integration ID filter for events. Must be exact match.
        example: session1
        schema:
          type: string
      - name: profile
        in: query
        required: false
        description: Profile integration ID filter for events. Must be exact match.
        example: profile1
        schema:
          type: string
      - name: customerName
        in: query
        required: false
        description: Customer name filter for events. Will match substrings case-insensitively.
        example: customer1
        schema:
          type: string
          minLength: 2
      - name: customerEmail
        in: query
        required: false
        description: Customer e-mail address filter for events. Will match substrings case-insensitively.
        example: john@doe.com
        schema:
          type: string
          minLength: 2
      - name: couponCode
        in: query
        required: false
        description: Coupon code
        example: SUMMER10
        schema:
          type: string
      - name: referralCode
        in: query
        required: false
        description: Referral code
        example: WPCNAQ5C
        schema:
          type: string
      - name: ruleQuery
        in: query
        description: Rule name filter for events
        example: rule1
        required: false
        schema:
          type: string
      - name: campaignQuery
        in: query
        description: Campaign name filter for events
        example: campaign1
        required: false
        schema:
          type: string
      - name: effectType
        in: query
        description: The type of effect that was triggered. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
        example: rejectCoupon
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/applicationId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - hasMore
                - data
                properties:
                  hasMore:
                    type: boolean
                  data:
                    type: array
   

# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/talon-one/refs/heads/main/openapi/talon-one-customer-data-api-openapi.yml