Members

We provide a few apis to check the members, using these apis you can check balances and the passes for a member.


GET/members/list

List members

This endpoint allows you to fetch all member with their data for a brand. This api contains pagination. You can use the page and per_page parameters to fetch the data. You can also fetch all data at once by witholding the page and per_page parameters.

Note

That when you fetch all data once it will take a while to process the request when having more than 3000 members.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    page
    Type
    string|Optional
    Description

    The current page that you want to fetch

  • Name
    per_page
    Type
    string|Optional
    Description

    The amount of members to return at once

Request

GET
/members/list
curl -X POST https://api.walletapp.co/members/list
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "page": "<page>",
    "per_page": "<per_page>"
}'

Response

{
    "message": "Request successful",
    "data": {
        "total": "<total_amount_of_records>",
        "last_page": "<last_page>",
        "next_page_url": "http://api.walletapp.co/members/list?page=<page_number>&per_page=<per_page>",
        "per_page": "<per_page>",
        "last_page_url": "http://api.walletapp.co/members/list?page=<last_page>&per_page=<per_page>",
        "members": [
            {
                "email": "<member_email>",
                "full_name": "<member_name>",
                "identifier": "<member_identifier>",
                "unsubscribed": 0,
                "last_name": "<member_last_name>",
                "phone_number": "<member_phone_number>",
                "birth_date": "<member_birth_day>",
                "street": "<member_street>",
                "house_number": "<member_house_number>",
                "postcode": "<member_postcode>",
                "city": "<member_city>",
                "country": "<member_country>",
                "subscribed_at": "<member_subscribed_at>"
            },
            ...
        ]
    }
}
POST/import/export

List members points

This endpoint provides a list of members with the pass qr_code and points balance.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    storecard_id
    Type
    string|Optional
    Description

    The storecard id to get the members for.

Request

POST
/import/export
curl -X POST https://api.walletapp.co/import/export
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "storecard_id": "<storecard_id>"
}'

Response

{
    "success": true,
    "data": [
        {
            "email": "<email>",
            "name": "<name>",
            "points": 0,
            "qr_code": "<pass_code>"
        },
        ...
    ]
}

GET/members

Search for email

Get a list of all the passes for a member.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Query parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    email
    Type
    string|Optional
    Description

    The email to search for.

  • Name
    user_identifier
    Type
    string|Optional
    Description

    The user identifier to search for.

Request

GET
/members
curl -X GET https://api.walletapp.co/members
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "<email>",
    "user_identifier": "<User UUID>"
}'

Response

{
    "success": true,
    "email": "jane.doe@example.com",
    "member_id": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "identifier": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "member_full_name": "Jane Doe",
    "pass_codes": [
        "<pass_code>",
        ...
    ],
    "storecards": [
        "<storecard_pass_code>",
        ...
    ]
}

POST/members

Create a member

Create a single member synchronously and get its UUID back in the response.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description
    The brand id the member signs up for.
  • Name
    email
    Type
    string|Required
    Description
    The email address of the member. Matching is case-insensitive.
  • Name
    first_name
    Type
    string|Optional
    Description
    Given name (max 191 characters).
  • Name
    last_name
    Type
    string|Optional
    Description
    Family name (max 191 characters).
  • Name
    phone_number
    Type
    string|Optional
    Description
    Phone number.
  • Name
    birth_day
    Type
    string|Optional
    Description
    Date of birth, format Y-m-d (for example 1990-04-12).
  • Name
    street
    Type
    string|Optional
    Description
    Street name.
  • Name
    house_number
    Type
    string|Optional
    Description
    House number.
  • Name
    postcode
    Type
    string|Optional
    Description
    Postcode.
  • Name
    city
    Type
    string|Optional
    Description
    City.
  • Name
    country
    Type
    string|Optional
    Description
    Country.
  • Name
    unsubscribed
    Type
    boolean|Optional
    Description
    Create the member as unsubscribed from marketing. Defaults to false.

Behaviour

