Bulk update wallet passes
curl --request PATCH \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-wallets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"templateTierId": 2
},
"changes": {
"currentMessage": "Season kickoff this Saturday!"
}
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-wallets"
payload = {
"filters": { "templateTierId": 2 },
"changes": { "currentMessage": "Season kickoff this Saturday!" }
}
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({
filters: {templateTierId: 2},
changes: {currentMessage: 'Season kickoff this Saturday!'}
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-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}/bulk-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([
'filters' => [
'templateTierId' => 2
],
'changes' => [
'currentMessage' => 'Season kickoff this Saturday!'
]
]),
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}/bulk-wallets"
payload := strings.NewReader("{\n \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\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}/bulk-wallets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-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 \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\n}"
response = http.request(request)
puts response.read_body{
"updateId": "bulk-update-abc123"
}Bulk & scheduled updates
Bulk update wallet passes
Updates multiple wallet passes that match filter criteria in the request body. Intended for segment-wide field changes (for example a campaign message). Review filters carefully before submitting.
PATCH
/
{brand_id}
/
programs
/
{program_id}
/
bulk-wallets
Bulk update wallet passes
curl --request PATCH \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-wallets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"templateTierId": 2
},
"changes": {
"currentMessage": "Season kickoff this Saturday!"
}
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-wallets"
payload = {
"filters": { "templateTierId": 2 },
"changes": { "currentMessage": "Season kickoff this Saturday!" }
}
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({
filters: {templateTierId: 2},
changes: {currentMessage: 'Season kickoff this Saturday!'}
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-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}/bulk-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([
'filters' => [
'templateTierId' => 2
],
'changes' => [
'currentMessage' => 'Season kickoff this Saturday!'
]
]),
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}/bulk-wallets"
payload := strings.NewReader("{\n \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\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}/bulk-wallets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/bulk-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 \"filters\": {\n \"templateTierId\": 2\n },\n \"changes\": {\n \"currentMessage\": \"Season kickoff this Saturday!\"\n }\n}"
response = http.request(request)
puts response.read_body{
"updateId": "bulk-update-abc123"
}Authorizations
Query Parameters
Template Identifier
Template Tier Identifier
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.
Pass Serial Number
Pass Serial Number
Body
application/json
The pass record creation input
Response
200 - application/json
OK
Bulk Update ID Response