curl --request POST \
--url https://api.bambumeta.software/brands/{brand_id}/issue-wallet \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"person": {
"firstName": "Alex",
"lastName": "Member",
"email": "member@example.com",
"phone": "+15551234567"
},
"passdata": {
"points": 0,
"metaData": {
"memberId": "1001"
}
}
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/issue-wallet"
payload = {
"person": {
"firstName": "Alex",
"lastName": "Member",
"email": "member@example.com",
"phone": "+15551234567"
},
"passdata": {
"points": 0,
"metaData": { "memberId": "1001" }
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person: {
firstName: 'Alex',
lastName: 'Member',
email: 'member@example.com',
phone: '+15551234567'
},
passdata: {points: 0, metaData: {memberId: '1001'}}
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/issue-wallet', 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}/issue-wallet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'person' => [
'firstName' => 'Alex',
'lastName' => 'Member',
'email' => 'member@example.com',
'phone' => '+15551234567'
],
'passdata' => [
'points' => 0,
'metaData' => [
'memberId' => '1001'
]
]
]),
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}/issue-wallet"
payload := strings.NewReader("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.bambumeta.software/brands/{brand_id}/issue-wallet")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/issue-wallet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\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
}{
"message": "Validation failed. Check required fields and unique identifier rules."
}Issue a wallet card (default program)
Issues a wallet pass using the brand’s default program. Prefer the program-scoped path when you have a program_id. Same person + passdata body as the program-scoped issue endpoint.
curl --request POST \
--url https://api.bambumeta.software/brands/{brand_id}/issue-wallet \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"person": {
"firstName": "Alex",
"lastName": "Member",
"email": "member@example.com",
"phone": "+15551234567"
},
"passdata": {
"points": 0,
"metaData": {
"memberId": "1001"
}
}
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/issue-wallet"
payload = {
"person": {
"firstName": "Alex",
"lastName": "Member",
"email": "member@example.com",
"phone": "+15551234567"
},
"passdata": {
"points": 0,
"metaData": { "memberId": "1001" }
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person: {
firstName: 'Alex',
lastName: 'Member',
email: 'member@example.com',
phone: '+15551234567'
},
passdata: {points: 0, metaData: {memberId: '1001'}}
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/issue-wallet', 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}/issue-wallet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'person' => [
'firstName' => 'Alex',
'lastName' => 'Member',
'email' => 'member@example.com',
'phone' => '+15551234567'
],
'passdata' => [
'points' => 0,
'metaData' => [
'memberId' => '1001'
]
]
]),
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}/issue-wallet"
payload := strings.NewReader("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.bambumeta.software/brands/{brand_id}/issue-wallet")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/issue-wallet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"person\": {\n \"firstName\": \"Alex\",\n \"lastName\": \"Member\",\n \"email\": \"member@example.com\",\n \"phone\": \"+15551234567\"\n },\n \"passdata\": {\n \"points\": 0,\n \"metaData\": {\n \"memberId\": \"1001\"\n }\n }\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
}{
"message": "Validation failed. Check required fields and unique identifier rules."
}Authorizations
Path Parameters
Brand Identifier
Body
The person info
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
OK
If provided, this group identifier will be used to group the wallet passes together.
The optional wallet pass tier identifier for updating the tier on the wallet card.
The current message for the wallet pass
Show child attributes
Show child attributes
The download url for the pass
The download url for the pass for Apple Wallet
The download url for the pass for Google Wallet
The status for the pass
The numeric representation of the status