Get Points Expiry Schedule

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
👍

For an overview on our APIs and for hands-on testing, refer to API overview and Make your first API call documentation.

This API retrieves the history of points expiry schedules for a specific duration. The expiry schedules are sorted by date in the ascending order. This is a light API and hence the data retrieval is faster as it shows only the key information of the API.

Prerequisites

  • Basic or OAuth credentials
  • Read access to Points access group resource
  • If the dual eligibility configuration is set to true, the API will not work.

Example request

curl --location 'https://eu.api.capillarytech.com/v2/customers/lookup/pointsExpirySchedule?source=INSTORE&identifierName=email&identifierValue=testgr10%40gmail.com&programId=973' \
--header 'Authorization: Basic bWFkaHU2YQ==' \
--header 'Cookie: _cfuvid=6YGS7PapTDGsKc7JD9w_pnV5CKUsdzslUmxwoX0R9pY-1757168968223-0.0.1.1-604800000; _cfuvid=zYS0gwmsMVAj9DUolHoCbzD_Ta014xaIOdd9xXQS4h0-1758706722158-0.0.1.1-604800000'
curl --location 'https://eu.api.capillarytech.com/v2/customers/lookup/pointsExpirySchedule?source=INSTORE&identifierName=mobile&identifierValue=9777785208&programId=973' \
--header 'Authorization: Basic bWFkaHVfMjU2YQ==' \
--header 'Cookie: _cfuvid=6YGS7PapTDGsKc7JD9w_pnV5CKUsdzslUmxwoX0R9pY-1757168968223-0.0.1.1-604800000; _cfuvid=zYS0gwmsMVAj9DUolHoCbzD_Ta014xaIOdd9xXQS4h0-1758706722158-0.0.1.1-604800000'

Resource Information

URIv2/customers/565039505/pointsExpirySchedule
HTTP methodGET
AuthenticationBasic
Pagination supportNo
Rate limitYes
Batch SupportNo

Query parameters

FieldTypeRequiredDescription
source*EnumYesSource on which the identifier is available.
The supported values are FACEBOOK,WEB_ENGAGE,WECHAT,
INSTORE,MARTJACK,TMALL,TAOBAO,JD,ECOMMERCE,WEBSITE,LINE, and ALL.
accountIdStringOptionalAccount ID of a specific source if the source has multiple accounts.
identifierName*EnumYesIdentifier type used to fetch the customer's expiry schedule details.
The supported values are mobile,email,externalId,cardnumber,cardExternalId.
identifierValue*StringYesIdentifier of the customer specific to the identifierName.
fetchDataForAllProgramsBooleanOptionalIf true Returns expiry schedules for all loyalty programs the customer is enrolled in. If false Returns expiry schedules only for the specified programId (or the default program if programId is omitted).
fetchEarliestExpiryOnlyBooleanOptionalWhen set to true, the API returns the earliest expiry for each unique (programId + pointsType + expiryType) group. When false (default), it returns all expiry schedules for the customer.
startDateStringOptionalStart date (YYYY-MM-DD) for fetching points expiry schedules. Must be future dated (current date + 1 day minimum). Time components not supported. Example: If today is 2023-10-25, earliest allowed is 2023-10-26
endDateStringOptionalEnd date (YYYY-MM-DD) for the expiry schedule range. Defaults to startDate + 100 years if omitted. Maximum range: 100 years from current date. Time components not supported. Example: With startDate=2023-10-26, maximum endDate is 2123-10-26
programIdintegerOptionalUnique ID of the program. Filter by a specific loyalty program; if omitted, uses the default program.

Example response

{
    "id": 565032200,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 331.9,
            "expiryDate": "2026-06-11",
            "expiryDateISO": "2026-06-11T00:00:00Z",
            "programId": 973,
            "pointsType": "customer_promotions",
            "expiryType": "rolling"
        },
        {
            "points": 5000,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z",
            "programId": 973,
            "pointsType": "customer_promotions",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}
{
    "id": 565032176,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 497,
            "expiryDate": "2026-06-11",
            "expiryDateISO": "2026-06-11T00:00:00Z",
            "programId": 973,
            "pointsType": "customer_promotions",
            "expiryType": "rolling"
        }
    ],
    "warnings": []
}

Response parameter

ParameterTypeDescription
idintegerUnique identifier.
profilesarrayList containing profile details.
loyaltyInfoobjectObject containing information about loyalty.
loyaltyInfo.loyaltyTypestringType of loyalty, in this instance, "loyalty".
segmentsobjectObject containing segment details.
extendedFieldsobjectObject containing extended field details (currently empty).
expirySchedulesarrayList containing details of points expiry schedules.
expirySchedules[].pointsdecimalNumber of points in each expiry schedule.
expirySchedules[].expiryDatestringDate on which the points in each expiry schedule will expire in YYYY-MM-DD format. Note: This field will be deprecated in the future and is being replaced by expiryDateISO.
expirySchedules[].expiryDateISOstring

