LayUp Technologies ShopifyService API

The ShopifyService API from LayUp Technologies — 6 operation(s) for shopifyservice.

Operations 6

POST /v1/integrations/shopify/calculate-shipping #
GET /v1/integrations/shopify/discounts #
POST /v1/integrations/shopify/link-order #
POST /v1/integrations/shopify/orders #
POST /v1/integrations/shopify/shop-settings/{shopDomain} #
POST /v1/integrations/shopify/shopify-order-notes #

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/layup-technologies-shopifyservice-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

layup-technologies-shopifyservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Layup endpoints AbsaDebiCheckService Shopify Service API
  version: 1.4.16
  description: 'Welcome to The Layup Swagger page. This page allows developers to interactively explore the API. For more detailed documentation see [The Layup documentation page](https://documentation.layup.co.za/).


    # Introduction


    ## What is LayUp


    LayUp is a lay-by payment solution. LayUp Schedules payments and ensures that your clients pay securely, effectively and on time. Depending on your parameters LayUp schedules a payment plan for your clients. Once a payment plan has been completed we notify you. There are 3 stories that are of importance to a merchant:


    1. Order Creation

    2. Deposit Received (and holding Stock for your client)

    3. Order Completion.


    LayUp allows you to take full control over the entire payment process if you wish to do so. We also provide a convenient front-end for users to use. The front-end should significantly reduce the time to integrate and get you started using LayUp as soon as possible.


    Once an order is completed a notification will be sent to the merchant so that you can provide the client with their product.


    ## How to use LayUp


    As a merchant who wants to place an order through LayUp, you want to send the relevant information to the LayUp API to create the order. The API will return an order ID. Unless your integration is using a custom user interface, you want to send the user to the LayUp customer payment widget. The URL for this widget is <u>https://shopper.layup.co.za/order/{orderId}</u> for production and <u>https://sandbox.layup.co.za/order/{orderId}</u> for sandbox.

    '
servers:
- url: http://localhost:3000
- url: https://localhost:3000
- url: wss://localhost:3000
security:
- apiKey:
  - read
  - write
tags:
- name: ShopifyService
paths:
  /v1/integrations/shopify/calculate-shipping:
    post:
      operationId: ShopifyService_calculateShipping
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyCalculateShippingResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: customerData.firstName
        in: query
        required: false
        schema:
          type: string
      - name: customerData.lastName
        in: query
        required: false
        schema:
          type: string
      - name: customerData.email
        in: query
        required: false
        schema:
          type: string
      - name: customerData.phone
        in: query
        required: false
        schema:
          type: string
      - name: customerData.address
        in: query
        required: false
        schema:
          type: string
      - name: customerData.address2
        in: query
        required: false
        schema:
          type: string
      - name: customerData.city
        in: query
        required: false
        schema:
          type: string
      - name: customerData.province
        in: query
        required: false
        schema:
          type: string
      - name: customerData.postalCode
        in: query
        required: false
        schema:
          type: string
      - name: shopDomain
        in: query
        required: false
        schema:
          type: string
      tags:
      - ShopifyService
  /v1/integrations/shopify/discounts:
    get:
      operationId: ShopifyService_processDiscount
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyDiscountResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: discountCode
        in: query
        required: false
        schema:
          type: string
      - name: shopDomain
        in: query
        required: false
        schema:
          type: string
      tags:
      - ShopifyService
  /v1/integrations/shopify/link-order:
    post:
      operationId: ShopifyService_linkOrder
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyOrderResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: shopDomain
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.id
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.status
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.createdAt
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.name
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.customer.name
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.customer.email
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.customer.phone
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.customer.displayName
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.totalPriceSet
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.taxesIncluded
        in: query
        required: false
        schema:
          type: boolean
      - name: draftOrder.shippingLine.discountedPriceSet
        in: query
        required: false
        schema:
          type: string
      - name: draftOrder.totalTaxSet
        in: query
        required: false
        schema:
          type: string
      tags:
      - ShopifyService
  /v1/integrations/shopify/orders:
    post:
      operationId: ShopifyService_processOrder
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyOrderResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: shopDomain
        in: query
        required: false
        schema:
          type: string
      - name: amount
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: shippingData.amount
        in: query
        required: false
        schema:
          type: string
      - name: shippingData.handle
        in: query
        required: false
        schema:
          type: string
      - name: shippingData.title
        in: query
        required: false
        schema:
          type: string
      - name: discount.discountType
        in: query
        required: false
        schema:
          type: string
      - name: discount.discountValue
        in: query
        required: false
        schema:
          type: string
      - name: discount.discountAllocation
        in: query
        required: false
        schema:
          type: string
      - name: discount.discountSelection
        in: query
        required: false
        schema:
          type: string
      - name: discount.discountTitle
        in: query
        required: false
        schema:
          type: string
      - name: discount.entitledProductIds
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: number
            format: double
      - name: discount.entitledVariantIds
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: number
            format: double
      - name: locationData
        in: query
        required: false
        schema:
          type: string
      - name: customerData.firstName
        in: query
        required: false
        schema:
          type: string
      - name: customerData.lastName
        in: query
        required: false
        schema:
          type: string
      - name: customerData.email
        in: query
        required: false
        schema:
          type: string
      - name: customerData.phone
        in: query
        required: false
        schema:
          type: string
      - name: customerData.address
        in: query
        required: false
        schema:
          type: string
      - name: customerData.address2
        in: query
        required: false
        schema:
          type: string
      - name: customerData.city
        in: query
        required: false
        schema:
          type: string
      - name: customerData.province
        in: query
        required: false
        schema:
          type: string
      - name: customerData.postalCode
        in: query
        required: false
        schema:
          type: string
      tags:
      - ShopifyService
  /v1/integrations/shopify/shop-settings/{shopDomain}:
    post:
      operationId: ShopifyService_getShopSettings
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyGetShopSettingsResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: shopDomain
        in: path
        required: true
        schema:
          type: string
      tags:
      - ShopifyService
  /v1/integrations/shopify/shopify-order-notes:
    post:
      operationId: ShopifyService_getOrderNotes
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/modelShopifyOrderNotesResponse'
        '204':
          description: Successfully processed the request, no content.
        '403':
          description: Returned when the user does not have permission to access the resource.
        '404':
          description: Returned when the resource does not exist.
      parameters:
      - name: shopDomain
        in: query
        required: false
        schema:
          type: string
      - name: orderId
        in: query
        required: false
        schema:
          type: string
      tags:
      - ShopifyService
