BrandMeister User API keys

This article was originally published on 03/2018 and has been updated on 08/2022 to add key versions.

What are users API keys ?

Any BrandMeister user can generate an API key. A key is a long string of characters that is unique to a Brandmeister user account. This digital key allows a third-party application to read and update the data on the corresponding Brandmeister Account (such as your list of hotspots, repeaters, your static talkgroups, etc.).

API keys were first introduced in Brandmeister in 2018, as API v1. In August 2022, developers improved the API features and created API v2, which changed the keys format. API keys created after 2022/08/19 are in v2 format. Keys created prior to this date are in v1 format.

Will API v1 be retired?

To ensure a smooth transition, API v1 keys created prior to 2022/08/19 will still be working for several months. They are no longer visible in the user’s self-care account, but they are still active.

While there is no set date for retiring API v1, we strongly encourage everyone to upgrade their keys to API v2 as soon as possible.

What does an API key look like?

An API v1 key is a 128-character string. For example:

MWaztB3EcHWBEW@D$2gb89Y2kvvE4leSr.33Gey74d0IYVSKU58YGMSFmPHD.Q1fECUkIcj7E4leSr.33Getkjshdf987ywe2irligr908SFIdlsfkj08934sasdlveg

The most recent API v2 key is a longer character string known as a JSON Web Token. For example:

jh7KJSAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiOWVjYjBhODRmYTAwODdkNjQ2YmNmNWJlMGJjMGEyZDQ0YmUxNGFkNDllNmM5OWNhM2NkNTcyNjViOGNjYjJmN2ZlNThlYzI1MjNhZWM2YTQiLCJpYXQiOjE2NjA5MzI0NjIuMDI5NzEyLCJuYmYiOjE2NjA5MzI0NjIuMDI5NzE1LCJleHAiOjQ4MTY2MDYwNjIuMDA3OTIyLCJzdWIiOiIxOTIiLCJzY29wZXMiOltdfQ.PnoQ3LkPeuV1TW1Hggn-D7Lloq3TRIB0bHEXTC3Ck1zXDqJRXvjf74sSJ01RSCDCOEAzyDW8eYDjguswGOjMmJ3Lp0IPAcSU7yZY3cjz7NNuFbiqllyV_jXYoBybU-FzSEuoEl3Nx6kbO6iNb_IoDrdloRxVtEDsQJ8Q27FouzMcf3lSxriwmC3tVv2V5phqzJlT-DyL0QLgZaRyDnRdxJtq6yLW5EPUAK6uAHRANCs_wbeSAKVZmqC6ycLJ0ZfIvbUBr7312HP8u2kInh1vcpnNczWyoc7FsjcZjBYrMskt7zRds051a_KqoP8uzUUSS9ZZSxrd_KDozUQ6CiWSB7nCc96B4KLY4CCpJq50I1RSnxrg4Pamj8b8abdO6O5yGakUDrp0t1jMONhOb_B9SlyNgy55SxY2ZC0Q9h3MNC1fxw_rKd73wWjD1SWsW2SI1iaAZA6ewLbn5xPpHvUlVtNri0ZO2oPfdn_1nRImCAwlYKt4LbUKmAFp-vgshMknVlVwutDNQ815y9M3F994Za_OghmAylUaWDextUh6Kx4eYAZuNnB6OphDwS08dWUZOe7MEMBH1OM2Sw_GbbjGPiS82pUDqPZzkfjs5ghFS1CfAu1BB8Teh0wgLqevWaN7VLJWOSSgl9-IOAdSSphmH0yprWbuZHPNyWq1HDY_eEI

Why using an API key?

You can enter your API key in a third-party software or hardware appliance to read and manage the information within your Brandmeister account (including repeaters, hotspots, talkgroups configuration, etc.).  Using an API key allows you to keep your SelfCare username and password confidential and to have granular control over each key you provide to others.

The API key is completely unrelated to your SelfCare password. If you change your SelfCare password, the keys you have generated are still valid.

At any time you can Revoke a key, and any person or application with this key will no longer be able to access the information and features of your Brandmeister account.

How to generate and revoke my user API keys?

To generate an API key, follow these steps:

  • Login to your BrandMeister SelfCare account using a web browser, and authenticate using your callsign and password.