This endpoint is idempotent on the email address. When the email is new, the member is created and the response status is 201. When the email already exists, nothing is overwritten, the existing UUID is returned with status 200 and created is false; if the member was not yet linked to the brand it is linked now. Use PUT /members/{uuid} to change the profile of an existing member.

A brand that does not belong to your token returns 404. Invalid input returns 422.

Request

POST
/members
curl -X POST https://api.walletapp.co/members
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "jane.doe@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "phone_number": "+31600000000",
    "birth_day": "1990-04-12",
    "city": "Utrecht",
    "country": "NLD"
}'

Response

{
    "success": true,
    "created": true,
    "member_id": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "identifier": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11"
}

GET/members/{uuid}

Get a member

Fetch the profile of a single member by UUID, including its storecard and coupon passes.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Path / query parameters

  • Name
    uuid
    Type
    string|Required
    Description
    The member UUID (identifier), as returned by POST /members, GET /members or POST /members/uuid.
  • Name
    brand_id
    Type
    string|Required
    Description
    The brand id the member belongs to.

Response

  • Name
    profile
    Type
    object
    Description
    The profile of the member. Fields without a value are null.
  • Name
    unsubscribed
    Type
    boolean
    Description
    Whether the member unsubscribed from marketing for this brand.
  • Name
    subscribed_at
    Type
    string
    Description
    When the member joined the brand.
  • Name
    storecards
    Type
    array
    Description
    The storecard passes of the member for this brand: pass_code, status, expiration_date and wallet_url.
  • Name
    coupons
    Type
    array
    Description
    The coupon passes of the member for this brand, same fields as storecards.

The wallet_url opens the download page where the member adds the pass to Apple Wallet or Google Wallet.

A member that does not exist, or that is not a member of a brand in your organization, returns 404.

Request

GET
/members/{uuid}
curl -X GET "https://api.walletapp.co/members/<uuid>?brand_id=<brand_id>"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"

Response

{
    "success": true,
    "member_id": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "identifier": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "brand_id": "<brand_id>",
    "profile": {
        "email": "jane.doe@example.com",
        "first_name": "Jane",
        "last_name": "Doe",
        "full_name": "Jane Doe",
        "phone_number": "+31600000000",
        "birth_day": "1990-04-12",
        "street": null,
        "house_number": null,
        "postcode": null,
        "city": "Utrecht",
        "country": "NLD"
    },
    "unsubscribed": false,
    "subscribed_at": "2026-10-08 09:15:00",
    "storecards": [
        {
            "pass_code": "CARD-0001",
            "status": "active",
            "expiration_date": null,
            "wallet_url": "https://my.walletapp.co/pass/5d2c0f6e-8b9a-4c1d-a7f3-2e4b6a8c0d12"
        }
    ],
    "coupons": []
}

PUT/members/{uuid}

Update a member

Update the profile of a single member by UUID.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Path / body parameters

  • Name
    uuid
    Type
    string|Required
    Description
    The member UUID (identifier).
  • Name
    brand_id
    Type
    string|Required
    Description
    The brand id the member belongs to.
  • Name
    first_name
    Type
    string|Optional
    Description
    Given name (max 191 characters).
  • Name
    last_name
    Type
    string|Optional
    Description
    Family name (max 191 characters).
  • Name
    phone_number
    Type
    string|Optional
    Description
    Phone number.
  • Name
    birth_day
    Type
    string|Optional
    Description
    Date of birth, format Y-m-d (for example 1990-04-12).
  • Name
    street
    Type
    string|Optional
    Description
    Street name.
  • Name
    house_number
    Type
    string|Optional
    Description
    House number.
  • Name
    postcode
    Type
    string|Optional
    Description
    Postcode.
  • Name
    city
    Type
    string|Optional
    Description
    City.
  • Name
    country
    Type
    string|Optional
    Description
    Country.

Behaviour

Partial and synchronous: only the fields you send are changed, all others keep their value. Send a field as null to clear it. The email address cannot be changed through this endpoint. The response contains the updated member in the same format as GET /members/{uuid}.