components:
  schemas:
    modelShopifyDiscountResponse:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        data:
          $ref: '#/components/schemas/modelShopifyDiscountData'
    modelShopifyDiscountData:
      type: object
      properties:
        discountType:
          type: string
        discountValue:
          type: string
        discountAllocation:
          type: string
        discountSelection:
          type: string
        discountTitle:
          type: string
        entitledProductIds:
          type: array
          items:
            type: number
            format: double
        entitledVariantIds:
          type: array
          items:
            type: number
            format: double
    modelShopifyGetShopSettingsResponse:
      type: object
      properties:
        enabledOnAll:
          type: boolean
        enabledOnProduct:
          type: boolean
        enabledOnCart:
          type: boolean
        enabledAccept:
          type: boolean
        acceptMsg:
          type: string
        acceptBtn:
          type: string
        terms:
          type: string
        products:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/modelShopifyProductSettings'
        logoUrl:
          type: string
        learnMore:
          type: string
        merchantName:
          type: string
        deposit:
          type: integer
          format: int32
        depositType:
          type: string
        minMonths:
          type: integer
          format: int32
        maxMonths:
          type: integer
          format: int32
        shopifyLocations:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/modelShopifyLocations'
        enabledDiscount:
          type: boolean
        enabledOnPopupCart:
          type: boolean
        popupCartSelector:
          type: string
        popupCartQuantitySelector:
          type: string
        popupCartRemoveSelector:
          type: string
        buttonLayout:
          type: string
    modelShopifyOrderResponse:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        data:
          type: string
        orderId:
          type: string
    modelShopifyCalculateShippingResponse:
      type: object
      properties:
        prices:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/modelShopifyShippingRate'
    modelShopifyOrderNote:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    modelShopifyLocations:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/modelShopifyLocationAddress'
        id:
          type: string
        legacyResourceId:
          type: string
        name:
          type: string
    modelShopifyLocationAddress:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        phone:
          type: string
        province:
          type: string
        zip:
          type: string
    modelShopifyOrderNotesResponse:
      type: object
      properties:
        notes:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/modelShopifyOrderNote'
        tags:
          type: string
    modelShopifyShippingRate:
      type: object
      properties:
        title:
          type: string
        amount:
          type: string
        handle:
          type: string
    modelShopifyProductSettings:
      type: object
      properties:
        productId:
          type: string
        eventDateString:
          type: string
        enabledOnLayup:
          type: boolean
        minMonths:
          type: integer
          format: int32
        maxMonths:
          type: integer
          format: int32
        deposit:
          type: integer
          format: int32
        depositType:
          type: string
        previewTemplate:
          type: string
        learnMore:
          type: string
        layupType:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      name: apikey
      in: header