BrandMeister SelfCare Login Page

  • Click on your callsign or avatar at the top of the screen, and select “Profile Settings”

BrandMeister SelfCare CallSign Profile Settings

  • Click on the “API Keys” button in the Security Settings section

BrandMeister SelfCare Security Settings API Keys

  • This is where your existing keys (if any) will be displayed. Click “Add” to create a new key.

BrandMeister SelfCare add API key

  • Provide a name for your API key.
    You can create as many keys as you’d like. It is therefore recommended to generate one key per application you will use, and name the key accordingly. The name has no impact on the key, it is just a label utilized in the SelfCare to help you remember which key is which.

  • The next screen will display the API key. If you are using a mobile app, chances are that you can just take a photo of the key within the app and you are done. Otherwise you may copy/paste the key into the application directly.

This is the only time the key code and barcode will be visible. Once you click “OK” only the key name will be available in your list. There is no need to keep a copy of your key somewhere, considering that you can always revoke and generate a new key.

BE EXTREMELY CAREFUL TO WHOM YOU GIVE YOUR KEY TO, AND WHERE YOU SAVE YOUR KEY.  THE KEYS ALLOW A COMPLETE AND FULL ACCESS TO ALL THE FEATURES OF YOUR PERSONAL SELF-CARE. THIS INCLUDES REPEATER/MASTER SYSOP FUNCTIONS!

  • After clicking “OK” you will be sent back to the list of API keys, with the ability to revoke a key if needed.

Why not just provide my SelfCare account credentials?

Your password is confidential and should never be given to others. Providing a separate key to each third-party allow you better control: if you provided your account password, each time you want to change the password you will have to go back to each third party to update it. With the API keys, you can change your SelfCare account password or revoke a key without affecting all other keys you have already provided.

Are there any existing applications using user API keys?

There are currently three developers we have worked with to develop the first applications leveraging user API keys:

Pi-Star (MW0MWZ)

Pi-Star is a custom, pre-configured SD Card image for the Raspberry Pi, built on Raspbian Linux. It includes software stacks by G4KLX, MMDVMHost / DStarRepeater, and associated tools & programs.

Its built-in dashboard now includes the ability to make changes to users’ BrandMeister configuration, by leveraging the use of APIs.

Documentation

Repeater Reader (DO1JG)

Repeater Reader is a small JAVA program that creates visibility and management options for the selected repeater or hotspot. It will also get support for controlling the repeater through APIs.

The BrandMeister team wishes to thank all application developers for making all of this happen!

Major Code Upgrade on August 19th – Please read carefully

Brandmeister’s developers will be rolling out a major code upgrade in the upcoming days. Please read below to learn about the impact of this upgrade.

User registrations, passwords, and activations

New user registrations, password changes/resets, and accounts activations will be paused the entire day of August 19th 2022.

API functions and keys

Current API (v1) will be upgraded to a new v2. The API keys format is evolving and is not backward compatible. Read more on user API keys here: https://news.brandmeister.network/introducing-user-api-keys/

On August 19th, 2022, old API v1 keys will no longer be showing up on the Selfcare Profile screen. New keys that you add using the “+ Add Key” button will be in API v2 format.

It is therefore normal to see an empty list of API keys in your Selfcare Profile screen after August 19th, 2022.

While you won’t be able to add API v1 keys anymore, your existing ones will continue to work on hotspots for managing static talkgroups and such, but will be retired within a few months. We encourage you to migrate your API keys to the new version as soon as possible. The latest version of Pi-Star is already API v2 compatible. For other devices, please contact the manufacturer to inquire about compatibility.

Why are we upgrading the code?

Simply put, the current code base is reaching its limit and is hindering our ability to build new features.

  • Once in production, the upgraded functions will allow faster response time on the dashboard and other intrinsic features.
  • The new code architecture also provides improved ways of adding features and therefore allows faster growth for Brandmeister.
  • Last but not least, the new APIs bring more functions and added flexibility for developers to build software and hardware working with the Brandmeister DMR Network.

This article will be updated with any frequent questions we might receive.

Repeaters static talkgroups are now replicated throughout Brandmeister master servers

Up until now, the static and time-static talkgroups configured for a repeater were saved on the master the repeater is connected to at the time of the configuration. When a repeater was moved to a different Brandmeister master server, the static talkgroups had to be re-defined so it could be saved onto the local database of the new master server.

