SmsAddAgent¶
POST sms/agent
Links a CRM manager to their sender identity at the provider. This is what makes an
INDIVIDUAL profile work: the module needs to know which sender name or short number
belongs to the manager sending the message.
externalIdentifier is the provider-side value — a registered sender ID, a short code, or
a number, depending on the provider.
Access Control¶
Allowed role: admin. The link belongs to the brand of the caller.
Request¶
POST https://{broker_domain}/sms/agent
{
"managerId": 10,
"profileId": 5,
"status": "ENABLED",
"externalIdentifier": "ScaleTradeJohn"
}
{
"command": "SmsAddAgent",
"extID": "1",
"data": {
"managerId": 10,
"profileId": 5,
"status": "ENABLED",
"externalIdentifier": "ScaleTradeJohn"
}
}
const res = await platform.SmsAddAgent({
managerId: 10,
profileId: 5,
status: "ENABLED",
externalIdentifier: "ScaleTradeJohn"
});
Request Data¶
| Field | Type | Required | Description |
|---|---|---|---|
managerId |
int | Yes | CRM manager id |
profileId |
int | Yes | Provider profile the link belongs to. The profile must be INDIVIDUAL |
status |
enum | Yes | ENABLED or DISABLED |
externalIdentifier |
string | Yes | Sender identity at the provider |
Behavior¶
- A
COMMONprofile is rejected: it sends under the profilesenderId, so a per-manager identity there would be silently ignored. - One manager has at most one link per profile. A previously deleted link is restored rather than duplicated.
Response Data¶
{
"id": 12,
"brand": "default",
"managerId": 10,
"profileId": 5,
"externalIdentifier": "ScaleTradeJohn",
"status": "ENABLED",
"createdAt": "2026-08-24 13:10:02"
}
Errors¶
| Code | Error | Description |
|---|---|---|
400 |
PROFILE_MODE_MISMATCH |
The profile does not use per-manager sender identities |
404 |
PROFILE_NOT_FOUND |
Profile not found in the brand |
409 |
AGENT_EXISTS |
This manager is already linked to this profile |