curl --request PATCH \
--url https://public-test.blips.network/config \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
}
}
'import requests
url = "https://public-test.blips.network/config"
payload = {
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
umaDomain: 'uma.example.blips',
ppvDomain: 'dbs.blips.network',
webhookEndpoint: 'https://api.demo-bank.com/webhooks/blips',
quoteFeePolicy: {senderServiceFeeBps: 37, receiverServiceFeeBps: 19}
})
};
fetch('https://public-test.blips.network/config', 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://public-test.blips.network/config",
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([
'umaDomain' => 'uma.example.blips',
'ppvDomain' => 'dbs.blips.network',
'webhookEndpoint' => 'https://api.demo-bank.com/webhooks/blips',
'quoteFeePolicy' => [
'senderServiceFeeBps' => 37,
'receiverServiceFeeBps' => 19
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://public-test.blips.network/config"
payload := strings.NewReader("{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://public-test.blips.network/config")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-test.blips.network/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "PlatformConfig:019542f5-b3e7-1d02-0000-000000000003",
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
},
"supportedCurrencies": [
{
"currencyCode": "USD",
"minAmount": 100,
"maxAmount": 1000000,
"enabledTransactionTypes": [
"OUTGOING",
"INCOMING"
],
"requiredCounterpartyFields": [
{
"profile": "FULL_NAME",
"mandatory": true
},
{
"profile": "BIRTH_DATE",
"mandatory": true
},
{
"profile": "NATIONALITY",
"mandatory": true
}
]
}
],
"createdAt": "2025-06-15T12:30:45Z",
"updatedAt": "2025-06-15T13:05:12Z"
}{
"status": 400,
"code": "INVALID_REQUEST",
"message": "Invalid input",
"details": {}
}{
"status": 401,
"code": "UNAUTHORIZED",
"message": "Invalid or missing API credentials",
"details": {}
}{
"status": 404,
"code": "PLATFORM_NOT_FOUND",
"message": "Platform not found",
"details": {}
}{
"status": 409,
"code": "PLATFORM_IDENTITY_IMMUTABLE",
"message": "Platform identity fields cannot change after create",
"details": {
"changedFields": [
"ppvDomain"
]
}
}{
"status": 500,
"code": "INTERNAL_ERROR",
"message": "Internal service error",
"details": {}
}Update your current platform configuration
Update and save your current platform configuration. Basic Auth binds this request to your platform. Platform identity fields remain locked after create.
curl --request PATCH \
--url https://public-test.blips.network/config \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
}
}
'import requests
url = "https://public-test.blips.network/config"
payload = {
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
umaDomain: 'uma.example.blips',
ppvDomain: 'dbs.blips.network',
webhookEndpoint: 'https://api.demo-bank.com/webhooks/blips',
quoteFeePolicy: {senderServiceFeeBps: 37, receiverServiceFeeBps: 19}
})
};
fetch('https://public-test.blips.network/config', 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://public-test.blips.network/config",
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([
'umaDomain' => 'uma.example.blips',
'ppvDomain' => 'dbs.blips.network',
'webhookEndpoint' => 'https://api.demo-bank.com/webhooks/blips',
'quoteFeePolicy' => [
'senderServiceFeeBps' => 37,
'receiverServiceFeeBps' => 19
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://public-test.blips.network/config"
payload := strings.NewReader("{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://public-test.blips.network/config")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-test.blips.network/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"umaDomain\": \"uma.example.blips\",\n \"ppvDomain\": \"dbs.blips.network\",\n \"webhookEndpoint\": \"https://api.demo-bank.com/webhooks/blips\",\n \"quoteFeePolicy\": {\n \"senderServiceFeeBps\": 37,\n \"receiverServiceFeeBps\": 19\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "PlatformConfig:019542f5-b3e7-1d02-0000-000000000003",
"umaDomain": "uma.example.blips",
"ppvDomain": "dbs.blips.network",
"webhookEndpoint": "https://api.demo-bank.com/webhooks/blips",
"quoteFeePolicy": {
"senderServiceFeeBps": 37,
"receiverServiceFeeBps": 19
},
"supportedCurrencies": [
{
"currencyCode": "USD",
"minAmount": 100,
"maxAmount": 1000000,
"enabledTransactionTypes": [
"OUTGOING",
"INCOMING"
],
"requiredCounterpartyFields": [
{
"profile": "FULL_NAME",
"mandatory": true
},
{
"profile": "BIRTH_DATE",
"mandatory": true
},
{
"profile": "NATIONALITY",
"mandatory": true
}
]
}
],
"createdAt": "2025-06-15T12:30:45Z",
"updatedAt": "2025-06-15T13:05:12Z"
}{
"status": 400,
"code": "INVALID_REQUEST",
"message": "Invalid input",
"details": {}
}{
"status": 401,
"code": "UNAUTHORIZED",
"message": "Invalid or missing API credentials",
"details": {}
}{
"status": 404,
"code": "PLATFORM_NOT_FOUND",
"message": "Platform not found",
"details": {}
}{
"status": 409,
"code": "PLATFORM_IDENTITY_IMMUTABLE",
"message": "Platform identity fields cannot change after create",
"details": {
"changedFields": [
"ppvDomain"
]
}
}{
"status": 500,
"code": "INTERNAL_ERROR",
"message": "Internal service error",
"details": {}
}Authorizations
Integration-key Basic Auth (clientId:clientSecret) as documented in docs/public/AUTHENTICATION.md.
Body
BLIPS-managed PPV domain bound to this platform configuration in platform.blips.network form. Compatibility callers that still send platformDomain are mapped to this field.
Compatibility-oriented, future-facing UMA domain bound to this platform configuration.
Configured webhook endpoint for payment-status delivery.
Supported currencies and payout policy bounds configured for this platform.
Show child attributes
Show child attributes
Platform-level sender and receiver service-fee policy inputs used for newly created quotes.
Show child attributes
Show child attributes
Response
Updated current platform configuration returned.
Frozen MVP platform configuration response.
Stable platform configuration identifier.
Bounded readback of the compatibility-oriented, future-facing UMA domain for this configuration context.
Bounded readback of the active BLIPS-managed PPV domain for this configuration context in platform.blips.network form.
Configured webhook endpoint for payment-status delivery.
Platform-level sender and receiver service-fee policy inputs used for newly created quotes.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Configuration creation timestamp.
Most recent configuration update timestamp.