This behavior has now changed. When configured in the self-care, static and timed-static talkgroups subscriptions are now replicated throughout all Brandmeister master servers. This means the static talkgroups will stay the same no matter which master server a repeater is moved to.

This is an added improvement to the “decentralized” architecture of Brandmeister. If all Brandmeister back-end infrastructure were to fail, masters can continue to work standalone.

Brandmeister DMR 2021 : A year-in-review

2021 has been a great year at Brandmeister DMR. The development team once again spoiled the DMR Amateur Radio community with many great features. Let’s review the most significant ones:

A new hoseline on steroids – QSOs on Brandmeister DMR talkgroups can be heard using a web browser on virtually any device, using the brand new Hoseline with improved audio, volume normalizing, multiple talkgroups listening, instant play, and many other features described in detail in this article.

Enhanced repeaters coverage plots – The coverage plots are more precise than they used to, and are updated minutes after making a change in repeater’s data.

Users and Repeaters Self Service– The days of the default “passw0rd” for hotspots and repeaters are over. The registration process on Brandmeister ensures that ham’s IDs are protected, and the traffic is not disturbed by rogue devices or gateways. Most new users are now automagically approved, and it only takes 5 minutes now for a new repeater to become available and manageable on Brandmeister DMR! Thanks to the collaboration of Brandmeister and RadioID developers, the repeater data is imported in Brandmeister, and sysop rights are automatically added. No need to ask and wait for this to be done manually!

A faster dashboard – The dashboard is now responsive, repeater owners can set passwords on their own, hotspot and repeaters list display twice as fast as they used to, and the last-heard is faster than it has ever been!

Brandmeister Core updates – the core Brandmeister software has seen 48 updates in 2021, bringing lots of performance improvements as well as amazing new features such as the Asterisk’s AudioSocket protocol, TextCapture, and the optimization of Wires-X bridging.

We recognize that all these improvements would not have been possible without:

  • The time and devotion of the developpers involved in the many aspects of Brandmeister
  • Hams contributing their time to testing and reporting issues to the development team
  • Master administrators maintaining, troubleshooting, and updating the servers that make Brandmeister accessible to ham radio operators worldwide
  • Support teams spending countless hours helping fellow ham operators
  • User’s donations
  • Users providing computing ressources and hosting

We have more to come for 2022 … so stay tuned, and Happy New Year!

Brandmeister Worldwide “TAC” talkgroups

Three new TAC talkgroups have been added to the Brandmeister talkgroups list:

901WorldWide TAC 1
902WorldWide TAC 2
903WorldWide TAC 3

They have been created to allow finishing long QSOs started on the 91~95 worldwide talkgroups, while allowing new calls to take place on the wide-audience groups.

What is a TAC talkgroup?

TAC stands for TACtical. They are designed to off-load large audience talkgroups.

When a QSO starts on a talkgroup that is known for being static on a very large number of repeaters (and often used as a call channel), and the participants feel that the conversation will be longer than a couple of minutes, they decide to move to a TAC in order to free the original talkgroup so other calls can take place.

What’s special about these talkgroups?

Just like the USA TAC talkgroups 310~319, these three new worldwide TACs cannot be made static on repeaters and hotspots. They are designed to be strictly dynamic, which increases their chances of stay available after a QSO is over.

How to use a Worldwide TAC talkgroup?

If you have started a QSO on talkgroup 91 for example, and you’d like to talk for a long time without monopolizing this very large audience talkgroup, check the talkgroups 901, 902, and 903 for activity (this can easily be done using the dashboard’s lastheard, or your radio), and ask your party to QSY to one free TAC talkgroup. You can then continue your QSO for as long as you’d like. Other hams who wish to participate to this QSO can follow you, while new calls can take place on 91.

Technologies used within Brandmeister DMR

Did you know there are 20+ technologies that make the BM magic possible?

Brandmeister’s developers chose the best and most bleeding-edge technologies available to create the most efficient and featureful Amateur Radio DMR Network ever conceived.

To give you an idea of the technologies symbiosis beauty happening within Brandmeister, here is a list of the main ones we use:

Databases

