Create a transaction record
curl --request POST \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions"
payload = {
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}
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({
transactionId: 9001,
transactionTypeId: 7,
amount: 49.99,
transactionDate: '2026-07-28T12:00:00Z'
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions', 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}/transactions",
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([
'transactionId' => 9001,
'transactionTypeId' => 7,
'amount' => 49.99,
'transactionDate' => '2026-07-28T12:00:00Z'
]),
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}/transactions"
payload := strings.NewReader("{\n \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\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}/programs/{program_id}/transactions")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions")
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 \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\n}"
response = http.request(request)
puts response.read_body{
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}Brands & programs
Create a transaction record
Creates a transaction record at program scope. Prefer the transaction-type-scoped path when posting typed earn/burn events.
POST
/
{brand_id}
/
programs
/
{program_id}
/
transactions
Create a transaction record
curl --request POST \
--url https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}
'import requests
url = "https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions"
payload = {
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}
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({
transactionId: 9001,
transactionTypeId: 7,
amount: 49.99,
transactionDate: '2026-07-28T12:00:00Z'
})
};
fetch('https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions', 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}/transactions",
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([
'transactionId' => 9001,
'transactionTypeId' => 7,
'amount' => 49.99,
'transactionDate' => '2026-07-28T12:00:00Z'
]),
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}/transactions"
payload := strings.NewReader("{\n \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\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}/programs/{program_id}/transactions")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bambumeta.software/brands/{brand_id}/programs/{program_id}/transactions")
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 \"transactionId\": 9001,\n \"transactionTypeId\": 7,\n \"amount\": 49.99,\n \"transactionDate\": \"2026-07-28T12:00:00Z\"\n}"
response = http.request(request)
puts response.read_body{
"transactionId": 9001,
"transactionTypeId": 7,
"amount": 49.99,
"transactionDate": "2026-07-28T12:00:00Z"
}Authorizations
Query Parameters
Pass Id for the card. This should be used for identifying the card.
Serial Number for the wallet card. This should be used for identifying the card.
Unique Identifier for the wallet card. This should be used for identifying the card.
Body
application/json
Update a program Input.
Response
OK
⌘I