Organization API specification (9b12f12b47941db9c2826ea2c4a93636fa825235)

Download OpenAPI specification:Download

The organization service implements a the organization logic in GroupAlarm.

organization

UpdateOrganization

Update an existing organization with passed organization payload

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

organization payload

object (AvailableUsersCount)

AvailableUsersCount payload

object (AvailableUsersCount)

AvailableUsersCount payload

avatarURL
string

AvatarURL

creationDate
any

CreationDate of the organization

dataRetentionPeriod
integer <int64>

DataRetentionPeriod stores the number of months the organization wants to keep its data

description
string

user defined description

enforcesTwoFactorAuth
boolean

2FA

hasChildren
boolean

defines if it's the parent of any other organization

id
integer <int64>

ID of this organization

language
string

IETF BCP 47 language tag for the organization (e.g. 'de' or 'en-GB')

object (OrganizationLocation)

OrganizationLocation describes the location payload

name
string

user defined name

ownerIDs
Array of integers <int64> [ items <int64 > ]

user id of the organization owner/creator

parentID
integer <int64>

optional: ID of the parent organization

state
string (OrganizationState)

OrganizationState represents the current state of an organization, like trial, active, inactive

tags
Array of strings

Tags are used for internal purposes only

timezone
string

Canonical name of the timezone in the IANA time zone database (e.g. 'Europe/Berlin')

trialEndDate
any

TrialEndDate contains the timestamp when the organization's trial period expires

Responses

Request samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

Response samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

CreateOrganization

Create an organization with passed organization payload

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

organization payload

object (AvailableUsersCount)

AvailableUsersCount payload

object (AvailableUsersCount)

AvailableUsersCount payload

avatarURL
string

AvatarURL

creationDate
any

CreationDate of the organization

dataRetentionPeriod
integer <int64>

DataRetentionPeriod stores the number of months the organization wants to keep its data

description
string

user defined description

enforcesTwoFactorAuth
boolean

2FA

hasChildren
boolean

defines if it's the parent of any other organization

id
integer <int64>

ID of this organization

language
string

IETF BCP 47 language tag for the organization (e.g. 'de' or 'en-GB')

object (OrganizationLocation)

OrganizationLocation describes the location payload

name
string

user defined name

ownerIDs
Array of integers <int64> [ items <int64 > ]

user id of the organization owner/creator

parentID
integer <int64>

optional: ID of the parent organization

state
string (OrganizationState)

OrganizationState represents the current state of an organization, like trial, active, inactive

tags
Array of strings

Tags are used for internal purposes only

timezone
string

Canonical name of the timezone in the IANA time zone database (e.g. 'Europe/Berlin')

trialEndDate
any

TrialEndDate contains the timestamp when the organization's trial period expires

Responses

Request samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

Response samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

GetOrganization

Get specific organization by its ID

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the requested organization

Responses

Response samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

DeleteOrganization

Delete an existing organization with passed organization payload

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Responses

GetChildOrganizations

Get paginated children of specific organization by its ID

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the requested organization

query Parameters
limit
integer

max. amount of entries in list

offset
integer

amount of entries to skip

Responses

Response samples

Content type
application/json
{
  • "childs": [
    ],
  • "path": [
    ],
  • "totalChilds": 0
}

availability

GetAvailableUsers

Get available users and aggregated available users of the given organization and its child organizations

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the requested organization

Responses

Response samples

Content type
application/json
{
  • "countInRoot": {
    },
  • "countTotal": {
    }
}

avatar

Sets a new avatar for an existing organization.

Send an empty body to remove the avatar.

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Request Body schema: application/json
required
string <binary>

Responses

Request samples

Content type
application/json
"string"

availability-history

GetAvailabilityHistory

Get organization's availability history of the last 14 days

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the requested organization

query Parameters
limit
integer

max. amount of entries in list

offset
integer

amount of entries to skip

Responses

Response samples

Content type
application/json
{
  • "end_date": null,
  • "entries": [
    ],
  • "start_date": null
}

location

UpsertOrganizationLocation

Inserts or updates an organizations location

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Request Body schema: application/json
required

location payload of the organization

address
string
latitude
number <double>
longitude
number <double>

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "latitude": 0.1,
  • "longitude": 0.1
}

DeleteOrganizationLocation

Deletes an organizations location

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Responses

owner

ListOwnerInvitations

Lists all open owner invitations for an organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

InviteOwner

Invites an existing user as new owner to an organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
Request Body schema: application/json
required
email
string

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "email": "string",
  • "organizationID": 0,
  • "userID": 0
}

AcceptOwnerInvitation

Accepts the invitation to become an owner of an organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
invitationID
required
string

Responses

RemoveOwnerInvitation

Removes an existing, but not yet accepted owner invitation

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
userID
required
integer

Responses

GetOwnerInParentOrganization

Gets the topmost parent organization the given user is the owner of

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

userID
required
integer

id of the user

Responses

Response samples

Content type
application/json
{
  • "availableUsers": {
    },
  • "availableUsersTotal": {
    },
  • "avatarURL": "string",
  • "creationDate": null,
  • "dataRetentionPeriod": 0,
  • "description": "string",
  • "enforcesTwoFactorAuth": true,
  • "hasChildren": true,
  • "id": 0,
  • "language": "string",
  • "location": {
    },
  • "name": "string",
  • "ownerIDs": [
    ],
  • "parentID": 0,
  • "state": "string",
  • "tags": [
    ],
  • "timezone": "string",
  • "trialEndDate": null
}

RemoveOwner

Removes an owner from an organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

userID
required
integer

id of the user

Responses

quick-actions

GetOrganizationQuickActions

Get all defined quick actions for this organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SetOrganizationQuickActions

Replaces all defined organization quick actions with the passed ones

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

id of the organization

Request Body schema: application/json
required

new quick-actions for this organization

Array
category
string
color
string
icon
string
id
integer <int64>
name
string
one_click
boolean
organization_id
integer <int64>
resource
string
resource_id
integer <int64>

Responses

Request samples

Content type
application/json
[
  • {
    }
]

organizations

GetOrganizations

Returns a list of all accessible organizations for the current user

Authorizations:
API_TokenPersonal-Access-Token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetPaginatedOrganizations

Returns a paginated list of accessible top-level organizations for the current user

Authorizations:
API_TokenPersonal-Access-Token
query Parameters
limit
integer [ 1 .. 50 ]
Default: 10

max. amount of entries in list

offset
integer
Default: 0

amount of entries to skip

all
boolean
Default: false

returns all entries, ignoring limit and offset parameters

Responses

Response samples

Content type
application/json
{
  • "organizations": [
    ],
  • "totalOrganizations": 0
}

trial

GetTrialStatus

Start a users' 14-day trial

Authorizations:
API_TokenPersonal-Access-Token

Responses

Response samples

Content type
application/json
{
  • "active": true,
  • "start": null,
  • "userID": 0
}

StartTrial

Start a users' 14-day trial

Authorizations:
API_TokenPersonal-Access-Token

Responses

Response samples

Content type
application/json
{
  • "active": true,
  • "start": null,
  • "userID": 0
}