Connect API Mental Model

Connect becomes much easier to use once you understand 3 core concepts:

  • The resource model
  • Asynchronous provisioning
  • Webhook-driven lifecycle updates

The e-commerce analogy

Think of Connect like an e-commerce platform for telecom services:

  • Product Offering = the plan displayed in your catalog
  • Order = the checkout action
  • Product = the provisioned service the customer receives
  • Subscription = the active connectivity lifecycle you manage

Most integrations follow the same pattern:

  1. Choose what to sell
  2. Define who is buying
  3. Place an Order
  4. Wait for provisioning
  5. Track lifecycle changes through webhooks

The Core Provisioning Flow

Most integrations follow this sequence:

Product Offering → Account → Subscriber → Order → Product → Subscription → SIM Profile

This represents the lifecycle of provisioning connectivity through Connect.


Resource Model

Ownership Hierarchy

Before diving in, here's how the concepts you already use in your business map to Connect resources:

In your businessIn ConnectTypical cardinality
Paying customer or organizationAccount1
User or device that consumes connectivitySubscriber1..N per Account
A connectivity planSubscription1..N per Subscriber

The three form a strict ownership hierarchy:

Account      ← the paying customer / organization
└── Subscriber   ← a user or device that consumes connectivity
    └── Subscription  ← a connectivity plan

Rule of thumb:

  • One Account per paying customer.
  • One Subscriber per user or device that consumes connectivity.
  • One Subscription per connectivity plan.

Resource References

Subscriptions reference the provisioned connectivity resources:

Subscription → Product → Product Offering
Subscription → SIM Profile

Store all returned resource IDs in your system. They are required for support, lifecycle management, and operational troubleshooting.


Core Resources

The Connect API is resource-oriented. Most integrations start with catalog and provisioning resources, then expand into renewals, number portability, billing, and webhook-driven lifecycle updates.

Catalog & Commercialization

ResourcePrefixDescription
Product Catalogprdcat_Organized collection of sellable connectivity plans
Product Offeringsprdoff_Commercial plans, bundles, and add-ons available for purchase
Coverage Areascov_Geographic or network coverage constraints for offerings

Identity, Provisioning & Lifecycle

ResourcePrefixDescription
Accountsacc_Paying customer or organization that owns subscribers and billing
Subscriberssubr_End users or devices that consume connectivity
Ordersord_Purchase and lifecycle change requests (provision, modify, cancel)
Productsprd_Provisioned instances created after a successful order
Subscriptionssubs_Active connectivity lifecycle, balances, and service state
SIM Profilessimp_eSIM or physical SIM profiles used for connectivity
Verificationsvrf_Short-lived one-time-code sessions used to confirm end-user actions such as phone number verification

Recurring & Renewals

ResourcePrefixDescription
Renewal Groupsrnwgrp_Container that manages recurring prepaid renewal cycles for a product
Renewalsrnw_Individual renewal cycles within a group (pending, scheduled, completed)

Numbers & Portability

ResourcePrefixDescription
Phone Numberspn_MSISDN resources assigned to subscriptions
Portingsport_Number portability workflows when customers keep their existing number
Filesfile_Uploaded documents that support business processes such as porting authorization

Billing, Compliance & Operations

ResourcePrefixDescription
Invoicesinv_Itemized billing documents for accounts and subscriptions
Credit Notescn_Refunds, corrections, and billing adjustments against invoices
Discountsdis_Discount configurations applied to invoices and recurring charges
Contractscon_Contract summaries and compliance artifacts (where required)

Integration

ResourcePrefixDescription
Webhookswbh_Webhook endpoint configurations used to receive lifecycle notifications
Eventsevt_Webhook events emitted asynchronously for provisioning and lifecycle changes

Product Offering vs Product

This is one of the most important concepts in Connect.

Product Offering

A Product Offering is the commercial template you sell.

Example:

Europe 5GB
30 days
€10

It exists in the catalog and is shared across all customers.

Product

A Product is the provisioned instance created after a successful Order.

Example:

Europe 5GB
Assigned to subscriber subr_123
Activated on 2026-05-20

In short:

  • You display and sell Product Offerings
  • Customers consume Products

Orders Are Asynchronous

POST /orders starts provisioning work, but provisioning completes asynchronously.

Typical Order lifecycle:

accepted → in_progress → completed
                           ↘ failed

A typical sequence looks like this:

Your Backend → POST /orders → 202 Accepted
Connect provisions connectivity asynchronously
Connect → webhook → order.completed

The initial API response confirms the request was accepted.

Webhook events confirm the final provisioning result.


Common Mistake

Polling GET /orders/{id} waiting for eSIM installation details

Correct approach:

  1. Wait for order.completed to confirm the Order was completed successfully
  2. Wait for subscription.sim_profile.ready_for_installation to receive the eSIM installation details
  3. Deliver the installation details to the end user
  4. Use subscription.sim_profile.installed to know when the eSIM has been installed on the device

order.completed means the Order completed successfully. It does not mean the end user has installed the eSIM.


Webhook-First Architecture

Connect is designed around asynchronous lifecycle events.

Your integration should treat webhooks as the primary source of truth for provisioning completion and lifecycle updates.

Common webhook events include:

order.completed
order.failed
subscription.sim_profile.ready_for_installation
subscription.sim_profile.installed

Typical provisioning flow:

  1. You create an Order
  2. Connect starts provisioning
  3. Webhooks notify your backend as states change
  4. Your system updates the customer experience

You must expose an HTTPS endpoint capable of receiving webhook events.


Production Integration Rules

When building production integrations:

  1. Always send Idempotency-Key on supported write operations
  2. Always send Correlation-Id for observability and support
  3. Prefer webhooks over aggressive polling
  4. Store all resource IDs returned by the API
  5. Handle failure states such as order.failed

Next Steps