First Responder API specification (bcd42715725ed0fe20ac59eb8b414f9591b1c5b5)

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
integer

id of requested user

organization_id
integer

id of requested organization (for admin access)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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
integer

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

Request samples

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

Response samples

Content type
application/json
{
  • "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
integer

id of updated AgentPhone

query Parameters
organization_id
integer

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

Request samples

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

Response samples

Content type
application/json
{
  • "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
integer

id of deleted AgentPhone

Responses

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
integer

id of requested organization

limit
integer [ 1 .. 50 ]
Default: 10

limit of entries for pagination

offset
integer >= 0
Default: 0

offset of entries for pagination

Responses

Response samples

Content type
application/json
{
  • "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> [ items <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

Request samples

Content type
application/json
{
  • "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
{
  • "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
integer

id of requested hotline

Responses

Response samples

Content type
application/json
{
  • "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
integer

id of updated hotline

Request Body schema: application/json

data for hotline update

agents
required
Array of integers <int64> [ items <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

Request samples

Content type
application/json
{
  • "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
{
  • "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
integer

id of deleted hotline

Responses

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
integer

id of requested hotline

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

limit of entries for pagination

offset
integer >= 0
Default: 0

offset of entries for pagination

Responses

Response samples

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

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

path Parameters
hotlineID
required
integer

id of requested hotline

logID
required
integer

id of requested call logs

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "hotlineID": 0,
  • "id": 0,
  • "startTime": null
}

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
integer

id of requested hotline

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

limit of entries for pagination

offset
integer >= 0
Default: 0

offset of entries for pagination

Responses

Response samples

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

sip-customer

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

This is a requirement for creating and managing hotlines.

Request Body schema: application/json

organization's data for sip account creation

city
required
string
cityCode
required
string
country
required
string

short country code, e.g. "DE" for Germany

name
required
string

name of organization or individual

organizationID
required
integer <int64>
street
required
string
streetHousenumber
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "cityCode": "string",
  • "country": "string",
  • "name": "string",
  • "organizationID": 0,
  • "street": "string",
  • "streetHousenumber": 0
}

Response samples

Content type
application/json
{
  • "exists": true
}

Check if the given organizationID is associated with a valid sip customer account.

This is a requirement for creating and managing hotlines.

path Parameters
id
required
integer

id of requested organization

Responses

Response samples

Content type
application/json
{
  • "exists": true
}