Languages

  • C & C++ for a most optimized core of Brandmeister DMR
  • LUA for ultra-fast calls processing on masters
  • NodeJS for back-end processing
  • Javascript for the dashboard
  • PHP for web functions on master servers
  • HTML for the dashboard and master web pages
  • Python for scripts on master and back-end servers
  • Bash for scripts on masters and back-end servers

Data Transfer

  • REST APIs for front-end to back-end communications
  • Fast-Forward a network protocol created by Brandmeister to transfer communications between masters at very high speed
  • Mosquitto for master-network data transfer
  • D-Bus for message bus system

Operating Systems

Applications

If you have expertise in programming with these technologies and can volunteer several hours per week, contact us to see if your skills are needed!

New “TextCapture” feature, the SMS Store-And-Forward service you can now enable in your Self-Care!

If you found it inconvenient that you can only receive SMS when your DMR radio is turned on, within repeater/hotspot coverage, and not busy … Brandmeister has a solution!

Thanks to the hard work of Artem and the Brandmeister beta testing team, you now have the ability to turn on “Text Capture” in your self-care, a feature that will store text messages sent to you if your radio is not reachable at the time of sending, and delay delivery until your RadioID becomes active on the Brandmeister DMR network.

Important Requirement

In order for this feature to work, you need to ensure that your radio sends an acknowledgment of SMS reception back to the BrandMeister network. Otherwise, BrandMeister will keep sending the messages, and you will be spammed!

So before turning on this feature, make sure your radio manufacturer has implemented SMS acknowledgment, and that you have enabled this feature in your codeplug. (We will provide a web-based tool to assist in checking if your radio acknowledges properly. Stay tuned!)

How does it work?

Illustration of a DMR Radio sending an SMS to another radio over the Brandmeister Network

By default, Text Capture is turned off. When someone sends an SMS to your RadioID, if the sender and the recipient are not on the same frequency and timeslot, the message is routed to the Brandmeister master server where your radioID was last seen and sent over the same repeater/hotspot you were using. If your radio gets it, great. If not, it’s lost and it won’t be re-delivered.

Brandmeister SMS routing when Text Capture is turned off

Once you turn on the Text Capture feature in your self-care, any data call sent to your radioID (including SMS, IRS, etc.) will be handled by BrandMeister. When an SMS is sent to your RadioID, Brandmeister will capture the message, send an acknowledgment to the sender, attempt delivery to your radio, and wait for it to acknowledge receipt of the SMS. If no acknowledgment is received, Brandmeister will keep sending the message on a regular basis until an acknowledgment is received, for a maximum duration of 7 days. After that, the message will be purged and there is no way to recover it.

Brandmeister SMS routing when Text Capture is turned on

Again, it’s important you keep in mind that once the feature is turned on, your radio will only receive data calls initiated by Brandmeister.

Exceptions

The store-and-forward feature only works with Brandmeister subscribers.

  • SMS from external services (such as automated SMS services, DAPNET messages, etc.) are sent directly to the recipient.
  • SMS cannot pass through gateways with other DMR networks.

Turning Text Capture on and off

  • Toggle the “Text Capture” option ON or OFF:

Hotspots and Repeaters Passwords – Important change on October 1st 2021

Over the past few months, the default password “passw0rd” used for MMDVM, Homebrew, and Kairos connections has been progressively removed from BrandMeister DMR Master Servers. This process will be completed by October 1st 2021.

Below are the details of which devices will be affected with this change, and how to address it.

MMDVM, Homebrew Hotspot users (which includes OpenSpot, Pi-Star, BlueDV, ZumSpot, etc.)

If you have not yet specified a hotspot password in your BrandMeister Selfcare, please do so by following the steps in this article. You will also find explanations on configuring your personalized password for the Openspot, Pi-Star and BlueDV.

MMDVM, Homebrew Repeaters Owners

If you are running a repeater using a 6-digit DMR ID and connected to a BrandMeister Master, and you have not set a password yet, please login to your repeater page and scroll to the bottom of the screen where you will find the “Device Password” field:

Once saved, configure your repeater to use this password when connecting to any BrandMeister Master server.

Dual time-slot MMDVM devices

If you are running a dual-timeslot MMDVM with a 7-digit DMR ID, please follow the steps described in the hotspot section above.