Splio Programs API

The Programs API from Splio — 4 operation(s) for programs.

Operations 4

GET /loyalty/programs List programs #
GET /loyalty/v1/programs/{id}/members List a program’s members #
GET /loyalty/programs/{id} Get a program #
GET /loyalty/programs/{id}/tiers List program's tiers #

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/splio-programs-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

splio-programs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Splio Customer Platform Programs API
  description: API Documentation for Splio Customer Platform
  version: 1.0.0
servers:
- url: https://api.splio.com
- url: http://api.splio.com
tags:
- name: Programs
paths:
  /loyalty/programs:
    get:
      summary: List programs
      description: Get programs formatted as a list.
      parameters:
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 50
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          minimum: 1
          default: 1
      responses:
        '200':
          description: Get Programs List.
          content:
            application/json:
              examples:
                response:
                  value:
                    count_element: 1
                    current_page: 1
                    per_page: 20
                    sort:
                      id: DESC
                    elements:
                    - id: 1
                      name: Program name
                      description: Program Description
                      type: simple
                      status: running
                      start_at: '0000-00-00 00:00:00'
                      end_at: '0000-00-00 00:00:00'
                      created_at: '0000-00-00 00:00:00'
                      updated_at: '0000-00-00 00:00:00'
                      cascading: false
                      downgrade_nb_rank: 0
                      max_q_points: null
                      max_nq_points: null
                      default_q_points_validity_id_period: 1
                      default_q_points_validity_days: null
                      default_q_points_holding_days: 8
                      default_nq_points_validity_id_period: null
                      default_nq_points_validity_days: 180
                      default_nq_points_holding_days: 0
                      rounding_type: round
                      default_points_to_amount_ratio: 1.75
                      auto_generated_card_code: true
                      automatic_subscription: true
                      q_refund_mode: cancel
                      nq_refund_mode: refund
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              examples:
                response:
                  value:
                    status: 400
                    errors:
                    - error_key: field_1
                      error: wrong_value
                      error_description: The request was malformed and it is unable to be processed. Please review and try again.
        '401':
          description: Authentication failed.
        '403':
          description: Forbidden.
      tags:
      - Programs
      security:
      - Bearer: []
      operationId: getLoyaltyPrograms
      x-operation-id-source: derived
  /loyalty/v1/programs/{id}/members:
    get:
      summary: List a program’s members
      description: Get loyalty memberships of a program.
      parameters:
      - name: id
        in: path
        required: true
        description: Program identifier.
        schema:
          type: integer
          pattern: \d+
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 50
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: fields
        in: query
        required: false
        description: Use a combination of field, operator and searched value. It will return contact statuses that matched your search. Fields available on search in orders are 'card_code', 'program_joined_at', 'card_expire_at', 'q_point', 'nq_point', 'tier', 'name', 'firstname'.
        style: form
        explode: false
        schema:
          type: array
          items:
            example:
            - key: card_code
              operator: equal
              value: '33010000001'
            properties:
              key:
                description: search fields, in rewards
                type: string
                enum:
                - card_code
                - program_joined_at
                - card_expire_at
                - q_point
                - nq_point
                - tier
                - name
                - firstname
              operator:
                description: operator for search operators are limited by the type of value expected
                type: string
                enum:
                - is
                - after
                - before
                - contains
                - ends
                - equal
                - greater
                - isnot
                - lower
                - notequal
                - starts
              value:
                type: string
            type: object
      responses:
        '200':
          description: List program's contact statuses
          content:
            application/json:
              examples:
                response:
                  value:
                    count_element: 1
                    current_page: 1
                    per_page: 10
                    sort: []
                    elements:
                    - card_code: '33010000001'
                      tier_joined_at: '2018-01-18 16:03:42'
                      program_joined_at: '2018-01-18 16:03:42'
                      card_expire_at: '2018-05-18 19:00:00'
                      computed_at: '2018-02-22 15:00:00'
                      q_point: 120
                      nq_point: 230
                      birthday: '1960-12-22'
                      tier: Gold
                      contact:
                        id: 1
                        contact_id: jdoe@email.com
                        lastname: Hervet
                        firstname: Geoffrey
                      custom_fields:
                      - id: 0
                        name: custom_field
                        value: This value is customized
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              examples:
                response:
                  value:
                    status: 400
                    errors:
                    - error_key: field_1
                      error: wrong_value
                      error_description: The request was malformed and it is unable to be processed. Please review and try again.
        '401':
          description: Authentication failed.
        '403':
          description: Forbidden.
        '404':
          description: Program not found.
          content:
            application/json:
              examples:
                response:
                  value:
                    status: 404
                    errors:
                    - error_key: id
                      error: wrong_value
                      error_description: Program not found.
      tags:
      - Programs
      security:
      - Bearer: []
      operationId: getLoyaltyV1ProgramsByIdMembers
      x-operation-id-source: derived
  /loyalty/programs/{id}:
    get:
      summary: Get a program
      description: Get a loyalty program data.
      parameters:
      - name: id
        in: path
        required: true
        description: Program identifier.
        schema:
          type: integer
          pattern: \d+
      - name: with_stats
        in: query
        required: false
        description: Display statistics of the program.
        schema:
          type: boolean
          default: false
      - name: metric
        in: query
        required: false
        description: Metric used as interval for statistics computation.
        schema:
          type: string
          default: month
      responses:
        '200':
          description: Get program data.
          content:
            '*/*':
              schema:
                example:
                  id: 1
                  name: Flying Blue
                  description: ''
                  type: simple
                  status: running
                  start_at: '2018-01-01 00:00:00'
                  end_at: null
                  created_at: '2018-01-01 00:00:00'
                  updated_at: '2018-01-04 12:55:13'
                  cascading: false
                  upgrade_compute_period:
                    id: 1
                    compute_type: upgrade
                    first_compute: '2018-01-15 15:00:00'
                    interval_type: days
                    interval_count: 3
                    last_run_date: null
                    next_run_date: null
                  downgrade_compute_period:
                    id: 1
                    compute_type: downgrade
                    first_compute: '2018-01-15 15:00:00'
                    interval_type: quarters
                    interval_count: 5
                    last_run_date: null
                    next_run_date: null
                  downgrade_nb_rank: 0
                  max_q_points: 0
                  max_nq_points: 0
                  default_q_points_validity_id_period: 14
                  default_q_points_validity_days: 160
                  default_q_points_holding_days: 8
                  default_nq_points_validity_id_period: 11
                  default_nq_points_validity_days: 190
                  default_nq_points_holding_days: 0
                  rounding_type: round
                  default_points_to_amount_ratio: 1.75
                  auto_generated_card_code: true
                  automatic_subscription: true
                  q_refund_mode: cancel
                  nq_refund_mode: refund
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              examples:
                response:
                  value:
                    status: 400
                    errors:
                    - error_key: field_1
                      error: wrong_value
                      error_description: The request was malformed and it is unable to be processed. Please review and try again.
        '401':
          description: Authentication failed.
        '403':
          description: Forbidden.
        '404':
          description: Program not found.
      tags:
      - Programs
      security:
      - Bearer: []
      operationId: getLoyaltyProgramsById
      x-operation-id-source: derived
  /loyalty/programs/{id}/tiers:
    get:
      summary: List program's tiers
      description: Get program's tiers formatted as a list.
      parameters:
      - name: id
        in: path
        required: true
        description: Program identifier.
        schema:
          type: integer
          pattern: \d+
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 50
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          minimum: 1
          default: 1
      responses:
        '200':
          description: List program's tiers
          content:
            '*/*':
              schema:
                example:
                  count_element: 2
                  current_page: 1
                  per_page: 10
                  sort:
                    id: DESC
                  elements:
                  - id: 2
                    name: Gold
                    created_at: '2017-12-26 10:00:00'
                    updated_at: '2017-12-26 10:00:00'
                    entry_threshold: 120
                    downgrade_threshold: 50
                    multiplier_q_points: 1
                    multiplier_nq_points: 1.2
                  - id: 1
                    name: Silver
                    created_at: '2017-12-26 10:00:00'
                    updated_at: '2017-12-26 15:00:00'
                    entry_threshold: 120
                    downgrade_threshold: 50
                    multiplier_q_points: 1
                    multiplier_nq_points: 1.2
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              examples:
                response:
                  value:
                    status: 400
                    errors:
                    - error_key: field_1
                      error: wrong_value
                      error_description: The request was malformed and it is unable to be processed. Please review and try again.
        '401':
          description: Authentication failed.
        '403':
          description: Forbidden.
        '404':
          description: Program not found.
      tags:
      - Programs
      security:
      - Bearer: []
      operationId: getLoyaltyProgramsByIdTiers
      x-operation-id-source: derived
components:
  securitySchemes:
    Bearer:
      description: "For accessing the API a valid JWT token must be passed in all requests in\nthe 'Authorization' header.\n\n\nA valid JWT token is generated by the Authorization API and returned as answer of a call\nto the route /authenticate giving a valid user, password & universe.\n\n\nThe following syntax must be used in the 'Authorization' header :\n\n    Bearer xxxxxx.yyyyyyy.zzzzzz\n"
      type: http
      scheme: bearer
      bearerFormat: JWT
x-origin:
- url: https://api.splio.com/doc.json
  format: swagger
  version: '2.0'
  converter:
    url: https://github.com/mermade/oas-kit
    version: 7.0.8