Naar de inhoud

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

De API-referentie is in het Engels.

List subscriptions ​

GET/connect/v1/store/customer/subscriptions
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Goed om te weten

  • 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"
Voorbeeldantwoord · 200
{
  "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 ​

GET/connect/v1/store/customer/subscriptions/{id}
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Statuscodes

  • 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"
Voorbeeldantwoord · 200
{
  "subscription": {
    "id": 31,
    "status": {
      "name": "active"
    },
    "…": "…"
  }
}

Skip renewals ​

POST/connect/v1/store/customer/subscriptions/{id}/skip
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • timesintegerverplicht

    1–12 renewals to skip.

Goed om te weten

  • 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
  }'
Voorbeeldantwoord · 200
{
  "subscription": {
    "…": "…"
  },
  "message": "The next 1 renewal(s) will be skipped."
}

Undo skips ​

POST/connect/v1/store/customer/subscriptions/{id}/unskip
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • timesinteger

    At least 1: how many to remove; all when left out.

Statuscodes

  • 422This subscription has no pending skips.

Goed om te weten

  • 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"
Voorbeeldantwoord · 200
{
  "subscription": {
    "…": "…"
  },
  "message": "All pending skips have been removed."
}

Pause ​

POST/connect/v1/store/customer/subscriptions/{id}/pause
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Goed om te weten

  • 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"
Voorbeeldantwoord · 200
{
  "subscription": {
    "…": "…"
  },
  "message": "Your subscription has been paused."
}

Resume ​

Paused subscriptions only. A new period starts today; nothing is charged now.

POST/connect/v1/store/customer/subscriptions/{id}/resume
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The 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"
Voorbeeldantwoord · 200
{
  "subscription": {
    "…": "…"
  },
  "message": "Your subscription has been resumed. Next billing on 2026-11-16."
}

Cancel ​

POST/connect/v1/store/customer/subscriptions/{id}/cancel
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • cancellation_reasonstring

    Max 500.

Goed om te weten

  • 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"
Voorbeeldantwoord · 200
{
  "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.

GET/connect/v1/store/customer/subscriptions/{id}/swap-options
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Statuscodes

  • 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"
Voorbeeldantwoord · 200
{
  "products": [
    {
      "id": 9002,
      "…": "…"
    }
  ]
}

Swap product ​

POST/connect/v1/store/customer/subscriptions/{id}/swap
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • product_idinteger

    The new product (required for product swaps): an active subscription product in this channel.

  • product_variant_idinteger

    The new variant (required for variant-only swaps; optional with product_id). Must be active and in stock.

Statuscodes

  • 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
  }'
Voorbeeldantwoord · 200
{
  "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.

POST/connect/v1/store/customer/subscriptions/{id}/payment-method
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • payment_service_provider_idintegerverplicht

    Provider id (payment_service_provider_id from the payment methods).

  • payment_method_idintegerverplicht

    Method id (id from the payment methods).

  • return_urlstringverplicht

    A URL.

Statuscodes

  • 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"
  }'
Voorbeeldantwoord · 200
{
  "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 ​

POST/connect/v1/store/customer/subscriptions/{id}/shipping-methods
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • country_codestringverplicht

    ISO-2.

  • postal_codestring

    Max 20.

  • province, city, districtstring

    Max 100 each.

Goed om te weten

  • 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"
  }'
Voorbeeldantwoord · 200
{
  "shipping_methods": [
    {
      "id": 3,
      "type": "flat_rate",
      "is_free": false,
      "…": "…"
    }
  ]
}

Change shipping ​

Replaces the shipping method and addresses for future renewals.

POST/connect/v1/store/customer/subscriptions/{id}/shipping
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • idintegerverplicht

    The subscription id.

Body

  • shipping_method_idintegerverplicht

    A shipping method of this organization.

  • shipping_addressobjectverplicht

    street, house_number, city, zipcode and country_id required; apartment, district, state optional.

  • billing_addressobject

    Same fields (not validated); defaults to the shipping address.

Statuscodes

  • 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
    }
  }'
Voorbeeldantwoord · 200
{
  "subscription": {
    "…": "…"
  }
}