First Responder API specification (3.1.0)

Download OpenAPI specification:Download

The first-responder service implements all hotline functions for GroupAlarm

Authentication

API_Token

To use this API, you need an API-Token from the RBAC settings of your GroupAlarm organization. Place the token inside the HTTP-Header API-Token for every request, otherwise the API will return an "401 Unauthorized" error for your request.

Security Scheme Type API Key
Header parameter name: API-TOKEN

Personal-Access-Token

To use this API, you need a Personal Access Token from your profile settings. Place the token inside the HTTP-Header Personal-Access-Token for every request, otherwise the API will return an "401 Unauthorized" error for your request.

Security Scheme Type API Key
Header parameter name: Personal-Access-Token

agent-phones

Get a list of all AgentPhones of the given user.

Admins of organizations may also access this resource if they specify their organizationID and the user allows this access.

query Parameters
owner_id
required
int64

id of requested user

organization_id
int64

id of requested organization (for admin access)

Responses

200

list of AgentPhones

400

invalid or missing userID / organizationID

403

access not allowed

500

unexpected error

get /agents
https://app.groupalarm.com/api/v1/first-responder/agents

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new AgentPhones for the given user.

Admins of organizations may also create this resource if they specify their organizationID and the user allows this access.

query Parameters
organization_id
int64

id of requested organization (for admin access)

Request Body schema: application/json

data for AgentPhone creation

id
integer <int64>
isActive
required
boolean

active AgentPhones will be called, inactive ones not

name
required
string

name of this AgentPhone

phone
required
string

international phone number, e.g. 004924155660

userID
required
integer <int64>

Responses

200

created AgentPhones

400

invalid or missing data in body / organizationID

403

access not allowed

500

unexpected error

post /agents
https://app.groupalarm.com/api/v1/first-responder/agents

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "phone": "string",
  • "userID": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "phone": "string",
  • "userID": 0
}

Update an existing AgentPhones for the given user.

Admins of organizations may also edit this resource if they specify their organizationID and the user allows this access.

path Parameters
id
required
int64

id of updated AgentPhone

query Parameters
organization_id
int64

id of requested organization (for admin access)

Request Body schema: application/json

data for AgentPhone update

id
integer <int64>
isActive
required
boolean

active AgentPhones will be called, inactive ones not

name
required
string

name of this AgentPhone

phone
required
string

international phone number, e.g. 004924155660

userID
required
integer <int64>

Responses

200

updated AgentPhones

400

invalid or missing data in body / organizationID

403

access not allowed

404

AgentPhone not found

500

unexpected error

put /agents/{id}
https://app.groupalarm.com/api/v1/first-responder/agents/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "phone": "string",
  • "userID": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "phone": "string",
  • "userID": 0
}

Deletes an existing AgentPhone for the given user.

Admins of organizations may also edit this resource if they specify their organizationID and the user allows this access.

path Parameters
id
required
int64

id of deleted AgentPhone

Responses

200

AgentPhone successfully deleted

400

invalid or missing agentPhoneID

404

AgentPhone not found

500

unexpected error

delete /agents/{id}
https://app.groupalarm.com/api/v1/first-responder/agents/{id}

hotlines

Get a list of all hotlines of the given organization and their current status.

This list is paginated, use limit and offset to control the received data.

query Parameters
organization_id
required
int64

id of requested organization

limit
int64 [ 1 .. 50 ]
Default: 10

limit of entries for pagination

offset
int64 >= 0
Default: 0

offset of entries for pagination

Responses

200

paginated list of organizations

400

invalid or missing organizationID

500

unexpected error

get /hotlines
https://app.groupalarm.com/api/v1/first-responder/hotlines

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hotlines":
    [
    ],
  • "totalHotlines": 0
}

Create a new hotline in the given organization.

Final activation of hotline and all agents may take up to 24 hours but should be done in approximately 1 hour. This requests automatically creates a new local phone number so costs may occur.

Request Body schema: application/json

data for hotline creation

agents
required
Array of integers <int64>

list of userIDs which will be called as agent

channelsInbound
integer <int64> [ 1 .. 100 ]
Default: 10

amount of inbound telephony channels

channelsOutbound
integer <int64> [ 1 .. 100 ]
Default: 10

amount of outbound telephony channels

id
integer <int64>
isActive
required
boolean

active hotlines are reachable, inactive hotlines will be shut down

name
required
string

name of this hotline

organizationID
required
integer <int64>
status
string (HotlineStatus)

HotlineStatus describes the status the given hotline is in (e.g. just created, active, paused, ...)

