Skip to main content

Get subscription status

Summary

Returns the current state of a subscription owned by the calling merchant. Use this to reconcile state — for example, after the user is redirected back from a web-init flow, or to detect cancellations applied carrier-side.

Path

POST https://merchants.noju.io/subscriptions/status

Headers

HeaderRequiredValue
API-KEYyesYour merchant API key.
Content-Typeyesapplication/json

Request body

FieldTypeRequiredDescription
subscription_idstringyesThe subscription's public UUID.

Success payload

On status: "SUCCESS", payload contains:

FieldTypeDescription
subscription_idstringEcho of the requested ID.
statusstringSubscription state (e.g. ACTIVE, CANCELED, EXPIRED).
msisdnstringThe subscriber's MSISDN.
service_codestringThe service code for this subscription.
service_namestringHuman-readable service name.
subscribed_dtstring (ISO-8601) | nullWhen the subscription was first activated.
expiry_dtstring (ISO-8601) | nullWhen the subscription expires. Re-billing will be attempted on this date.
canceled_dtstring (ISO-8601) | nullWhen the subscription was canceled.
content_linkstring | nullURL to service content, if applicable.

Errors

HTTPmessageWhen
400BAD_REQUESTBody fails JSON schema validation.
401UNAUTHORIZEDAPI key missing, invalid, or merchant inactive.
403UNAUTHORIZEDSource IP not allowlisted.
403MERCHANT_SERVICE_NOT_CONFIGUREDNo integration for the provided service_code + country_code.
404SUBSCRIPTION_NOT_FOUNDNo subscription matches the supplied ID.
500ERRORUnexpected server error.

Examples

Request

{
"subscription_id": "550e8400-e29b-41d4-a716-446655440000"
}

Success response

{
"status": "SUCCESS",
"message": "",
"status_code": 200,
"payload": {
"subscription_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "ACTIVE",
"msisdn": "60123456789",
"service_code": "NORDVPN",
"service_name": "NordVPN",
"subscribed_dt": "2026-04-29T10:15:30.123456",
"expiry_dt": "2026-05-29T10:15:30.123456",
"canceled_dt": null,
"content_link": "https://example.com/content"
}
}

Failure response

{
"status": "FAIL",
"message": "SUBSCRIPTION_NOT_FOUND",
"status_code": 404
}

Code samples

curl -X POST 'https://merchants.noju.io/subscriptions/status' \
-H 'Content-Type: application/json' \
-H "API-KEY: $NOJU_API_KEY" \
-d '{"subscription_id":"550e8400-e29b-41d4-a716-446655440000"}'