Signal API
| Schemes | signal://, signals:// |
| Cargo feature | service-signalapi |
| Service | https://bbernhard.github.io/signal-cli-rest-api/ |
| Body formats | text (first is the default) |
| Attachments | yes |
| Title length | no title (merged into the body) |
| Body length | 32,768 characters |
| Body lines | unlimited |
| Request throttle | none |
| Vendor URLs accepted | no |
URL formats
{schema}://{host}/{from_phone}
{schema}://{host}:{port}/{from_phone}
{schema}://{user}@{host}/{from_phone}
{schema}://{user}@{host}:{port}/{from_phone}
{schema}://{user}:{password}@{host}/{from_phone}
{schema}://{user}:{password}@{host}:{port}/{from_phone}
{schema}://{host}/{from_phone}/{targets}
{schema}://{host}:{port}/{from_phone}/{targets}
{schema}://{user}@{host}/{from_phone}/{targets}
{schema}://{user}@{host}:{port}/{from_phone}/{targets}
{schema}://{user}:{password}@{host}/{from_phone}/{targets}
{schema}://{user}:{password}@{host}:{port}/{from_phone}/{targets}
{schema} is one of signal://, signals://.
URL tokens
| Token | Meaning | Type | Required | Default | Notes |
|---|---|---|---|---|---|
{from_phone} | From Phone No | string | yes | must match ^\+?[0-9\s)(+-]+$ | |
{host} | Hostname | string | yes | ||
{password} | Password | string | no | secret | |
{port} | Port | int, 1 to 65535 | no | ||
{target_channel} | Target Group ID | string | no | prefix @; must match ^[a-z0-9_=-]+$ | |
{target_phone} | Target Phone No | string | no | prefix +; must match ^[0-9\s)(+-]+$ | |
{targets} | Targets | list | no | any of target_channel, target_phone; separated by / | |
{user} | Username | string | no |
Query parameters
| Parameter | Meaning | Type | Default | Notes |
|---|---|---|---|---|
batch | Batch Mode | bool | no | |
from | From Phone No | string | sets {from_phone} | |
status | Show Status | bool | no | |
to | Targets | list | sets {targets} |
The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.
Examples
Accepted URLs (tokens are fake):
signal://localhost/15551234567
signal://localhost/15551234567/123/15559876543
signal://user@localhost/15551234567/15559876543
signal://localhost:8080/+1 555 123 4567/15559876543
signals://user:pass@localhost/15551234567/15559876543
signal://localhost/15551234567/@abcd=/group.efgh/%40ijkl/15559876543
signal://localhost/15551234567/15559876543/15550001111/@grp?batch=yes
signal://localhost/15551234567?status=yes
Rejected URLs:
signal://
signal://localhost
signal://localhost/123
Send one from the command line:
mercurio -t 'Backup' -b 'Finished in 42s' 'signal://localhost/15551234567'
Notes
Signal API (signal://, signals://): Signal messages through a signal-cli REST API server (bbernhard/signal-cli-rest-api).