Incentivio Mobile & Ordering API

The guest-facing REST API behind Incentivio's branded web and native mobile ordering apps (order.incentivio.com). A Spring Boot service that publishes a live, unauthenticated springdoc OpenAPI 3.0.1 definition at /v3/api-docs covering 112 paths and 125 operations across catalogs and menus, locations and stores, orders and order items, order payments and payment instruments, gift cards and wallets, loyalty accounts and points, offers and discounts, surveys, segments, messaging, and user accounts with passwordless and OAuth 2.0 sign-in. Requests carry a Bearer access token plus a CLIENTID header that selects the restaurant brand tenant. The definition is machine-generated: it declares no operation summaries or descriptions, no securitySchemes, and only 200 responses, so runtime auth, error and tenancy semantics were captured by live probe instead.

OpenAPI Specification

incentivio-mobile-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: OpenAPI definition
  version: v0
servers:
- url: https://mobile.incentivio.com/incentivio-mobile-api
  description: Generated server url
paths:
  /useraccounts/{userId}/complete-profile:
    put:
      tags:
      - passwordless-auth-controller
      operationId: completeProfile
      parameters:
      - name: CLIENTID
        in: header
        required: true
        schema:
          type: string
      - name: userId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletePasswordlessProfileRequest'
        required: true
      responses:
        '200':
          description: OK
  /useraccounts/phoneonly/token/{token}:
    get:
      tags:
      - user-controller
      operationId: findUserAccountByToken
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindUserByTokenResponseDTO'
    put:
      tags:
      - user-controller
      operationId: updateIncompleteUserAccount
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIncompleteUserAccountRequestDTO'
        required: true
      responses:
        '200':
          description: OK
  /surveys/{surveyid}/submitanswers:
    put:
      tags:
      - survey-answer-controller
      operationId: submitAnswers
      parameters:
      - name: surveyid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitAnswersRequestDTO'
        required: true
      responses:
        '200':
          description: OK
  /surveys/{surveyid}/submitanswer:
    put:
      tags:
      - survey-answer-controller
      operationId: submitAnswer
      parameters:
      - name: surveyid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitAnswerRequestDTO'
        required: true
      responses:
        '200':
          description: OK
  /save/singledeliveryaddress:
    put:
      tags:
      - delivery-address-controller
      operationId: addOrUpdateSingleDeliveryAddress
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeliveryAddressRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDeliveryAddressResponseDTO'
  /save/multipledeliveryaddresses:
    put:
      tags:
      - delivery-address-controller
      operationId: addOrUpdateMultipleDeliveryAddress
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeliveryAddressRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDeliveryAddressResponseDTO'
  /orders:
    get:
      tags:
      - order-controller
      operationId: listOrders
      parameters:
      - name: clientId
        in: query
        required: true
        schema:
          type: string
      - name: phone
        in: query
        required: false
        schema:
          type: string
      - name: email
        in: query
        required: false
        schema:
          type: string
      - name: customerId
        in: query
        required: false
        schema:
          type: string
      - name: extCustomerId
        in: query
        required: false
        schema:
          type: string
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - OPEN
          - CLOSED
          - CANCELED
          - SYNC_PENDING
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListOrderResponseDTO'
    put:
      tags:
      - order-controller
      operationId: addOrUpdateOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CreateOrderResponseDTO'
  /orders/{orderid}/updateorderitems:
    put:
      tags:
      - order-item-controller
      operationId: updateOrderItem
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderItemReqDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderUpdateSummaryDTO'
  /orders/{orderid}/orderitems:
    put:
      tags:
      - order-item-controller
      operationId: addOrderItem
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      - name: languageCode
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrderItemReqDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderUpdateSummaryDTO'
  /orders/{orderid}/addorderitems:
    put:
      tags:
      - order-item-controller
      operationId: addOrderItemList
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      - name: languageCode
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrderItemListReqDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderUpdateSummaryDTO'
  /orders/{orderId}/validateguestverificationcode/{code}:
    put:
      tags:
      - guest-order-verification-controller
      operationId: validateGuestOrderVerificationCode
      parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      - name: code
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
  /loyaltyaccounts:
    get:
      tags:
      - loyalty-controller
      operationId: viewLoyaltyAccount
      parameters:
      - name: includeloyaltytier
        in: query
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViewLoyaltyAccountResponseDTO'
    put:
      tags:
      - loyalty-controller
      operationId: upsertLoyaltyAccountExternalId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertLoyaltyAccountExternalIdDTO'
        required: true
      responses:
        '200':
          description: OK
  /loyaltyaccounts/loyaltycard:
    put:
      tags:
      - loyalty-controller
      operationId: upsertLoyaltyCardId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertLoyaltyCardRequestDTO'
        required: true
      responses:
        '200':
          description: OK
  /verifyemail:
    post:
      tags:
      - user-controller
      operationId: verifyUserAccountEmail
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyEmailResponseDTO'
  /users/{userId}/orders/markimhere:
    post:
      tags:
      - im-here-controller
      operationId: markAnOrderImHere
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: languagecode
        in: header
        required: false
        schema:
          type: string
          default: EN
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImHereRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImHereResponseDTO'
  /users/login:
    post:
      tags:
      - user-controller
      operationId: userLogin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponseDTO'
      deprecated: true
  /users/login2:
    post:
      tags:
      - user-controller
      operationId: userLogin2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponseDTO'
      deprecated: true
  /useraccounts:
    get:
      tags:
      - user-controller
      operationId: findUserAccount
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindUserAccountResponseDTO'
    post:
      tags:
      - user-controller
      operationId: createUserAccount
      parameters:
      - name: CLIENTID
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserAccountRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserAccountResponseDTO'
  /smsuseraccounts:
    get:
      tags:
      - user-controller
      operationId: findUserAccountSMS
      parameters:
      - name: accountaliasid
        in: query
        required: false
        schema:
          type: string
      - name: phonenumber
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindUserAccountResponseDTO'
      deprecated: true
    post:
      tags:
      - user-controller
      operationId: createUserAccountSMS
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSMSUserAccountRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSMSUserAccountResponseDTO'
      deprecated: true
  /redeemofferbyid:
    post:
      tags:
      - offers-controller
      operationId: redeemById
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RedeemOfferAPIRequestDTO'
        required: true
      responses:
        '200':
          description: OK
  /purchase/ecard:
    post:
      tags:
      - gift-card-controller
      operationId: purchaseECard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseECardRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseECardResponseDTO'
  /processqrcode:
    post:
      tags:
      - offers-controller
      operationId: processQRCode
      parameters:
      - name: merchantid
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RedeemOfferAPIRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedeemOfferResponseDTO'
  /paymentinstruments:
    get:
      tags:
      - wallet-controller
      operationId: listPaymentInstruments
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ListPaymentInstrumentsResponseDTO'
    post:
      tags:
      - wallet-controller
      operationId: addPaymentInstrument
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPaymentInstrumentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AddPaymentInstrumentResponseDTO'
  /orders/{orderid}/removediscount:
    post:
      tags:
      - order-offers-controller
      operationId: removeDiscount
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveOfferRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViewOrderResponseDTO'
  /orders/{orderid}/preparepayment:
    post:
      tags:
      - order-payment-controller
      operationId: prepareOrderPayment
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InitOrderResponseDTO'
  /orders/{orderid}/prepareguestpayment:
    post:
      tags:
      - order-payment-controller
      operationId: prepareGuestOrderPayment
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InitOrderResponseDTO'
  /orders/{orderid}/orderitemprice:
    post:
      tags:
      - order-item-controller
      operationId: getOrderItemPrice
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      - name: languageCode
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrderItemReqDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ItemTotalDTO'
  /orders/{orderid}/makepayment:
    post:
      tags:
      - order-payment-controller
      operationId: makeOrderPayment
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      - name: inc-user-language
        in: header
        required: false
        schema:
          type: string
      - name: language
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentResponseDTO'
  /orders/{orderid}/makeguestpayment:
    post:
      tags:
      - order-payment-controller
      operationId: makeGuestOrderPayment
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      - name: inc-user-language
        in: header
        required: false
        schema:
          type: string
      - name: language
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentResponseDTO'
  /orders/{orderid}/copyorder:
    post:
      tags:
      - order-controller
      operationId: validateOrderRecreation
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ViewOrderResponseDTO'
  /orders/{orderid}/applydiscount:
    post:
      tags:
      - order-offers-controller
      operationId: applyDiscount
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyOfferRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViewOrderResponseDTO'
  /orders/{orderId}/markimhere:
    post:
      tags:
      - im-here-controller
      operationId: markAnOrderImHere_1
      parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      - name: languagecode
        in: header
        required: false
        schema:
          type: string
          default: EN
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImHereResponseDTO'
  /orders/sendguestverificationcode:
    post:
      tags:
      - guest-order-verification-controller
      operationId: sendGuestOrderVerificationCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GuestOrderVerificationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuestOrderVerificationResponse'
  /orders/payment/initorder:
    post:
      tags:
      - order-payment-controller
      operationId: initOrder
      parameters:
      - name: CLIENTID
        in: header
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitOrderRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InitOrderResponseDTO'
  /orderoffers:
    post:
      tags:
      - order-offers-controller
      operationId: getOrderOfferList
      parameters:
      - name: mock
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetOrderOffersRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderOfferListResponseDTO'
  /orderoffers/applyofferonnextvisit:
    post:
      tags:
      - order-offers-controller
      operationId: applyOfferOnNextVisit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyOfferOnNextVisitRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyOfferOnNextVisitResponseDTO'
  /locations/{locationid}/orderavailability:
    get:
      tags:
      - order-availability-controller
      operationId: oldGetOrderAvailability
      parameters:
      - name: locationid
        in: path
        required: true
        schema:
          type: string
      - name: lat
        in: query
        required: true
        schema:
          type: number
          format: double
      - name: lon
        in: query
        required: true
        schema:
          type: number
          format: double
      - name: orderid
        in: query
        required: false
        schema:
          type: string
      - name: inc-user-language
        in: header
        required: false
        schema:
          type: string
          default: EN
      - name: presetorderconfigid
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderAvailabilityResponseDTO'
      deprecated: true
    post:
      tags:
      - order-availability-controller
      operationId: newGetOrderAvailability
      parameters:
      - name: locationid
        in: path
        required: true
        schema:
          type: string
      - name: inc-user-language
        in: header
        required: false
        schema:
          type: string
          default: EN
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderAvailabilityRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderAvailabilityResponseDTO'
  /locations/{locationid}/orderavailability/asap:
    post:
      tags:
      - order-availability-controller
      operationId: calculateAsapDuration
      parameters:
      - name: locationid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateAsapDurationRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CalculateAsapDurationResponseDTO'
  /locations/{locationid}/calculatetotal:
    post:
      tags:
      - total-controller
      operationId: calculateOrderTotalForItems
      parameters:
      - name: locationid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AddOrderItemReqDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderTotalDTO'
  /giftcard/purchase:
    post:
      tags:
      - gift-card-controller
      operationId: purchaseAndEmailGiftCard
      parameters:
      - name: CLIENTID
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseAndEmailGiftCardRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseECardResponseDTO'
  /giftcard/purchase/payment/prepare:
    post:
      tags:
      - gift-card-payment-controller
      operationId: purchaseAndEmailGiftCardPreparePayment
      parameters:
      - name: CLIENTID
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseAndEmailGiftCardRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparePaymentResponseDTO'
  /giftcard/paymentinstruments:
    post:
      tags:
      - gift-card-controller
      operationId: addExistingGiftCard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPaymentInstrumentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPaymentInstrumentResponseDTO'
  /giftcard/lookup:
    post:
      tags:
      - gift-card-controller
      operationId: cardLookupByNumber
      parameters:
      - name: CLIENTID
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftCardLookupRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GiftCardNumberLookupResponse'
  /giftcard/add-value:
    post:
      tags:
      - gift-card-controller
      operationId: addValuetoGiftCard
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddValueRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddValueResponseDTO'
  /giftcard/add-value/payment/prepare:
    post:
      tags:
      - gift-card-payment-controller
      operationId: addValueToGiftCardPreparePayment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddValueRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparePaymentResponseDTO'
  /getactivitybasedoffers:
    post:
      tags:
      - offers-controller
      operationId: getOffersBasedOnUserActivity
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivityContentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityOfferListDTO'
  /getactivitybasedmessages:
    post:
      tags:
      - message-controller
      operationId: distributeActivityMessages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetActivityMessagesRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityMessageListDTO'
  /getactivitybasedcontent:
    post:
      tags:
      - offers-controller
      operationId: getActivityBasedContent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivityContentRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityContentResponseDTO'
  /externaluseraccounts:
    get:
      tags:
      - user-controller
      operationId: externalAccountFindUserAccount
      parameters:
      - name: email
        in: query
        required: false
        schema:
          type: string
      - name: externalid
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindUserAccountResponseDTO'
    post:
      tags:
      - user-controller
      operationId: externalAccountCreateUserAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalUserAccountRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserAccountResponseDTO'
  /ecard/purchase/payment/prepare:
    post:
      tags:
      - gift-card-payment-controller
      operationId: purchaseECardPreparePayment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseECardRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparePaymentResponseDTO'
  /clients/{clientid}/media:
    post:
      tags:
      - file-controller
      operationId: uploadFile
      parameters:
      - name: clientid
        in: path
        require

# --- truncated at 32 KB (228 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/incentivio/refs/heads/main/openapi/incentivio-mobile-api-openapi.yml