Sequenzy Sync Rules API

The Sync Rules API from Sequenzy — 1 operation(s) for sync rules.

Operations 2

GET /sync-rules Get sync rules #
PUT /sync-rules Update sync rules #

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-sync-rules-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-sync-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sequenzy Sync Rules 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: Sync Rules
paths:
  /sync-rules:
    get:
      operationId: getSyncRules
      summary: Get sync rules
      description: Returns the company's effective sync rules - the automatic tag changes applied when events fire. New companies start with an empty rule set; legacy companies may inherit the optional SaaS/ecommerce platform preset. isDefault reports whether that preset is active.
      tags:
      - Sync Rules
      responses:
        '200':
          description: Sync rules returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  syncRules:
                    type: array
                    items:
                      $ref: '#/components/schemas/SyncRule'
                  isDefault:
                    type: boolean
                    description: True while the company still uses the platform default rules.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/TransientDatabaseUnavailable'
    put:
      operationId: updateSyncRules
      summary: Update sync rules
      description: Replaces the company's full sync rule set. Send an empty array to disable rules, or null to opt into the inherited SaaS/ecommerce platform preset. This is not a partial update - fetch the current rules, edit them, and send the whole set back.
      tags:
      - Sync Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - syncRules
              properties:
                syncRules:
                  type:
                  - array
                  - 'null'
                  description: Full replacement rule set. An empty array disables rules; null opts into the inherited SaaS/ecommerce platform preset.
                  items:
                    $ref: '#/components/schemas/SyncRule'
            examples:
              tag-buyers-by-product:
                summary: Tag buyers of a product tag
                value:
                  syncRules:
                  - triggerEvent: ecommerce.order_placed
                    actions:
                      addTags:
                      - vinyl-collector
                      removeTags: []
                    conditions:
                      purchasedProduct:
                        tags:
                        - Vinyl
              use-platform-preset:
                summary: Opt into the SaaS/ecommerce platform preset
                value:
                  syncRules: null
      responses:
        '200':
          description: Sync rules updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Saved 1 sync rule.
                  syncRules:
                    type: array
                    items:
                      $ref: '#/components/schemas/SyncRule'
                  isDefault:
                    type: boolean
        '400':
          description: Invalid rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '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:
    SyncRule:
      type: object
      required:
      - triggerEvent
      - actions
      properties:
        triggerEvent:
          type: string
          description: Event name that triggers the rule.
          example: ecommerce.order_placed
        actions:
          type: object
          required:
          - addTags
          - removeTags
          properties:
            addTags:
              type: array
              items:
                type: string
              example:
              - vinyl-collector
            removeTags:
              type: array
              items:
                type: string
              example: []
        conditions:
          type: object
          description: Optional conditions that must all hold for the rule to apply.
          properties:
            requiresTags:
              type: array
              description: Rule only applies if the subscriber has ALL of these tags.
              items:
                type: string
            requiresNotTags:
              type: array
              description: Rule only applies if the subscriber has NONE of these tags.
              items:
                type: string
            purchasedProduct:
              type: object
              description: For commerce events with product context - rule only applies when a product on the event matches every specified selector (values within a selector are OR'd).
              properties:
                tags:
                  type: array
                  items:
                    type: string
                collectionIds:
                  type: array
                  items:
                    type: string
                productTypes:
                  type: array
                  items:
                    type: string
                vendors:
                  type: array
                  items:
                    type: string
    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
    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