Sequenzy Sync Rules API
The Sync Rules API from Sequenzy — 1 operation(s) for sync rules.
The Sync Rules API from Sequenzy — 1 operation(s) for sync rules.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/sequenzy:sequenzy-sync-rules-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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