Sequenzy Shopify API

The Shopify API from Sequenzy — 1 operation(s) for shopify.

Operations 2

GET /shopify/automation-settings Get Shopify automation settings #
PUT /shopify/automation-settings Update Shopify automation settings #

Specifications

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/sequenzy:sequenzy-shopify-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

sequenzy-shopify-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sequenzy Shopify API
  description: Sequenzy API for managing subscribers, tags, events, sequences, and transactional emails
  version: 1.0.0
servers:
- url: https://api.sequenzy.com/api/v1
  description: Production server
- url: https://api.sequenzy.com/v1
  description: Legacy production server alias
security:
- bearerAuth: []
tags:
- name: Shopify
paths:
  /shopify/automation-settings:
    get:
      operationId: getShopifyAutomationSettings
      summary: Get Shopify automation settings
      description: Returns the connected Shopify store's browse-abandonment, cart-abandonment, and price-drop automation settings, with platform defaults applied where the store hasn't overridden them.
      tags:
      - Shopify
      responses:
        '200':
          description: Automation settings returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  integrationId:
                    type: string
                  shopDomain:
                    type: string
                  browseAbandonment:
                    $ref: '#/components/schemas/ShopifyBrowseAbandonmentSettings'
                  cartAbandonment:
                    $ref: '#/components/schemas/ShopifyCartAbandonmentSettings'
                  priceDrop:
                    $ref: '#/components/schemas/ShopifyPriceDropSettings'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No active Shopify integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/TransientDatabaseUnavailable'
    put:
      operationId: updateShopifyAutomationSettings
      summary: Update Shopify automation settings
      description: 'Partial update of the store''s browse-abandonment, cart-abandonment, and/or price-drop settings: omitted sections are untouched, omitted fields keep their current value, and null resets a section to the platform defaults.'
      tags:
      - Shopify
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                browseAbandonment:
                  anyOf:
                  - allOf:
                    - $ref: '#/components/schemas/ShopifyBrowseAbandonmentSettings'
                  - type: 'null'
                cartAbandonment:
                  anyOf:
                  - allOf:
                    - $ref: '#/components/schemas/ShopifyCartAbandonmentSettings'
                  - type: 'null'
                priceDrop:
                  anyOf:
                  - allOf:
                    - $ref: '#/components/schemas/ShopifyPriceDropSettings'
                  - type: 'null'
            examples:
              raise-price-drop-threshold:
                summary: Alert only on 10%+ drops
                value:
                  priceDrop:
                    minPercent: 10
              disable-browse-abandonment:
                summary: Turn off browse abandonment
                value:
                  browseAbandonment:
                    enabled: false
              lengthen-cart-inactivity:
                summary: Wait 2h of cart inactivity
                value:
                  cartAbandonment:
                    delayHours: 2
              reset-price-drop:
                summary: Reset price drop to defaults
                value:
                  priceDrop: null
      responses:
        '200':
          description: Automation settings updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                  integrationId:
                    type: string
                  shopDomain:
                    type: string
                  browseAbandonment:
                    $ref: '#/components/schemas/ShopifyBrowseAbandonmentSettings'
                  cartAbandonment:
                    $ref: '#/components/schemas/ShopifyCartAbandonmentSettings'
                  priceDrop:
                    $ref: '#/components/schemas/ShopifyPriceDropSettings'
        '400':
          description: No settings provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No active Shopify integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Request body failed schema validation
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: validation
                  'on':
                    type: string
                    example: body
                  property:
                    type: string
                    example: /cartAbandonment/delayHours
                  message:
                    type: string
                    example: Expected number to be less or equal to 168
                  summary:
                    type: string
                    example: Property 'delayHours' should be less or equal to 168
                  errors:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        '503':
          $ref: '#/components/responses/TransientDatabaseUnavailable'
components:
  headers:
    RetryAfter:
      description: Number of seconds to wait before retrying the request.
      schema:
        type: integer
        minimum: 1
        example: 1
  responses:
    TransientDatabaseUnavailable:
      description: The database was temporarily unavailable. The request may be retried after the delay in Retry-After.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error: The service could not reach its database for a moment. Retry the request.
            code: SERVICE_UNAVAILABLE
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: Error message
        code:
          type: string
          description: Optional stable machine-readable error discriminator when available.
          example: COMPANY_CREATE_REQUIRES_PERSONAL_KEY
        retryable:
          type: boolean
          description: Whether retrying the request can recover from the error.
        issues:
          type: array
          description: Field-level problems with the request, when the endpoint reports them. Up to ten entries; `error` summarizes the first three.
          items:
            $ref: '#/components/schemas/InputIssue'
      required:
      - error
    ShopifyBrowseAbandonmentSettings:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether browse-abandonment events fire for this store (default true).
        delayHours:
          type: number
          exclusiveMinimum: 0
          maximum: 168
          description: Hours to wait after a product view before the abandonment check (default 2, max 168).
        cooldownHours:
          type: number
          exclusiveMinimum: 0
          maximum: 720
          description: Minimum hours between browse-abandoned events per subscriber (default 24, max 720).
    ShopifyPriceDropSettings:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether price-drop events fire for this store (default true).
        minPercent:
          type: number
          exclusiveMinimum: 0
          maximum: 95
          description: Minimum price decrease percent to alert on (default 5, max 95).
        lookbackDays:
          type: number
          exclusiveMinimum: 0
          maximum: 90
          description: How many days back product viewers qualify as the audience (default 30, max 90).
        cooldownDays:
          type: number
          exclusiveMinimum: 0
          maximum: 90
          description: Minimum days between price-drop events per subscriber and product (default 7, max 90).
    ShopifyCartAbandonmentSettings:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          description: Whether cart-abandonment events fire for this store (default true).
        delayHours:
          type: number
          exclusiveMinimum: 0
          maximum: 168
          description: Hours of cart inactivity before the cart counts as abandoned (default 1, max 168).
        cooldownHours:
          type: number
          exclusiveMinimum: 0
          maximum: 720
          description: Minimum hours between cart-abandoned events per subscriber (default 24, max 720).
        expireAfterHours:
          type: number
          exclusiveMinimum: 0
          maximum: 720
          description: 'Hours after which an untouched tracked cart is dropped instead of being emailed about or merged into by a later add (default 72, max 720). A store can empty a cart without sending a removal - a session or reservation timing out, an inventory hold releasing, checkout finishing on another device - and past this window the snapshot is no longer treated as evidence the shopper still has those items. Set it below delayHours on stores whose carts expire faster than the abandonment delay: those carts are then intentionally never emailed about.'
    InputIssue:
      type: object
      properties:
        path:
          type: string
          description: Dotted field path, such as `audience.subscriberIds[0]`. Empty when the problem is with the request body itself.
          example: kind
        message:
          type: string
          description: What is wrong with the field.
          example: must be "add_tags"
        allowedValues:
          type: array
          description: Accepted values when the field only takes a fixed set of values.
          items: {}
          example:
          - add_tags
      required:
      - path
      - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Bearer token