First Responder API specification (a61dc8852d068da91f25a8e28bf5a4fd9ff4283a)

Download OpenAPI specification:Download

The first-responder service is used to configure and manage hotlines.

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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
query Parameters
organization_id
integer

id of requested organization (for admin access)

Request Body schema: application/json
required

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.

Authorizations:
API-TOKENPersonal-Access-Token
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
required

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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
Request Body schema: application/json
required

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

text will be played to inbound callers

ttsOutbound
string <= 300

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": "string",
  • "ttsOutbound": "string"
}

Response samples

Content type
application/json
{
  • "agents": [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "number": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "string",
  • "ttsOutbound": "string"
}

Get a specific hotline and its current status.

Authorizations:
API-TOKENPersonal-Access-Token
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": "string",
  • "ttsOutbound": "string"
}

Update an existing hotline in the given organization.

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

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
hotlineID
required
integer

id of updated hotline

Request Body schema: application/json
required

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

text will be played to inbound callers

ttsOutbound
string <= 300

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": "string",
  • "ttsOutbound": "string"
}

Response samples

Content type
application/json
{
  • "agents": [
    ],
  • "channelsInbound": 10,
  • "channelsOutbound": 10,
  • "id": 0,
  • "isActive": true,
  • "name": "string",
  • "number": "string",
  • "organizationID": 0,
  • "status": "string",
  • "ttsInbound": "string",
  • "ttsOutbound": "string"
}

Deletes an existing hotline in the given organization.

This requests automatically deletes the local phone number permanently.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
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.

Authorizations:
API-TOKENPersonal-Access-Token
Request Body schema: application/json
required

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.

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
id
required
integer

id of requested organization

Responses

Response samples

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