Talon.One Loyalty API

Loyalty program balances, points, cards, and transactions.

OpenAPI Specification

talon-one-loyalty-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Talon.One Account Loyalty API
  description: 'Talon.One is an enterprise promotion, loyalty, and incentives engine. This OpenAPI description models the two primary REST surfaces Talon.One exposes. The Integration API (paths under /v1 and /v2 for customer_sessions, customer_profiles, events, coupon_reservations, referrals, loyalty_programs, audiences) pushes real-time customer data into the rules engine and returns the effects to apply. The Management API (paths under /v1 for applications, campaigns, coupons, loyalty_programs, audiences, attributes, collections, accounts, users, exports) administers the resources that back the Campaign Manager. Talon.One runs as a managed, per-customer deployment: replace the server base URL with your own deployment domain. Authenticate with the Authorization header - Integration keys use the ApiKey-v1 prefix and Management keys use the ManagementKey-v1 prefix. Endpoints and paths here are grounded in Talon.One''s public documentation and SDKs; request and response schemas are honestly simplified.'
  version: '1.0'
  contact:
    name: Talon.One
    url: https://docs.talon.one
servers:
- url: https://yourbaseurl.talon.one
  description: Per-customer Talon.One deployment (replace yourbaseurl with your deployment domain)
security:
- integrationKey: []
- managementKey: []
tags:
- name: Loyalty
  description: Loyalty program balances, points, cards, and transactions.
paths:
  /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points:
    get:
      operationId: getLoyaltyProfilePoints
      tags:
      - Loyalty
      summary: Get customer's loyalty points
      description: Return the active, pending, and expired points for a customer in a program.
      security:
      - integrationKey: []
      parameters:
      - $ref: '#/components/parameters/loyaltyProgramId'
      - $ref: '#/components/parameters/integrationId'
      responses:
        '200':
          description: The customer's loyalty points.
          content:
            application/json:
              schema:
                type: object
  /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances:
    get:
      operationId: getLoyaltyBalances
      tags:
      - Loyalty
      summary: Get customer's loyalty balances
      description: Return the current point balances (per subledger) for a customer profile.
      security:
      - integrationKey: []
      parameters:
      - $ref: '#/components/parameters/loyaltyProgramId'
      - $ref: '#/components/parameters/integrationId'
      responses:
        '200':
          description: The customer's loyalty balances.
          content:
            application/json:
              schema:
                type: object
  /v1/loyalty_programs/{loyaltyProgramId}/activate_points:
    post:
      operationId: activateLoyaltyPoints
      tags:
      - Loyalty
      summary: Activate pending points
      description: Activate pending loyalty points for the specified program.
      security:
      - integrationKey: []
      parameters:
      - $ref: '#/components/parameters/loyaltyProgramId'
      responses:
        '204':
          description: The points were activated.
  /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/add_points:
    put:
      operationId: addLoyaltyPoints
      tags:
      - Loyalty
      summary: Add points to customer
      description: Add loyalty points to a customer profile in a program. This is a Management API operation (ManagementKey-v1).
      security:
      - managementKey: []
      parameters:
      - $ref: '#/components/parameters/loyaltyProgramId'
      - $ref: '#/components/parameters/integrationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '204':
          description: The points were added.
  /v1/loyalty_programs:
    get:
      operationId: listLoyaltyPrograms
      tags:
      - Loyalty
      summary: List loyalty programs
      description: List the loyalty programs in the account.
      security:
      - managementKey: []
      responses:
        '200':
          description: A list of loyalty programs.
          content:
            application/json:
              schema:
                type: object
  /v1/loyalty_programs/{loyaltyProgramId}/cards/batch:
    post:
      operationId: createLoyaltyCards
      tags:
      - Loyalty
      summary: Create loyalty cards
      description: Create a batch of loyalty cards for a card-based loyalty program.
      security:
      - managementKey: []
      parameters:
      - $ref: '#/components/parameters/loyaltyProgramId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: The created loyalty cards.
          content:
            application/json:
              schema:
                type: object
components:
  parameters:
    loyaltyProgramId:
      name: loyaltyProgramId
      in: path
      required: true
      description: The identifier of the loyalty program.
      schema:
        type: string
    integrationId:
      name: integrationId
      in: path
      required: true
      description: The integration ID of the customer profile.
      schema:
        type: string
  securitySchemes:
    integrationKey:
      type: apiKey
      in: header
      name: Authorization
      description: 'Integration API key with the ApiKey-v1 prefix, e.g. header "Authorization: ApiKey-v1 <your-key>".'
    managementKey:
      type: apiKey
      in: header
      name: Authorization
      description: 'Management API key with the ManagementKey-v1 prefix, e.g. header "Authorization: ManagementKey-v1 <your-key>".'