PSA settings
PSA configuration for the organisation, and your own preferences and email signature.
| Method | Path | Summary |
|---|---|---|
| GET | /v1/app/psa/me/signature | Your own email signature (PSA v2, ticket #57): added under every reply you send |
| PUT | /v1/app/psa/me/signature | Set your email signature |
| GET | /v1/app/psa/config | Get tenant PSA config |
| POST | /v1/app/psa/config | Save tenant PSA config (upsert) |
| POST | /v1/app/psa/config/test-smtp | Send a test email via configured SMTP |
| POST | /v1/app/psa/config/email-preview | Email preview for BRM-Admin → PSA → Branding: the saved settings with any unsaved changes from the form on top (nothing is stored) |
| GET | /v1/app/psa/config/poller-status | Get IMAP poller status (interval, last run, results) |
| POST | /v1/app/psa/config/poll-now | Trigger an immediate IMAP poll |
| POST | /v1/app/psa/config/test-imap | Test global IMAP connection |
#Your own email signature (PSA v2, ticket #57): added under every reply you send
GET
/v1/app/psa/me/signature- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Response 200
| Field | Type | Description |
|---|---|---|
signature_html | any |
Example response
JSON
{
"signature_html": null
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature' -Headers $headers#Set your email signature
PUT
/v1/app/psa/me/signature- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Request body JSON
| Name | Type | Description |
|---|---|---|
signature_html | any | The signature (HTML). |
Response 200
| Field | Type | Description |
|---|---|---|
signature_html | any |
Example response
JSON
{
"signature_html": null
}Example request
Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"signature_html":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"signature_html":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"signature_html":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"signature_html":"…"}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/me/signature' -Headers $headers -ContentType 'application/json' -Body $body#Get tenant PSA config
GET
/v1/app/psa/config- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Response 200
| Field | Type | Description |
|---|---|---|
config | any |
Example response
JSON
{
"config": null
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config' -Headers $headers#Save tenant PSA config (upsert)
POST
/v1/app/psa/config- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Request body JSON
| Name | Type | Description |
|---|---|---|
smtp_host | any | |
smtp_port | any | |
smtp_user | any | |
smtp_pass | array of any | |
smtp_from | any | |
smtp_from_name | string | |
imap_host | any | |
imap_port | any | |
imap_user | any | |
imap_pass | array of any | |
imap_tls | array of any | |
default_queue_id | integer | |
ticket_prefix | any | |
brand_logo_url | string | |
brand_color | any | |
brand_footer | any | |
brand_footer_html | any | |
brand_signature_html | any | |
quote_previous | array of any |
Response 200
| Field | Type | Description |
|---|---|---|
success | boolean |
Example response
JSON
{
"success": true
}Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"smtp_host":"…","smtp_port":"…","smtp_user":"…","smtp_pass":[],"smtp_from":"…","smtp_from_name":"Example smtp from name","imap_host":"…","imap_port":"…","imap_user":"…","imap_pass":[],"imap_tls":[],"default_queue_id":7,"ticket_prefix":"…","brand_logo_url":"https://example.com/…","brand_color":"…","brand_footer":"…","brand_footer_html":"…","brand_signature_html":"…","quote_previous":[]}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"smtp_host":"…","smtp_port":"…","smtp_user":"…","smtp_pass":[],"smtp_from":"…","smtp_from_name":"Example smtp from name","imap_host":"…","imap_port":"…","imap_user":"…","imap_pass":[],"imap_tls":[],"default_queue_id":7,"ticket_prefix":"…","brand_logo_url":"https://example.com/…","brand_color":"…","brand_footer":"…","brand_footer_html":"…","brand_signature_html":"…","quote_previous":[]}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"smtp_host":"…","smtp_port":"…","smtp_user":"…","smtp_pass":[],"smtp_from":"…","smtp_from_name":"Example smtp from name","imap_host":"…","imap_port":"…","imap_user":"…","imap_pass":[],"imap_tls":[],"default_queue_id":7,"ticket_prefix":"…","brand_logo_url":"https://example.com/…","brand_color":"…","brand_footer":"…","brand_footer_html":"…","brand_signature_html":"…","quote_previous":[]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"smtp_host":"…","smtp_port":"…","smtp_user":"…","smtp_pass":[],"smtp_from":"…","smtp_from_name":"Example smtp from name","imap_host":"…","imap_port":"…","imap_user":"…","imap_pass":[],"imap_tls":[],"default_queue_id":7,"ticket_prefix":"…","brand_logo_url":"https://example.com/…","brand_color":"…","brand_footer":"…","brand_footer_html":"…","brand_signature_html":"…","quote_previous":[]}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config' -Headers $headers -ContentType 'application/json' -Body $body#Send a test email via configured SMTP
POST
/v1/app/psa/config/test-smtp- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-smtp- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Request body JSON
| Name | Type | Description |
|---|---|---|
to | any |
Response 200
| Field | Type | Description |
|---|---|---|
success | boolean |
Example response
JSON
{
"success": true
}Errors
| Status | Message |
|---|---|
| 400 | SMTP not configured |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-smtp' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-smtp', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"to":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-smtp",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"to":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"to":"…"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-smtp' -Headers $headers -ContentType 'application/json' -Body $body#Email preview for BRM-Admin → PSA → Branding: the saved settings with any unsaved changes from the form on top (nothing is stored)
POST
/v1/app/psa/config/email-preview- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config/email-preview- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Request body JSON
| Name | Type | Description |
|---|---|---|
use_org | any | |
quote_previous | boolean |
Response 200
| Field | Type | Description |
|---|---|---|
html | any |
Example response
JSON
{
"html": null
}Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/email-preview' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"use_org":"…","quote_previous":false}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config/email-preview', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"use_org":"…","quote_previous":false}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config/email-preview",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"use_org":"…","quote_previous":False},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"use_org":"…","quote_previous":false}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/email-preview' -Headers $headers -ContentType 'application/json' -Body $body#Get IMAP poller status (interval, last run, results)
GET
/v1/app/psa/config/poller-status- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poller-status- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Response 200
| Field | Type | Description |
|---|---|---|
poller | string |
Example response
JSON
{
"poller": "string"
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poller-status' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poller-status', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poller-status",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poller-status' -Headers $headers#Trigger an immediate IMAP poll
POST
/v1/app/psa/config/poll-now- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poll-now- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poll-now' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poll-now', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poll-now",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/poll-now' -Headers $headers#Test global IMAP connection
POST
/v1/app/psa/config/test-imap- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-imap- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Response 200
| Field | Type | Description |
|---|---|---|
success | boolean | |
inbox | object | |
inbox.messages | array of any | |
inbox.unseen | any |
Example response
JSON
{
"success": true,
"inbox": {
"messages": [],
"unseen": null
}
}Errors
| Status | Message |
|---|---|
| 400 | IMAP not configured |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-imap' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-imap', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-imap",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/config/test-imap' -Headers $headersWas this page helpful?
Thanks for your feedback.