Skip to main content
curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/update' \
--header 'Authorization: Bearer Paste-Your-API-Key-Here' \
--header 'Content-Type: application/json' \
--data-raw '{
    "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
    "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d",
    "membershipMonthlyPeriod": 1,
    "status": "active",
    "nextPayment": "2026-08-20T09:10:57.994Z",
    "expiredAt": "2026-09-20T09:10:57.994Z"
}'
{
    "statusCode": 200,
    "message": "success",
    "data": {
        "membershipCustomer": {
            "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f",
            "memberId": "MBR8X2QK",
            "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413",
            "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
            "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d",
            "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
            "monthlyPaymentPeriod": 1,
            "status": "active",
            "nextPayment": "2026-08-20T09:10:57.994Z",
            "expiredAt": "2026-09-20T09:10:57.994Z",
            "createdAt": "2026-06-20T09:10:57.994Z",
            "updatedAt": "2026-06-23T10:30:00.000Z"
        }
    }
}
Endpoint:
https://api.mayar.id/hl/v2/memberships/members/(memberId)/update

Authorization

Authorization
string
required
Example:Authorization | Bearer Paste-Your-API-Key-Here

Path Parameters

memberId
string
required
The public membership code of the member to update.Example:MBR8X2QK

Request Body

productId is the only required field. The remaining fields are optional — send only the ones you want to change.
productId
string
required
The unique identifier of the product the member belongs to. The product must belong to the authenticated user.Example:7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f
membershipTierId
string
The unique identifier of the membership tier to move the member to.
membershipMonthlyPeriod
integer
The monthly billing period for the membership.
status
string
The new status for the member (for example active, stopped, inactive, finished).
nextPayment
string
The member’s next scheduled payment, as a UTC ISO 8601 string (for example 2026-08-20T09:10:57.994Z) — not an epoch-millisecond value.
expiredAt
string
The membership expiry time, as a UTC ISO 8601 string (for example 2026-09-20T09:10:57.994Z).

Response

Successful Response — HTTP 200

Main Structure (Root Object)

statusCode
integer
Status code from the API. 200 on success.
message
string
Status message that describes the status code. Note the singular message key (write endpoints use message; read/list endpoints use the plural messages).
data
object
The update result wrapper.
data.membershipCustomer
object
The updated membership customer record.

Errors

All errors use the envelope { "statusCode": <code>, "message": "<reason>" } (singular message).
Error Example 400
{
    "statusCode": 400,
    "message": "Invalid request body"
}
statusCode
integer
The HTTP status code of the error.
message
string
A human-readable description of the error.
Common errors:
StatusmessageWhen
400Invalid path parametermemberId is missing or malformed in the path.
400Invalid request bodyThe request body is missing required fields or fails validation.
400You are not authorized to edit this product!The productId does not belong to the authenticated user.