Customer subscriptions
Connect API · https://api.conciar.com/connect/v1
Let a signed-in customer manage their product subscriptions. Responses carry the subscription with its product, price, payment method (card or IBAN last four digits, provider and method; never mandate references) and addresses. Skip, pause and cancel are refused (422) while a minimum commitment is still running. A subscription that is not this customer's, or not in a status the action allows, is 404.
INFO
La référence de l’API est en anglais.
List subscriptions
Bon à savoir
- A customer who is not a member gets {"subscriptions": []}.
curl "https://api.conciar.com/connect/v1/store/customer/subscriptions" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscriptions": [
{
"id": 31,
"status": {
"name": "active",
"color": "#10B981"
},
"quantity": 1,
"next_billing_at": "2026-11-01T00:00:00.000000Z",
"skip_count": 0,
"product": {
"…": "…"
},
"cycles_count": 4,
"…": "…"
}
]
}Get a subscription
Paramètres de chemin
idintegerobligatoireThe subscription id.
Codes de statut
404Not found for this customer.
curl "https://api.conciar.com/connect/v1/store/customer/subscriptions/31" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscription": {
"id": 31,
"status": {
"name": "active"
},
"…": "…"
}
}Skip renewals
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
timesintegerobligatoire1–12 renewals to skip.
Bon à savoir
- Active subscriptions only.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/skip" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token" \
-H "Content-Type: application/json" \
-d '{
"times": 1
}'{
"subscription": {
"…": "…"
},
"message": "The next 1 renewal(s) will be skipped."
}Undo skips
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
timesintegerAt least 1: how many to remove; all when left out.
Codes de statut
422This subscription has no pending skips.
Bon à savoir
- Active subscriptions only.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/unskip" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscription": {
"…": "…"
},
"message": "All pending skips have been removed."
}Pause
Paramètres de chemin
idintegerobligatoireThe subscription id.
Bon à savoir
- Active subscriptions only.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/pause" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscription": {
"…": "…"
},
"message": "Your subscription has been paused."
}Resume
Paused subscriptions only. A new period starts today; nothing is charged now.
Paramètres de chemin
idintegerobligatoireThe subscription id.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/resume" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscription": {
"…": "…"
},
"message": "Your subscription has been resumed. Next billing on 2026-11-16."
}Cancel
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
cancellation_reasonstringMax 500.
Bon à savoir
- Active or paused subscriptions.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/cancel" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"subscription": {
"…": "…"
},
"message": "Your subscription has been cancelled."
}Products to swap to
Other subscription products in this channel ({products: […]}), or, when the channel only allows variant swaps, the other in-stock variants of the same product ({variants: […]}). Needs product swapping turned on for the channel; active or paused subscriptions.
Paramètres de chemin
idintegerobligatoireThe subscription id.
Codes de statut
422{message, errors} — product swap is not enabled for this channel, or the subscription is not found or not active.
curl "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/swap-options" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token"{
"products": [
{
"id": 9002,
"…": "…"
}
]
}Swap product
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
product_idintegerThe new product (required for product swaps): an active subscription product in this channel.
product_variant_idintegerThe new variant (required for variant-only swaps; optional with product_id). Must be active and in stock.
Codes de statut
422{message, errors} — swap not enabled, subscription not found or not active, or the product / variant not available or already the current one.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/swap" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token" \
-H "Content-Type: application/json" \
-d '{
"product_id": 9002
}'{
"subscription": {
"…": "…"
},
"message": "Your subscription product has been updated."
}Change payment method
Starts a mandate payment of the smallest unit of the currency (e.g. € 0.01). Send the customer to payment_url.
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
payment_service_provider_idintegerobligatoireProvider id (payment_service_provider_id from the payment methods).
payment_method_idintegerobligatoireMethod id (id from the payment methods).
return_urlstringobligatoireA URL.
Codes de statut
404Unknown subscription (or not active or paused), provider or method.422Validation, or the payment could not be started.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/payment-method" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token" \
-H "Content-Type: application/json" \
-d '{
"payment_service_provider_id": 2,
"payment_method_id": 1,
"return_url": "https://shop.example.com/account"
}'{
"payment_url": "https://payment-provider.example/checkout/…",
"transaction_key": "example-transaction-key",
"transaction": {
"transaction_key": "example-transaction-key",
"amount": "0.01",
"payment_url": "https://payment-provider.example/checkout/…",
"status": {
"name": "pending",
"color": "#F59E0B"
},
"…": "…"
}
}Shipping methods for a subscription
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
country_codestringobligatoireISO-2.
postal_codestringMax 20.
province, city, districtstringMax 100 each.
Bon à savoir
- Active or paused subscriptions. Availability and cost use the subscription's renewal subtotal.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/shipping-methods" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token" \
-H "Content-Type: application/json" \
-d '{
"country_code": "NL"
}'{
"shipping_methods": [
{
"id": 3,
"type": "flat_rate",
"is_free": false,
"…": "…"
}
]
}Change shipping
Replaces the shipping method and addresses for future renewals.
Paramètres de chemin
idintegerobligatoireThe subscription id.
Corps
shipping_method_idintegerobligatoireA shipping method of this organization.
shipping_addressobjectobligatoirestreet, house_number, city, zipcode and country_id required; apartment, district, state optional.
billing_addressobjectSame fields (not validated); defaults to the shipping address.
Codes de statut
404Unknown subscription (or not active or paused) or shipping method.422Validation, or the selected shipping method is not available for this address.
curl -X POST "https://api.conciar.com/connect/v1/store/customer/subscriptions/31/shipping" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key" \
-H "X-Sales-Channel: cnct_ch_your_channel_token" \
-H "Authorization: Bearer your_customer_access_token" \
-H "Content-Type: application/json" \
-d '{
"shipping_method_id": 3,
"shipping_address": {
"street": "Example Street",
"house_number": "1",
"city": "Example City",
"zipcode": "1000 AA",
"country_id": 150
}
}'{
"subscription": {
"…": "…"
}
}