ttsInbound
string <= 300
Default: "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\""

text will be played to inbound callers

ttsOutbound
string <= 300
Default: "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""

text will be played to outbound agents

Responses

200

hotline successfully created

400

invalid or missing data in body

500

unexpected error

post /hotlines
https://app.groupalarm.com/api/v1/first-responder/hotlines

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "agents":
    [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\"",
  • "ttsOutbound": "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "agents":
    [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "number": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\"",
  • "ttsOutbound": "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""
}

Get a specific hotline and its current status.

path Parameters
hotlineID
required
int64

id of requested hotline

Responses

200

requested hotline

400

invalid or missing hotlineID

500

unexpected error

get /hotlines/{hotlineID}
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "agents":
    [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "number": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\"",
  • "ttsOutbound": "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""
}

Update an existing hotline in the given organization.

Even a paused hotline will create costs as the local number is still reserved.

path Parameters
hotlineID
required
int64

id of updated hotline

Request Body schema: application/json

data for hotline update

agents
required
Array of integers <int64>

list of userIDs which will be called as agent

channelsInbound
integer <int64> [ 1 .. 100 ]
Default: 10

amount of inbound telephony channels

channelsOutbound
integer <int64> [ 1 .. 100 ]
Default: 10

amount of outbound telephony channels

id
integer <int64>
isActive
required
boolean

active hotlines are reachable, inactive hotlines will be shut down

name
required
string

name of this hotline

organizationID
required
integer <int64>
status
string (HotlineStatus)

HotlineStatus describes the status the given hotline is in (e.g. just created, active, paused, ...)

ttsInbound
string <= 300
Default: "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\""

text will be played to inbound callers

ttsOutbound
string <= 300
Default: "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""

text will be played to outbound agents

Responses

200

hotline successfully updated

400

invalid or missing data in body

404

hotline not found

500

unexpected error

put /hotlines/{hotlineID}
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "agents":
    [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\"",
  • "ttsOutbound": "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "agents":
    [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "number": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "\"Willkommen zur GroupAlarm.com First Responder Hotline. Der erste freie Agent wird umgehend zu Ihnen durchgestellt.\"",
  • "ttsOutbound": "\"Hallo, Sie wurden durch die GroupAlarm.com First Responder Hotline alarmiert. Bitte drücken Sie die 1 zum Annehmen oder legen Sie zum Ablehnen einfach auf.\""
}

Deletes an existing hotline in the given organization.

This requests automatically deletes the local phone number permanently.

path Parameters
hotlineID
required
int64

id of deleted hotline

Responses

200

hotline successfully deleted

400

invalid or missing hotlineID

404

hotline not found

500

unexpected error

delete /hotlines/{hotlineID}
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}

call-logs

Get a list of all call logs for the given hotlineID.

This list is paginated, use limit and offset to control the received data.

path Parameters
hotlineID
required
int64

id of requested hotline

query Parameters
limit
int64 [ 1 .. 50 ]
Default: 10

limit of entries for pagination

offset
int64 >= 0
Default: 0

offset of entries for pagination

Responses

200

paginated list of call logs

400

invalid or missing hotlineID

500

unexpected error

get /hotlines/{hotlineID}/logs
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}/logs

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "callLogs":
    [
    ],
  • "totalCallLogs": 0
}

Get a detailed call log for the given hotlineID and logID.

path Parameters
hotlineID
required
int64

id of requested hotline

logID
required
int64

id of requested call logs

Responses

200

detailed call log

400

invalid or missing hotlineID / logID

500

unexpected error

get /hotlines/{hotlineID}/logs/{logID}
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}/logs/{logID}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "entries":
    [
    ],
  • "hotlineID": 0,
  • "id": 0,
  • "startTime": "2020-11-25T17:12:33Z"
}

telephone-records

Get a list of all telephone records for the given hotlineID.

This list is paginated, use limit and offset to control the received data.

path Parameters
hotlineID
required
int64

id of requested hotline

query Parameters
limit
int64 [ 1 .. 50 ]
Default: 10

limit of entries for pagination

offset
int64 >= 0
Default: 0

offset of entries for pagination

Responses

200

paginated list of call logs

400

invalid or missing hotlineID

500

unexpected error

get /hotlines/{hotlineID}/records
https://app.groupalarm.com/api/v1/first-responder/hotlines/{hotlineID}/records

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "records":
    [
    ],
  • "totalRecords": 0
}

sip-customer

Create a new sip customer account for an organization. Data will be validated.