A member that does not exist, or that is not a member of a brand in your organization, returns 404. Invalid input returns 422. To update many members at once use PUT /bulk/members.

Request

PUT
/members/{uuid}
curl -X PUT https://api.walletapp.co/members/<uuid>
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "first_name": "Janet",
    "street": "Voorbeeldstraat"
}'

Response

{
    "success": true,
    "member_id": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "identifier": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
    "brand_id": "<brand_id>",
    "profile": {
        "email": "jane.doe@example.com",
        "first_name": "Janet",
        "last_name": "Doe",
        "full_name": "Janet Doe",
        "street": "Voorbeeldstraat",
        "...": "..."
    },
    "unsubscribed": false,
    "subscribed_at": "2026-10-08 09:15:00",
    "storecards": [],
    "coupons": []
}

POST/members/uuid

Find member UUIDs

Look up the member UUIDs for a list of email addresses in one call.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description
    The brand id to look the members up for.
  • Name
    emails
    Type
    array|Required
    Description
    The email addresses to look up.

Email addresses that are unknown are left out of the response.

Request

POST
/members/uuid
curl -X POST https://api.walletapp.co/members/uuid
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "emails": ["jane.doe@example.com", "john.smith@example.com"]
}'

Response

{
    "message": "Request successful",
    "data": {
        "jane.doe@example.com": "0b8f7c1e-2f4a-4d57-9a53-0d1c6b0e7a11",
        "john.smith@example.com": "7c4e91a2-6d3b-4f08-b1e5-93a0d2c8f467"
    }
}

PATCH/members/subscribe

Subscribe a member

Subscribe a previously unsubscribed member to marketing again. This is the counterpart of PATCH /members/unsubscribe.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description
    The brand id.
  • Name
    email
    Type
    string|Required
    Description
    The email address of the member to subscribe again. Returns 400 when the member is already subscribed and 404 when the member is unknown for the brand.

To subscribe many members at once, send POST /members/subscribe with email as an array of up to 2000 addresses; the response reports the amount of members that changed.

Request

PATCH
/members/subscribe
curl -X PATCH https://api.walletapp.co/members/subscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "jane.doe@example.com"
}'

Response

{
    "message": "Request successful",
    "data": "User subscribed"
}

PATCH/members/unsubscribe

Unsubscribe member

This endpoint allows you to unsubscribe a single member.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    email
    Type
    string|Required
    Description

    The users email adress.

Request

PATCH
/members/unsubscribe
curl -X PATCH https://api.walletapp.co/members/unsubscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "<email>"
}'

Response

{
    "message": "Request successful",
    "data": "User unsubscribed"
}

POST/members/unsubscribe

Bulk unsubscribe members

This endpoints allows you to unsubscribe a list of members.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    tags.get
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    email
    Type
    array|Required
    Description

    A list of email adresses.

Request

POST
/members/unsubscribe
curl -X POST https://api.walletapp.co/members/unsubscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "<email>"
}'

Response

{
    "message": "Request successful",
    "data": {
        "amount": 0,
        "message": "Unsubscribed 0 members"
    }
}

PATCH/members/subscribe

Subscribe member

Re-subscribe a single member that was unsubscribed from a brand.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand identifier.

  • Name
    email
    Type
    string|Required
    Description

    The member email address.

Returns 404 when the brand or the member is not found and 400 when the member is already subscribed.

Request

PATCH
/members/subscribe
curl -X PATCH https://api.walletapp.co/members/subscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": "jane@example.com"
}'

Response

{
    "message": "Request successful",
    "data": "User subscribed"
}

POST/members/subscribe

Bulk subscribe members

Re-subscribe a list of members for a brand. Only members that are currently unsubscribed are changed.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand identifier.

  • Name
    email
    Type
    array|Required
    Description

    Email addresses, 1 to 2000.

Returns 404 when the brand is unknown or none of the emails match a member.

