Creates a new subscription order for a customer. The order goes through validation, pricing calculation, and customer lookup/creation. If no customer exists with the provided email, one is automatically created.
| Type | Description | When to use |
|---|---|---|
standard | New subscription order | Default for new customers or new products |
extension | Extend an existing subscription | Customer wants to keep device longer |
upgrade | Replace with a different product | Customer wants a better/different device |
customerId is returned in the order response and can be used for future orders.
billingAddress and shippingAddress support these fields:
| Field | Required | Description |
|---|---|---|
contactName | Yes | Person to contact at this address |
streetAddress | Yes | Street name and number |
city | Yes | City name |
country | Yes | Country name |
company | No | Company name (for business addresses) |
buildingInfo | No | Building, floor, suite details |
locality | No | Neighborhood or district |
adminArea | No | State, province, or region |
postalCode | No | ZIP or postal code |
customFields to store additional data specific to your business:
pending statusconfirmed status)| Error Code | Cause | Solution |
|---|---|---|
VALIDATION_ERROR | Missing required fields | Check details for specific field errors |
VARIANT_NOT_FOUND | SKU doesn’t exist | Verify SKU against your product catalog |
VARIANT_INACTIVE | SKU exists but is deactivated | Reactivate variant or use different SKU |
INVALID_CONTRACT_LENGTH | Unsupported contract duration | Use a configured contract length (e.g., 12, 24, 36) |
API key obtained from FlexPortal dashboard
Your tenant identifier