Lokki Offline API

The Offline API from Lokki — 1 operation(s) for offline.

Operations 1

POST /v2/offline/syncData #

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/lokki-offline-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

lokki-offline-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lokki Offline API
  description: The main API powering the Lokki Dashboard and Online Store
  version: '2.0'
  contact: {}
servers: []
security:
- x-access-token: []
tags:
- name: Offline
paths:
  /v2/offline/syncData:
    post:
      operationId: syncOfflineData
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncOfflineDataDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncOfflineDataAnomaliesResultDto'
      tags:
      - Offline
components:
  schemas:
    Status:
      type: object
      properties:
        category:
          type: string
        name:
          type: string
        color:
          type: string
        id:
          type: string
        statusId:
          type: string
      required:
      - category
      - name
      - color
      - id
      - statusId
    AttachedFile:
      type: object
      properties:
        name:
          type: string
        key:
          type: string
        size:
          type: number
        type:
          type: string
        uid:
          type: string
      required:
      - name
      - key
      - size
      - type
    PointSchema:
      type: object
      properties:
        type:
          type: string
        coordinates:
          type: array
          items:
            type: number
      required:
      - type
      - coordinates
    PromoCodeCreateOrderDto:
      type: object
      properties:
        code:
          type: string
        source:
          type: string
          enum:
          - COMPANY
          - LOKKI
        discountAmount:
          type: number
        discountType:
          type: string
        applyOnDelivery:
          type: boolean
        limitToNewCustomers:
          type: boolean
        limitToVerticales:
          type: array
          items:
            type: string
        limitToCompanies:
          type: array
          items:
            type: string
        appliedDiscountAmount:
          type: number
      required:
      - code
      - source
      - discountAmount
      - discountType
      - applyOnDelivery
    Delivery:
      type: object
      properties:
        status:
          type: boolean
        departureAddress:
          allOf:
          - $ref: '#/components/schemas/DeliveryAddress'
        departurePrice:
          type: number
        departureReferencePrice:
          type: number
        departureDeliveredDate:
          format: date-time
          type: string
        arrivalAddress:
          allOf:
          - $ref: '#/components/schemas/DeliveryAddress'
        arrivalPrice:
          type: number
        arrivalReferencePrice:
          type: number
        arrivalDeliveredDate:
          format: date-time
          type: string
        price:
          type: number
      required:
      - status
      - departureAddress
      - departurePrice
      - departureReferencePrice
      - departureDeliveredDate
      - arrivalAddress
      - arrivalPrice
      - arrivalReferencePrice
      - arrivalDeliveredDate
    WarrantedProducts:
      type: object
      properties:
        productId:
          type: string
        subProductId:
          type: string
        serialNumber:
          type: string
        margin:
          type: number
        pricePerDay:
          type: number
        tulipProductId:
          type: string
        tulipContractOptionType:
          type: string
          enum:
          - OPTION
          - INCLUSION
          - HIDDEN_INCLUSION
        packId:
          type: string
      required:
      - productId
      - subProductId
      - serialNumber
      - margin
      - pricePerDay
      - tulipProductId
      - tulipContractOptionType
    ServiceCreateUpdateOrderDto:
      type: object
      properties:
        id:
          type: string
        numberSelected:
          type: number
        name:
          type: string
        rentalType:
          type: string
          enum:
          - LCD
          - LLD
        onlineStoreName:
          $ref: '#/components/schemas/LocalizedContent'
        onlineStoreDescription:
          $ref: '#/components/schemas/LocalizedContent'
        price:
          type: number
        isAssuranceTulip:
          type: boolean
        priceLabelToDisplay:
          type: string
        serviceImage:
          type: array
          items:
            type: string
        vat:
          type: number
        initialUnitPrice:
          type: number
        discount:
          $ref: '#/components/schemas/ItemDiscount'
        surveyId:
          type: string
        answers:
          type: object
      required:
      - id
      - numberSelected
      - name
      - rentalType
      - onlineStoreName
      - onlineStoreDescription
      - price
      - isAssuranceTulip
      - priceLabelToDisplay
      - serviceImage
      - vat
      - initialUnitPrice
      - discount
      - answers
    PackCreateUpdateOrderDto:
      type: object
      properties:
        id:
          type: string
        depositAmount:
          type: number
        rentalType:
          type: string
          enum:
          - LCD
          - LLD
        name:
          type: string
        onlineStoreName:
          $ref: '#/components/schemas/LocalizedContent'
        onlineStoreDescription:
          $ref: '#/components/schemas/LocalizedContent'
        numberSelected:
          type: number
        packId:
          type: string
        packImage:
          type: array
          items:
            type: string
        products:
          type: array
          items:
            $ref: '#/components/schemas/PackProductCreateUpdateOrderDto'
        price:
          type: number
        vat:
          type: number
        categories:
          type: array
          items:
            $ref: '#/components/schemas/PackCategoryCreateOrderDto'
        type:
          type: string
          enum:
          - PRODUCT
          - CATEGORY
        initialUnitPrice:
          type: number
        discount:
          $ref: '#/components/schemas/ItemDiscount'
        surveyId:
          type: string
        answers:
          type: object
      required:
      - id
      - depositAmount
      - rentalType
      - name
      - onlineStoreName
      - onlineStoreDescription
      - numberSelected
      - packId
      - packImage
      - products
      - price
      - vat
      - categories
      - type
      - initialUnitPrice
      - discount
      - answers
    CustomerFieldDto:
      type: object
      properties:
        label:
          $ref: '#/components/schemas/LocalizedContent'
        value:
          type: string
        id:
          type: string
      required:
      - label
      - value
      - id
    TulipInfos:
      type: object
      properties:
        address:
          type: string
        zipcode:
          type: string
        city:
          type: string
        managerFirstName:
          type: string
        managerLastName:
          type: string
        sirenNumber:
          type: string
      required:
      - address
      - zipcode
      - city
      - managerFirstName
      - managerLastName
      - sirenNumber
    PackCategoryCreateOrderDto:
      type: object
      properties:
        id:
          type: string
        value:
          type: string
      required:
      - id
      - value
    PackProductCreateUpdateOrderDto:
      type: object
      properties:
        depositAmount:
          type: number
        rentalType:
          type: string
          enum:
          - LCD
          - LLD
        id:
          type: string
        name:
          type: string
        onlineStoreName:
          $ref: '#/components/schemas/LocalizedContent'
        onlineStoreDescription:
          $ref: '#/components/schemas/LocalizedContent'
        subProducts:
          type: array
          items:
            $ref: '#/components/schemas/SubProductCreateUpdateOrderDto'
        productImage:
          type: array
          items:
            type: string
        uuid:
          type: string
        vat:
          type: number
        type:
          type: string
          enum:
          - product
          - service
        surveyId:
          type: string
      required:
      - depositAmount
      - id
      - name
      - onlineStoreName
      - onlineStoreDescription
      - subProducts
      - productImage
      - uuid
      - vat
      - type
    DeliveryAddress:
      type: object
      properties:
        streetNumber:
          type: string
        streetName:
          type: string
        additional:
          type: string
        postalCode:
          type: string
        city:
          type: string
        country:
          type: string
        location:
          $ref: '#/components/schemas/PointSchema'
        fullAddress:
          type: string
      required:
      - streetNumber
      - streetName
      - additional
      - postalCode
      - city
      - country
      - location
      - fullAddress
    SyncOfflineDataDto:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/CreateUpdateOrderBodyDto'
      required:
      - orders
    ProductPriceRule:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PriceRule'
      required:
      - id
      - title
      - rules
    CustomItemCreateUpdateOrderDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        numberSelected:
          type: number
        price:
          type: number
      required:
      - id
      - name
      - numberSelected
      - price
    ProductCreateUpdateOrderDto:
      type: object
      properties:
        id:
          type: string
        productImage:
          type: array
          items:
            type: string
        name:
          type: string
        rentalType:
          type: string
          enum:
          - LCD
          - LLD
        onlineStoreName:
          $ref: '#/components/schemas/LocalizedContent'
        onlineStoreDescription:
          $ref: '#/components/schemas/LocalizedContent'
        subProducts:
          type: array
          items:
            $ref: '#/components/schemas/SubProductCreateUpdateOrderDto'
        numberSelected:
          type: number
        price:
          type: number
        depositAmount:
          type: number
        priceLabelToDisplay:
          type: string
        vat:
          type: number
        surveyId:
          type: string
        initialUnitPrice:
          type: number
        priceRuleVariation:
          allOf:
          - $ref: '#/components/schemas/PriceRuleVariation'
        discount:
          $ref: '#/components/schemas/ItemDiscount'
        insurance:
          $ref: '#/components/schemas/ProductInsurance'
        isDeleted:
          type: boolean
        requestAnswers:
          type: object
      required:
      - id
      - productImage
      - name
      - rentalType
      - onlineStoreName
      - onlineStoreDescription
      - subProducts
      - numberSelected
      - price
      - depositAmount
      - priceLabelToDisplay
      - vat
      - initialUnitPrice
      - priceRuleVariation
      - discount
    CreateUpdateOrderCustomer:
      type: object
      properties:
        id:
          type: string
        lastName:
          type: string
        firstName:
          type: string
        email:
          type: string
        phone:
          type: string
        zipCode:
          type: string
        companyName:
          type: string
        isNewsletterSubscribe:
          type: boolean
        isLokkiNewsletterSubscribe:
          type: boolean
        fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomerFieldDto'
        tulipInfos:
          $ref: '#/components/schemas/TulipInfos'
        customerRpId:
          type: string
        hidden:
          type: boolean
      required:
      - lastName
    SyncOfflineDataAnomaliesResultDto:
      type: object
      properties:
        csvData:
          type: array
          items:
            type: array
            items:
              type: string
      required:
      - csvData
    PriceRuleVariation:
      type: object
      properties:
        rule:
          allOf:
          - $ref: '#/components/schemas/ProductPriceRule'
        deltaAmount:
          type: number
        price:
          type: number
      required:
      - rule
      - deltaAmount
      - price
    PriceRule:
      type: object
      properties:
        _id:
          type: string
        startDate:
          $ref: '#/components/schemas/PriceRuleDate'
        endDate:
          $ref: '#/components/schemas/PriceRuleDate'
        type:
          type: string
          enum:
          - in
          - include
          - overlap
        variation:
          type: number
      required:
      - startDate
      - endDate
      - type
      - variation
    CreateUpdateOrderBodyDto:
      type: object
      properties:
        id:
          type: string
        isRequest:
          type: boolean
        startDate:
          format: date-time
          type: string
        endDate:
          format: date-time
          type: string
        browserTimezone:
          type: string
        packs:
          type: array
          items:
            $ref: '#/components/schemas/PackCreateUpdateOrderDto'
        products:
          type: array
          items:
            $ref: '#/components/schemas/ProductCreateUpdateOrderDto'
        services:
          type: array
          items:
            $ref: '#/components/schemas/ServiceCreateUpdateOrderDto'
        warrantedProducts:
          type: array
          items:
            $ref: '#/components/schemas/WarrantedProducts'
        customInputs:
          type: array
          items:
            $ref: '#/components/schemas/CustomItemCreateUpdateOrderDto'
        customer:
          $ref: '#/components/schemas/CreateUpdateOrderCustomer'
        remark:
          type: string
        attachedFiles:
          type: array
          items:
            $ref: '#/components/schemas/AttachedFile'
        status:
          type: array
          items:
            $ref: '#/components/schemas/Status'
        arrivalPoint:
          type: string
        departurePoint:
          type: string
        delivery:
          $ref: '#/components/schemas/Delivery'
        totalTTC:
          type: number
        totalHT:
          type: number
        depositPrice:
          type: number
        isDepositManuallyEdited:
          type: boolean
        promoCode:
          $ref: '#/components/schemas/PromoCodeCreateOrderDto'
        discount:
          type: number
        createdFrom:
          enum:
          - DASHBOARD
          - QUICK_ORDER
          - ONLINE_STORE
          - RENTAL_PLACE_B2B
          - RENTAL_PLACE_LOKKI
          - BORNE
          - SKISET
          - SKIMIUM
          - UNKNOWN
          - TEST
          - ADMIN_IMPORT
          type: string
        lang:
          enum:
          - fr
          - en
          - es
          - pt
          - it
          - pl
          - de
          - nl
          type: string
        orderStatus:
          enum:
          - TO_COME
          - IN_PROGRESS
          - ENDED
          type: string
        type:
          enum:
          - ORDER
          - PRE_BOOKING
          - PRE_BOOKING_ADMIN
          - CANCELED
          type: string
        additionalTimeBeforeOrder:
          type: number
        additionalTimeAfterOrder:
          type: number
        orderRequestId:
          type: string
        quoteRequestId:
          type: string
        requestDate:
          format: date-time
          type: string
        requestId:
          type: string
        requestToOrderDate:
          format: date-time
          type: string
        colorCalendar:
          type: string
        offlineId:
          type: string
      required:
      - isRequest
      - startDate
      - endDate
      - packs
      - products
      - services
      - customInputs
      - customer
      - totalTTC
      - totalHT
      - discount
      - createdFrom
      - lang
      - additionalTimeBeforeOrder
      - additionalTimeAfterOrder
    LocalizedContent:
      type: object
      additionalProperties:
        type: string
    PriceRuleDate:
      type: object
      properties:
        day:
          type: number
        time:
          type: string
      required:
      - day
      - time
    SubProductCreateUpdateOrderDto:
      type: object
      properties:
        _id:
          type: string
        serialNumber:
          type: string
        archive:
          type: boolean
        available:
          type: boolean
        status:
          type: string
          enum:
          - WAITING
          - USED
          - ENDED
        externalQrCode:
          type: string
        answers:
          type: object
        printed:
          type: boolean
        returnDate:
          format: date-time
          type: string
      required:
      - _id
      - serialNumber
      - archive
      - available
      - status
      - externalQrCode
      - answers
    ProductInsurance:
      type: object
      properties:
        isActivated:
          type: boolean
        tulipProductId:
          type: string
        averagePurchasePrice:
          type: number
        margin:
          type: number
        sum:
          type: number
        contractType:
          type: string
          enum:
          - OPTION
          - INCLUSION
          - HIDDEN_INCLUSION
      required:
      - isActivated
      - tulipProductId
      - averagePurchasePrice
      - margin
      - sum
    ItemDiscount:
      type: object
      properties:
        discountType:
          type: string
          enum:
          - AMOUNT
          - PERCENTAGE
        amount:
          type: number
      required:
      - discountType
      - amount
  securitySchemes:
    x-access-token:
      scheme: bearer
      bearerFormat: JWT
      type: apiKey
      in: header
      name: x-access-token