Request

POST
/members/subscribe
curl -X POST https://api.walletapp.co/members/subscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "email": [
        "jane@example.com",
        "john@example.com"
    ]
}'

Response

{
    "message": "Request successful",
    "data": {
        "amount": 2,
        "message": "Subscribed 2 members"
    }
}

Members

We provide a few apis to check the members, using these apis you can check balances and the passes for a member.


POST/members/signups

Signups with IDS

This endpoint allows you to import members with extra data it returns a list with found (existing) and new members with the UUID

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    users
    Type
    Array|Required
    Description

    The array with users

  • Name
    users.*.email
    Type
    string|Required
    Description

    The users email

  • Name
    users.*.first_name
    Type
    string|Optional
    Description

    The users first name

  • Name
    users.*.last_name
    Type
    string|Optional
    Description

    The users last name

  • Name
    users.*.unsubscribed
    Type
    boolean|Optional
    Description

    Wether or not the user is subscribed

  • Name
    users.*.subscribed_at
    Type
    DateTime|Optional
    Description

    When the user subscribed, needs to be earlier than now()

Request

GET
/members/signups
curl -X POST https://api.walletapp.co/members/signups
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "users": [
        {
            "email": "<email>",
            "first_name": "<first_name>",
            "last_name": "<last_name>",
            "unsubscribed": "<unsubscribed>",
            "subscribed_at": "<subscribed_at>"
        }
    ]
}'

Response

{
    "message": "Request successful",
    "data": {
        "new": {
            "<email>": "<member_id>",
            "<email>": "<member_id>",
            "<email>": "<member_id>",
            "<email>": "<member_id>"
        },
        "found": {
            "<email>": "<member_id>"
        }
    }
}

POST/members/location

Favorite location

This endpoint allows you to add a favorite location to a member. It returns the member with the new favorite location added to it.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    location_id
    Type
    string|Required
    Description

    The location id to insert the members for.

  • Name
    users
    Type
    Array|Required
    Description

    The array with users

  • Name
    users.*
    Type
    string|Required
    Description

    The users identifier

Request

GET
/members/location
curl -X POST https://api.walletapp.co/members/location
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "location_id": "<location_id>",
    "users": [
        "<uuid>",
        ...
    ]
}'

Response

{
    "success": true,
    "users": [
        "<uuid>",
        ...
    ]
}

GET/members/{uuid}/coupons

Coupons for a member

This endpoint allow you to fetch all available coupons for a member. You can use the page and per_page parameters to fetch the data.

Note

Not that when the page and per_page are not provided we will paginate the data for you. This means that you will get the first page with 10 records.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    page
    Type
    string|Optional
    Description

    The current page that you want to fetch

  • Name
    per_page
    Type
    string|Optional
    Description

    The amount of members to return at once

Request

GET
/members/{uuid}/coupons
curl -X GET https://api.walletapp.co/members/{uuid}/coupons
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "page": "<page>",
    "per_page": "<per_page>"
}'

