Skip to main content
EnSync uses a four-layer delivery model to control event access. For an event to be delivered, all four conditions must align.

Permissions (What You CAN Access)

Permissions define which events an app is allowed to publish or receive. Set by the event owner.
  • Publish Permission: Can this app publish this event type?
  • Receive Permission: Can this app subscribe to this event type?
Permissions are configured in the EnSync Dashboard or via the Config Manager API.

Subscriptions (What You WANT to Receive)

Subscriptions define which events an app actively wants to receive. Managed by the app owner via SDK.

How Validation Works

When Publishing

  1. EnSync validates the publisher has permission to publish that event
  2. If valid, event is sent to specified Client IDs
  3. If invalid, publish is rejected

When Subscribing

  1. EnSync validates the subscriber has permission to receive that event
  2. If valid, subscription succeeds
  3. If invalid, subscription fails immediately

When Delivering

Events are only delivered when all four conditions are met:
  1. Permission (platform sets): You have receive permission for that event type
  2. Subscription (you set): You have an active subscription to that event type
  3. Event name matching (automatic): Published event type matches your subscription pattern
  4. Recipient targeting (platform sets per-event): Event is explicitly addressed to your Client ID
Subscriptions act as filters: Events addressed to you but outside your subscriptions will queue based on your plan’s retention period (up to 30 days). Subscribe later to automatically receive queued events.

Targeted Delivery Example

Even if you’re subscribed to an event type, you only receive events explicitly addressed to your Client ID. This ensures multi-tenant data isolation.

The Four Layers Explained

Permission vs Subscription

Managing Permissions

Via Integration Page

Partners can manage their subscriptions within the permissions you’ve granted:
  1. View available events (based on your permission grants)
  2. Subscribe to events they want to receive
  3. Unsubscribe from events they no longer need
  4. View event metrics and analytics

Via Config Manager API

You can programmatically manage permissions:

Best Practices

  1. Grant minimum permissions - Only give access to events partners need
  2. Let partners manage subscriptions - They know which events they want
  3. Review permissions regularly - Remove access when partnerships end
  4. Use integration pages - Enable partners to self-manage their subscriptions