Indicates the points expiry date and time in ISO 8601 format, returned in the server time zone.

EU server example
2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)

India server example
2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

expirySchedules[].programIdintegerIdentifier for the program associated with the points in each expiry schedule.
expirySchedules[].pointsTypestringType of points in each expiry schedule (e.g., "line_item_regular", "bill_regular").
expirySchedules[].expiryTypestringType of expiry for the points in each expiry schedule (in this case, "fixed").
warningsarrayList containing warnings related to the entity (currently empty).

Examples

with fetchDataForAllPrograms=false and fetchEarliestExpiryOnly=false

http://{{url}}/v2/customers/lookup/pointsExpirySchedule?identifierName=mobile&identifierValue=919116112960&source=INSTORE&fetchDataForAllPrograms=false&fetchEarliestExpiryOnly=false&programId=1357

{
    "id": 421098436,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 200.0,
          "expiryDate": "2125-03-26",
          "expiryDateISO": "2125-03-26T00:00:00Z"

            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        },
        {
            "points": 100.0,
            "expiryDate": "2022-05-20",
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}

when fetchDataForAllPrograms=true and fetchEarliestExpiryOnly=false

http://{{url}}/v2/customers/lookup/pointsExpirySchedule?identifierName=mobile&identifierValue=919116112960&source=INSTORE&fetchDataForAllPrograms=true&fetchEarliestExpiryOnly=false&programId=1357

{
    "id": 421098436,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 100.0,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1356,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        },
        {
            "points": 20.0,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1356,
            "pointsType": "bill_regular",
            "expiryType": "fixed"
        },
        {
            "points": 200.0,
           "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        },
        {
            "points": 100.0,
            "expiryDate": "2022-05-20",
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}

when fetchDataForAllPrograms=false and fetchEarliestExpiryOnly=true

http://{{url}}/v2/customers/lookup/pointsExpirySchedule?identifierName=mobile&identifierValue=919116112960&source=INSTORE&fetchDataForAllPrograms=false&fetchEarliestExpiryOnly=true&programId=1357

{
    "id": 421098436,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 200.0,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}

when fetchDataForAllPrograms=true and fetchEarliestExpiryOnly=true

http://{{url}}/v2/customers/lookup/pointsExpirySchedule?identifierName=mobile&identifierValue=919116112960&source=INSTORE&fetchDataForAllPrograms=true&fetchEarliestExpiryOnly=true&programId=1357

{
    "id": 421098436,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 100.0,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1356,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        },
        {
            "points": 20.0,
            "expiryDate": "2122-03-20",
            "programId": 1356,
            "pointsType": "bill_regular",
            "expiryType": "fixed"
        },
        {
            "points": 200.0,
            "expiryDate": "2022-05-19",
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}

with startDate and endDate

http://{{url}}/v2/customers/lookup/pointsExpirySchedule?identifierName=mobile&identifierValue=919116112960&source=INSTORE&startDate=2020-01-01&endDate=2040-03-01&programId=1357&fetchEarliestExpiryOnly=false&fetchDataForAllPrograms=true

{
    "id": 421098436,
    "profiles": [],
    "loyaltyInfo": {
        "loyaltyType": "loyalty"
    },
    "segments": {},
    "extendedFields": {},
    "expirySchedules": [
        {
            "points": 200.0,
            "expiryDate": "2125-03-26",
            "expiryDateISO": "2125-03-26T00:00:00Z"
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        },
        {
            "points": 100.0,
            "expiryDate": "2022-05-20",
            "programId": 1357,
            "pointsType": "line_item_regular",
            "expiryType": "fixed"
        }
    ],
    "warnings": []
}

API specific error code

Error CodeDescriptionReason
8015Customer not found for the given identifiersInvalid or missing customer identifier passed
8003Invalid sourceUnsupported source parameter passed
8130Lookup,Invalid Params passedUnsupported query parameter passed
1216The date format used for startDate is not supported. Enter the date in (yyyy-MM-dd) format
The date format used for endDate is not supported. Enter the date in (yyyy-MM-dd) format
Incorrect format given for startDate and endDate parameter
1215startDate cannot be in pastPast date given for startDate parameter
1214startDate is after endDateDate provided in startDate parameter is beyond the end date
1217endDate cannot be after 100 years from nowDate provided for endDate is beyond 100 years
885Invalid program id passedUnsupported program Id
Path Params
int64
required
Headers
string
Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json