Authorization
Example:
Authorization | Bearer Paste-Your-API-Key-HerePath Parameters
The public membership code of the member to cancel.Example:
MBR8X2QKRequest Body
productId may be supplied in the request body OR as a query parameter (see
Query Parameters). At least one location is required.
The unique identifier of the product the member belongs to. Accepted here in the
JSON body, or alternatively as a query parameter.Example:
7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5fQuery Parameters
Alternative location for
productId when you prefer not to send a request body.
Use either the body field or this query parameter.Example:?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5fResponse
Successful Response — HTTP200
Main Structure (Root Object)
Status code from the API.
200 on success.Status message that describes the result. Note the singular
message key
(write endpoints use message; read/list endpoints use the plural messages).The cancellation result wrapper.
The cancelled membership customer record. Its
status is now stopped.Errors
All errors use the envelope{ "statusCode": <code>, "message": "<reason>" } (singular message).
Error Example 400
The HTTP status code of the error.
A human-readable description of the error.
| Status | message | When |
|---|---|---|
400 | Invalid path parameter | memberId is missing or malformed in the path. |
400 | Invalid request body | productId is missing from both the body and the query, or the request fails validation. |
400 | Membership member ini sudah tidak aktif (status: <status>). | The member is already inactive — its status is already stopped or finished (the value is interpolated into the message). |
404 | Member dengan ID <memberId> tidak ditemukan. | No membership member matches the given memberId. |
