Splio Sales data API

The Sales data API from Splio — 14 operation(s) for sales data.

Operations 18

GET /data/v1/orders List orders
POST /data/v1/orders Create an order/cart
DELETE /data/orders/{id} Delete an order/cart
GET /data/v1/orders/{id} Get an order/cart
GET /data/v2/orders/{id} Get an order/cart with its status
PATCH /data/v3/orders/{id} Edit an order/cart
GET /data/v1/orders/abandoned List abandoned carts
GET /data/v2/orders List orders with their status
GET /data/v1/products List products
POST /data/v1/products Create a product
DELETE /data/products/{id} Delete a product
GET /data/v1/products/{id} Get a product
PATCH /data/v1/products/{id} Edit a product
GET /data/v1/stores List stores
POST /data/v1/stores Create a store
DELETE /data/stores/{id} Delete a store
GET /data/v1/stores/{id} Get a store
PATCH /data/v2/stores/{id} Edit a store

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-sales-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

splio-sales-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Splio Sales data API
  version: 1.0.0
  description: 'Operations tagged Sales data across 2 of this provider''s published API definitions: splio-doc-swagger2.json, splio-customer-platform-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.splio.com
- url: http://api.splio.com
tags:
- name: Sales data
paths:
  /data/v1/orders:
    get:
      summary: List orders
      description: Get the list of orders.
      parameters:
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          default: 50
          maximum: 1000
          minimum: 1
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: fields
        in: query
        required: false
        description: Use a combination of field, operator and searched value. It will return orders that matched your search. Fields available on search in orders are 'external_id', 'shipping_amount', 'discount_amount', 'total_price', 'tax_amount', 'currency', 'sales_person', 'created_at', 'ordered_at' and custom fields numbers (0, 1, 2, ...)
        schema:
          type: array
          items:
            example:
            - key: external_id
              operator: equal
              value: CGX00000945842
            properties:
              key:
                description: search fields, in contacts
                type: string
                enum:
                - external_id
                - shipping_amount
                - discount_amount
                - total_price
                - tax_amount
                - currency
                - sales_person
                - created_at
                - ordered_at
              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: Orders retrieval is successful.
          content:
            application/json:
              example:
                count_element: 2
                current_page: 1
                sort:
                  id: desc
                elements:
                - external_id: 3
                  created_at: '2017-12-26 10:09:12'
                  ordered_at: '2017-12-26 10:09:12'
                  shipping_amount: 15.24
                  discount_amount: 0
                  total_price: 1337.42
                  tax_amount: 0.5
                  currency: EUR
                  sales_person: John Doe
                  contact:
                    id: 5
                    contact_id: jdoe@email.com
                    name: Doe
                    firstname: John
                  store:
                    external_id: '5'
                    name: champs élysée
                  custom_fields:
                  - id: 0
                    name: id_mail
                    value: S2G1190284746300227
                  - id: 1
                    name: id_lien
                    value: N1190284R746383111
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    post:
      summary: Create an order/cart
      description: Create an order or an abandoned cart.
      responses:
        '201':
          description: Order creation is successful.
          content:
            application/json:
              example:
                external_id: my_order12348
                contact_id: jdoe@email.com
                contact:
                  lastname: Hervet
                  firstname: Geoffrey
                  id: 1
                  contact_id: jdoe@email.com
                created_at: '2018-07-15 18:45:00'
                ordered_at: '2018-07-15 18:45:00'
                shipping_amount: 0
                discount_amount: 0
                total_price: 1.55
                tax_amount: 0.55
                sales_person: Mark Watney
                currency: EUR
                products:
                - external_id: '10'
                  name: Color Riche  - Vernis
                  description: 140 Martinez Cobal
                  brand: L'Oréal Paris
                  unit_price: 10.25
                  quantity: 2
                  discount_amount: 0
                  tax_amount: 0
                  currency: EUR
                  total_line_amount: 20.5
                loyalty:
                  card_code: C0111191
                  id_program: 2
                store:
                  external_id: '2'
                  name: Champs élysées
                  online: false
                  store_type: retail
                  manager: Eric Sloane
                custom_fields:
                - id: 0
                  name: id_mail
                  value: ''
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
      requestBody:
        content:
          application/json:
            schema:
              required:
              - external_id
              - store_external_id
              - contact_id
              properties:
                external_id:
                  example: my_order_123
                  type: string
                contact_id:
                  example: jdoe@email.com
                  type: string
                card_code:
                  example: my_card_code
                  type: string
                store_external_id:
                  example: ext_madeleine
                  type: string
                ordered_at:
                  description: When the order was purchased (local timezone).
                  example: '2018-01-12 15:00:00'
                  type: string
                  pattern: ^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$
                discount_amount:
                  example: 0.25
                  type: number
                shipping_amount:
                  example: 0.75
                  type: number
                total_price:
                  example: 1.55
                  type: number
                tax_amount:
                  example: 0.55
                  type: number
                completed:
                  description: Order is purchased or not
                  example: 'false'
                  type: boolean
                  default: true
                sales_person:
                  example: John Doe
                  type: string
                currency:
                  example: EUR
                  type: string
                products:
                  example:
                  - product_id: '10'
                    unit_price: '25'
                    quantity: 2
                    discount_amount: 0
                    tax_amount: 0
                    currency: EUR
                    total_line_amount: '50'
                  items:
                    properties:
                      product_id:
                        type: string
                      unit_price:
                        type: number
                      quantity:
                        type: integer
                      discount_amount:
                        type: number
                      tax_amount:
                        type: number
                      currency:
                        type: string
                      total_line_amount:
                        type: number
                    type: object
                  type: array
                custom_fields:
                  example:
                  - name: foo
                    value: bar
                  - name: foo2
                    value: bar2
                  items:
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      value:
                        type: string
                    type: object
                  type: array
              type: object
        description: Order data.
        required: true
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/orders/{id}:
    delete:
      summary: Delete an order/cart
      description: Delete an order or an abandoned cart.
      parameters:
      - name: id
        in: path
        required: true
        description: Order's external identifier.
        schema:
          type: string
          pattern: .+
      responses:
        '204':
          description: Order is successfully deleted.
          content:
            application/json:
              example: []
        '404':
          description: Order not found.
          content:
            application/json:
              example:
                status: 404
                errors:
                - error_key: ext_id
                  error: wrong_value
                  error_description: Order not found for given identifier.
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v1/orders/{id}:
    get:
      summary: Get an order/cart
      description: Get a order or an abandoned cart data based on its external_id.
      parameters:
      - name: id
        in: path
        required: true
        description: Order's external identifier.
        schema:
          type: string
          pattern: .+
      responses:
        '200':
          description: Order retrieval is successful.
          content:
            application/json:
              example:
                external_id: my_order12348
                contact_id: jdoe@email.com
                contact:
                  lastname: Hervet
                  firstname: Geoffrey
                  id: 1
                  contact_id: jdoe@email.com
                created_at: '2018-07-15 18:45:00'
                ordered_at: '2018-07-15 18:45:00'
                shipping_amount: 0
                discount_amount: 0
                total_price: 0.5
                tax_amount: 0.2
                sales_person: Mark Watney
                currency: EUR
                products:
                - external_id: '10'
                  name: Color Riche  - Vernis
                  description: 140 Martinez Cobal
                  brand: L'Oréal Paris
                  unit_price: 10.25
                  quantity: 2
                  discount_amount: 0
                  tax_amount: 0
                  currency: EUR
                  total_line_amount: 20.5
                loyalty:
                  card_code: C0111191
                  id_program: 2
                store:
                  external_id: '2'
                  name: Champs élysées
                  online: false
                  store_type: retail
                  manager: Eric Sloane
                custom_fields:
                - id: 0
                  name: id_mail
                  value: ''
        '404':
          description: Order not found.
          content:
            application/json:
              example:
                status: 404
                errors:
                - error_key: ext_id
                  error: wrong_value
                  error_description: Order not found for given identifier.
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v2/orders/{id}:
    get:
      summary: Get an order/cart with its status
      description: Get a order or an abandoned cart based on its external_id, and get the status associated to the order as well.
      parameters:
      - name: id
        in: path
        required: true
        description: Order's external identifier.
        schema:
          type: string
          pattern: .+
      responses:
        '200':
          description: Order retrieval is successful.
          content:
            application/json:
              example:
                external_id: my_order12348
                contact_id: jdoe@email.com
                contact:
                  lastname: Hervet
                  firstname: Geoffrey
                  id: 1
                  contact_id: jdoe@email.com
                created_at: '2018-07-15 18:45:00'
                ordered_at: '2018-07-15 18:45:00'
                shipping_amount: 0
                discount_amount: 0
                total_price: 0.5
                tax_amount: 0.2
                sales_person: Mark Watney
                currency: EUR
                products:
                - external_id: '10'
                  name: Color Riche  - Vernis
                  description: 140 Martinez Cobal
                  brand: L'Oréal Paris
                  unit_price: 10.25
                  quantity: 2
                  discount_amount: 0
                  tax_amount: 0
                  currency: EUR
                  status: paid
                  total_line_amount: 20.5
                loyalty:
                  card_code: C0111191
                  id_program: 2
                store:
                  external_id: '2'
                  name: Champs élysées
                  online: false
                  store_type: retail
                  manager: Eric Sloane
                custom_fields:
                - id: 0
                  name: id_mail
                  value: ''
                status: paid
                status_lastupdate: '2018-07-15 18:45:00'
        '404':
          description: Order not found.
          content:
            application/json:
              example:
                status: 404
                errors:
                - error_key: ext_id
                  error: wrong_value
                  error_description: Order not found for given identifier.
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v3/orders/{id}:
    patch:
      summary: Edit an order/cart
      description: Edit an entire order or an abandoned cart with its custom fields.
      parameters:
      - name: id
        in: path
        required: true
        description: Order's external identifier.
        schema:
          type: string
          pattern: .+
      responses:
        '200':
          description: Order data.
          content:
            application/json:
              example:
                external_id: my_order12348
                contact_id: jdoe@email.com
                contact:
                  lastname: Hervet
                  firstname: Geoffrey
                  id: 1
                  contact_id: jdoe@email.com
                created_at: '2018-07-15 18:45:00'
                ordered_at: '2018-07-15 18:45:00'
                shipping_amount: 0
                discount_amount: 0
                total_price: 1.55
                tax_amount: 0.55
                sales_person: Mark Watney
                currency: EUR
                products:
                - external_id: '10'
                  name: Color Riche  - Vernis
                  description: 140 Martinez Cobal
                  brand: L'Oréal Paris
                  unit_price: 10.25
                  quantity: 2
                  discount_amount: 0
                  tax_amount: 0
                  currency: EUR
                  total_line_amount: 20.5
                loyalty:
                  card_code: C0111191
                  id_program: 2
                store:
                  external_id: '2'
                  name: Champs élysées
                  online: false
                  store_type: retail
                  manager: Eric Sloane
                custom_fields:
                - id: 0
                  name: id_mail
                  value: ''
        '404':
          description: Order not found.
          content:
            application/json:
              example:
                status: 404
                errors:
                - error_key: ext_id
                  error: wrong_value
                  error_description: Order not found for given identifier.
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
      requestBody:
        content:
          application/json:
            schema:
              properties:
                contact_id:
                  example: jdoe@email.com
                  type: string
                store_external_id:
                  example: ext_madeleine
                  type: string
                ordered_at:
                  description: When the order was purchased (local timezone).
                  example: '2018-01-12 15:00:00'
                  type: string
                  pattern: ^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$
                discount_amount:
                  example: 0.25
                  type: number
                shipping_amount:
                  example: 0.75
                  type: number
                total_price:
                  example: 1.55
                  type: number
                tax_amount:
                  example: 0.55
                  type: number
                sales_person:
                  example: John Doe
                  type: string
                completed:
                  description: Order is purchased or not
                  example: 'false'
                  type: boolean
                currency:
                  example: EUR
                  type: string
                products:
                  description: empty array will erase existing order lines. In order to avoid deleting data, either don't specify 'products' or set it to null
                  example:
                  - product_id: '10'
                    unit_price: '25'
                    quantity: 2
                    discount_amount: 0
                    tax_amount: 0
                    currency: EUR
                    total_line_amount: '50'
                  items:
                    properties:
                      product_id:
                        type: string
                      unit_price:
                        type: number
                      quantity:
                        type: integer
                      discount_amount:
                        type: number
                      tax_amount:
                        type: number
                      currency:
                        type: string
                      total_line_amount:
                        type: number
                    type: object
                  type: array
                custom_fields:
                  description: custom fields is patched too so you can only set some of them, other custom fields will not be changed
                  example:
                  - name: foo
                    value: bar
                  - name: foo2
                    value: bar2
                  items:
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      value:
                        type: string
                    type: object
                  type: array
              type: object
        description: Order data.
        required: true
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v1/orders/abandoned:
    get:
      summary: List abandoned carts
      description: Get the list of abandoned carts.
      parameters:
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          default: 50
          maximum: 1000
          minimum: 1
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: fields
        in: query
        required: false
        description: Use a combination of field, operator and searched value. It will return abandoned carts that matched your search. Fields available on search in abandoned carts are 'external_id', 'shipping_amount', 'discount_amount', 'total_price', 'tax_amount', 'currency', 'sales_person', 'created_at', 'ordered_at' and custom fields numbers (0, 1, 2, ...)
        schema:
          type: array
          items:
            example:
            - key: external_id
              operator: equal
              value: CGX00000945842
            properties:
              key:
                description: search fields, in contacts
                type: string
                enum:
                - external_id
                - shipping_amount
                - discount_amount
                - total_price
                - tax_amount
                - currency
                - sales_person
                - created_at
                - ordered_at
              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: Abandoned carts retrieval is successful.
          content:
            application/json:
              example:
                count_element: 2
                current_page: 1
                sort:
                  id: ASC
                elements:
                - external_id: 3
                  created_at: '2017-12-26 10:09:12'
                  ordered_at: null
                  shipping_amount: 15.24
                  discount_amount: 0
                  total_price: 1337.42
                  tax_amount: 0.42
                  currency: EUR
                  sales_person: John Doe
                  contact:
                    id: 5
                    contact_id: jdoe@email.com
                    name: Doe
                    firstname: John
                  store: null
                  custom_fields:
                  - id: 0
                    name: id_mail
                    value: S2G1190284746300227
                  - id: 1
                    name: id_lien
                    value: N1190284R746383111
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v2/orders:
    get:
      summary: List orders with their status
      description: Get the list of orders with their status.
      parameters:
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          default: 50
          maximum: 1000
          minimum: 1
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: fields
        in: query
        required: false
        description: Use a combination of field, operator and searched value. It will return orders that matched your search. Fields available on search in orders are 'external_id', 'shipping_amount', 'discount_amount', 'total_price', 'tax_amount', 'currency', 'sales_person', 'created_at', 'ordered_at' and custom fields numbers (0, 1, 2, ...)
        schema:
          type: array
          items:
            example:
            - key: external_id
              operator: equal
              value: CGX00000945842
            properties:
              key:
                description: search fields, in contacts
                type: string
                enum:
                - external_id
                - shipping_amount
                - discount_amount
                - total_price
                - tax_amount
                - currency
                - sales_person
                - created_at
                - ordered_at
              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: Orders retrieval is successful.
          content:
            application/json:
              example:
                count_element: 2
                current_page: 1
                sort:
                  id: desc
                elements:
                - external_id: 3
                  created_at: '2017-12-26 10:09:12'
                  ordered_at: '2017-12-26 10:09:12'
                  shipping_amount: 15.24
                  discount_amount: 0
                  total_price: 1337.42
                  tax_amount: 0.5
                  currency: EUR
                  sales_person: John Doe
                  contact:
                    id: 5
                    contact_id: jdoe@email.com
                    name: Doe
                    firstname: John
                  store:
                    external_id: '5'
                    name: champs élysée
                  custom_fields:
                  - id: 0
                    name: id_mail
                    value: S2G1190284746300227
                  - id: 1
                    name: id_lien
                    value: N1190284R746383111
                  status: paid
                  status_lastupdate: '2018-07-15 18:45:00'
        '400':
          description: The request validation failed.
          x-readme: BODYBODY
          content:
            application/json:
              example:
                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:
      - Sales data
      security:
      - Bearer: []
    servers:
    - url: https://api.splio.com
    - url: http://api.splio.com
  /data/v1/products:
    get:
      summary: List products
      description: Get the list of products.
      parameters:
      - name: per_page
        in: query
        required: false
        description: Number of items displayed per page.
        schema:
          type: integer
          default: 50
          maximum: 1000
          minimum: 1
      - name: page_number
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: fields
        in: query
        required: false
        description: Use a combination of field, operator and searched value. It will return products that matched your search. Fields available on search in products are 'external_id', 'name', 'brand', 'price' and custom fields numbers (0, 1, 2, ...)
        schema:
          type: array
          items:
            example:
            - key: name
              operator: equal
              value: Gloss
            properties:
              key:
                description: search fields, in contacts
                type: string
                enum:
                - external_id
                - name
                - brand
                - price
                - c0
                - c1
              operator:
                description: operator for search operators are limited by the type of value expected
                type: string
                enum:
                - is
                - after
                - before
                - contains
                - ends
                - equal
                - greater


# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splio/refs/heads/main/openapi/splio-sales-data-api-openapi.yml