Response

    {
    "current_page": 1,
    "data": [
        {
            "created_at": <creation_date>,
            "updated_at": <update_data>,
            "expiration_date": <expiration_date>,
            "start_date": <start_date>,
            "qr_code": <qr_code on the pass>,
            "wlnt_code": <unique WLNT code>,
            "coupon_title": <title of associated Coupon>,
            "coupon_thumbnail_url": <image of associated Coupon>,
            "coupon_external_reference": <external_reference of associated Coupon>,
            "status": <status of this pass>
        }
    ],
    "first_page_url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
    "links": [
        {
            "url": null,
            "label": "&laquo; Previous",
            "active": false
        },
        {
            "url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://api.walletapp.co/members/{uuid}/coupons",
    "per_page": 10,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}

GET/members/{uuid}/storecards

Storecards for a member

This endpoint allow you to fetch all available storecards for a member. You can use the page and per_page parameters to fetch the data.

Note

Not that when the page and per_page are not provided we will paginate the data for you. This means that you will get the first page with 10 records.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.get
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to get the members for.

  • Name
    page
    Type
    string|Optional
    Description

    The current page that you want to fetch

  • Name
    per_page
    Type
    string|Optional
    Description

    The amount of members to return at once

Request

GET
/members/{uuid}/storecards
curl -X GET https://api.walletapp.co/members/{uuid}/storecards
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
    "page": "<page>",
    "per_page": "<per_page>"
}'

Response

    {
    "current_page": 1,
    "data": [
        {
            "created_at": <creation_date>,
            "updated_at": <update_data>,
            "expiration_date": <expiration_date>,
            "start_date": <start_date>,
            "qr_code": <qr_code on the pass>,
            "wlnt_code": <unique WLNT code>,
            "points": <points on the pass>,
            "balance": <balance on the pass>,
            "storecard_title": <title of the Storecard>,
            "storecard_thumbnail_url": <title of the associated Storecard>,
            "status": <status of this pass>
        }
    ],
    "first_page_url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
    "links": [
        {
            "url": null,
            "label": "&laquo; Previous",
            "active": false
        },
        {
            "url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://api.walletapp.co/members/{uuid}/storecards",
    "per_page": 10,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}

DELETE/members/{uuid}

Delete a member

This endpoint allows you delete the user from a brand, completely removing all associations with the brand. This action is irreversible.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    members.store
    Type
    string
    Description

    The scope required to access this endpoint.

Query / body parameters

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id to delete the members for.

Request

DELETE
/members/{uuid}
curl -X GET https://api.walletapp.co/members/{uuid}
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
    "brand_id": "<brand_id>",
}'

Response

    {
        "success": true,
        "message": "Member deleted"
    }

POST/members/{uuid}/passes

Issue a pass to a member

Issues a coupon pass or a storecard pass to one member, synchronously, and returns the pass code together with the wallet link. The member opens the link to add the pass to their wallet. This endpoint sends no e-mail.

A coupon always creates a new pass. A storecard creates a pass once per member: when the member already has a pass for that storecard, that pass is returned (status 200, created: false) instead of a second one.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    passes.store
    Type
    string
    Description

    The scope required to access this endpoint.

Path parameters

  • Name
    uuid
    Type
    string|Required
    Description

    The identifier of the member.

Request body

  • Name
    brand_id
    Type
    string|Required
    Description

    The id of the brand the member belongs to. The brand must belong to an organization the token has access to.

  • Name
    coupon_id
    Type
    string|Required without storecard_id
    Description

    The identifier of the coupon to issue.

  • Name
    storecard_id
    Type
    string|Required without coupon_id
    Description

    The identifier of the storecard to issue. Send either coupon_id or storecard_id, not both.

  • Name
    expiration_date
    Type
    string|Optional
    Description

    Overrides the expiration of a coupon pass, for example 2030-12-31. Use no-date for a pass that does not expire. Ignored for storecards.

Responses

  • Name
    201
    Type
    Created
    Description

    A new pass was created.

  • Name
    200
    Type
    OK
    Description

    Storecards only: the member already had this storecard, the existing pass is returned.

  • Name
    404
    Type
    Not found
    Description

    Unknown brand, member, coupon or storecard, or one that belongs to an organization the token cannot access.

  • Name
    403
    Type
    Forbidden
    Description

    The token does not have the passes.store ability.

  • Name
    422
    Type
    Unprocessable
    Description

    Missing brand_id, both or neither of coupon_id and storecard_id, or an invalid expiration_date.

Request

POST
/members/{uuid}/passes
curl -X POST https://api.walletapp.co/members/member-1234/passes
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
        "brand_id": "brand-1234",
        "coupon_id": "coupon-1234",
        "expiration_date": "2030-12-31"
    }'

Response

    {
        "success": true,
        "pass_code": "WLNT1A2B3C4D5E",
        "wallet_url": "https://my.walletapp.co/pass/WLNT1A2B3C4D5E",
        "created": true
    }