curl --request PATCH \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"person": {
"firstName": "Alex",
"lastName": "Player",
"email": "member@example.com"
},
"passdata": {
"points": 150,
"metaData": {
"memberId": "1001"
}
},
"currentMessage": "Thanks for renewing your membership!"
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets"
payload = {
"person": {
"firstName": "Alex",
"lastName": "Player",
"email": "member@example.com"
},
"passdata": {
"points": 150,
"metaData": { "memberId": "1001" }
},
"currentMessage": "Thanks for renewing your membership!"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person: {firstName: 'Alex', lastName: 'Player', email: 'member@example.com'},
passdata: {points: 150, metaData: {memberId: '1001'}},
currentMessage: 'Thanks for renewing your membership!'
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'person' => [
'firstName' => 'Alex',
'lastName' => 'Player',
'email' => 'member@example.com'
],
'passdata' => [
'points' => 150,
'metaData' => [
'memberId' => '1001'
]
],
'currentMessage' => 'Thanks for renewing your membership!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets"
payload := strings.NewReader("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}"
response = http.request(request)
puts response.read_body{
"passId": 12345,
"serialNumber": "88faf0d9-196c-11f1-99ef-0e0d839580d9",
"templateId": 100,
"personId": "550e8400-e29b-41d4-a716-446655440000",
"passdata": {
"points": 0,
"metaData": {
"memberId": "1001"
}
},
"downloadUrl": "https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9",
"downloadUrlApple": "https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9",
"downloadUrlGoogle": "https://pay.google.com/gp/v/save/eyJhbGciOiJFUzI1NiJ9...",
"statusCode": "ACTIVE",
"status": 200
}Update a wallet card by unique identifier
Updates pass fields for the cardholder matching unique_id. Use the same external key you stored in passdata.metaData when the card was issued.
curl --request PATCH \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"person": {
"firstName": "Alex",
"lastName": "Player",
"email": "member@example.com"
},
"passdata": {
"points": 150,
"metaData": {
"memberId": "1001"
}
},
"currentMessage": "Thanks for renewing your membership!"
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets"
payload = {
"person": {
"firstName": "Alex",
"lastName": "Player",
"email": "member@example.com"
},
"passdata": {
"points": 150,
"metaData": { "memberId": "1001" }
},
"currentMessage": "Thanks for renewing your membership!"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person: {firstName: 'Alex', lastName: 'Player', email: 'member@example.com'},
passdata: {points: 150, metaData: {memberId: '1001'}},
currentMessage: 'Thanks for renewing your membership!'
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'person' => [
'firstName' => 'Alex',
'lastName' => 'Player',
'email' => 'member@example.com'
],
'passdata' => [
'points' => 150,
'metaData' => [
'memberId' => '1001'
]
],
'currentMessage' => 'Thanks for renewing your membership!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets"
payload := strings.NewReader("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/wallets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Player\",\n \"email\": \"member@example.com\"\n },\n \"passdata\": {\n \"points\": 150,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n },\n \"currentMessage\": \"Thanks for renewing your membership!\"\n}"
response = http.request(request)
puts response.read_body{
"passId": 12345,
"serialNumber": "88faf0d9-196c-11f1-99ef-0e0d839580d9",
"templateId": 100,
"personId": "550e8400-e29b-41d4-a716-446655440000",
"passdata": {
"points": 0,
"metaData": {
"memberId": "1001"
}
},
"downloadUrl": "https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9",
"downloadUrlApple": "https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9",
"downloadUrlGoogle": "https://pay.google.com/gp/v/save/eyJhbGciOiJFUzI1NiJ9...",
"statusCode": "ACTIVE",
"status": 200
}Authorizations
Query Parameters
Person Identifier
Email Address, for backwards compatibility, you should be using the unique_id. Only works if the email address is the unique identifier for the brand.
External unique identifier for the wallet card (recommended). Must match the value stored in passdata.metaData at issue time, such as memberId.
Body
Fields to update on the wallet pass
Show child attributes
Show child attributes
Show child attributes
Show child attributes
IP Address
The wallet pass tier identifier.
The wallet pass template identifier
The wallet pass program identifier
The wallet pass brand identifier
If provided, this group identifier will be used to group the wallet passes together.
If provided, the current message for the wallet pass overriding the default message.
Show child attributes
Show child attributes
Response
Wallet pass updated