OpenTAKServer API

GET /files/api/config

Required by CloudTAK, returns the following

{"uploadSizeLimit": 400}
GET /api/health

Health check for Docker, returns the following

GET /api/status

Server status used on the Dashboard page of the web UI

Rtype:

dict

GET /api/certificate
POST /api/certificate
GET /api/me

Get the details of the currently logged in user

Rtype:

User

GET /api/cot

Get CoT messages. All parameters are optional.

Parameters:
  • how – The how attribute of the CoT message, i.e. m-g, h-g-i-g-o

  • type – The type attribute of the CoT message, i.e. a-f-G-U-C

  • sender_callsign – The callsign of the EUD that sent the CoT message

  • sender_uid – The UID of the EUD that sent the CoT message

  • page – The page number

  • per_page – The number of results per page

GET /api/alerts

Get alerts. All parameters are optional.

Parameters:
  • uid – The alert’s UID

  • sender_uid – The UID of the EUD that sent the alert

  • alert_type – The type of alert

  • page – The page number

  • per_page – The number of results per page

GET /api/point

Query points. All parameters are optional.

Parameters:
  • uid – The point’s UID

  • callsign – The point’s callsign

  • page – The page number

  • per_page – The number of results per page

POST /api/rabbitmq/(path)
GET /api/eud

Query EUDS. All parameters are optional.

Parameters:
  • callsign – The EUD’s callsign

  • uid – The EUD’s callsign

  • username – The username that the EUD belongs to

  • page – The page number

  • per_page – The number of results per page

GET /api/truststore

Downloads the server’s truststore with no authentication required.

GET /api/map_state

Gets the latest data to be displayed on the web UI’s map

GET /api/icon

Query map icons. All parameters are optional.

Parameters:
  • filename

  • groupName

  • type2525b

GET /api/itak_qr_string

The iTAK QR string in the following format:

OpenTAKServer_SERVER-ADDRESS,SERVER-ADDRESS,8089,SSL

GET /api/casevac
POST /api/casevac
DELETE /api/casevac
PATCH /api/data_packages
DELETE /api/data_packages
GET /api/data_packages
GET /api/data_packages/download
POST /api/data_packages
GET /api/profiles
POST /api/profiles
DELETE /api/profiles
GET /api/markers
POST /api/markers
DELETE /api/markers
GET /api/mediamtx/webhook
PATCH /api/mediamtx/stream/update
POST /api/mediamtx/stream/add
DELETE /api/mediamtx/stream/delete
POST /api/external_auth
POST /api/meshtastic/channel
GET /api/meshtastic/channel
DELETE /api/meshtastic/channel
GET /api/meshtastic/generate_psk
GET /api/packages/(atak_version)/(package_name)
GET /api/packages/(package_name)
GET /api/packages
HEAD /api/packages/product.infz
OPTIONS /api/packages/product.infz
HEAD /api/packages/(atak_version)/product.infz
OPTIONS /api/packages/(atak_version)/product.infz
GET /api/packages/product.infz
GET /api/packages/(atak_version)/product.infz
GET /api/packages/repositories.inf
POST /api/packages
PATCH /api/packages
DELETE /api/packages
GET /api/scheduler/
GET /api/scheduler/jobs
POST /api/scheduler/job/pause
POST /api/scheduler/job/resume
POST /api/scheduler/job/run
POST /api/scheduler/job/modify
POST /api/user/add
POST /api/user/delete
POST /api/user/password/reset
POST /api/user/deactivate
POST /api/user/activate
POST /api/user/role
POST /api/user/assign_eud
GET /api/users
GET /api/users/all
GET /api/users/groups

Gets a list of group memberships for a user :parameter: username

Return:

List of group memberships

PUT /api/users/groups

Adds a user to one or more groups :parameter: groups - List of groups to add a user to :parameter: username :parameter: direction - Group direction, must be either IN or OUT

Return:

400 if LDAP is enabled, no group or username is specified, or if the specified group or user doesn’t exist or the user is already in the group. 200 on success.

Rtype:

Response

GET /api/videos/thumbnail
GET /api/videos/recordings
DELETE /api/videos/recording
GET /api/videos/recording
GET /api/video_streams
GET /api/missions
PUT /api/missions
POST /api/missions
DELETE /api/missions
POST /api/missions/invite
GET /api/groups

Search groups with filters and pagination

Parameter:

name

Parameter:

type

Parameter:

bitpos

Parameter:

active

Parameter:

page

Parameter:

per_page

Return:

JSON array of groups

GET /api/groups/all

Get a list of all groups

Return:

JSON array of groups

Rtype:

Response

GET /api/groups/members

Get a list of members of a group

Parameter:

name

Return:

JSON array of group members

Rtype:

Response

DELETE /api/groups/members
POST /api/groups

Creates a new group

Return:

400 if LDAP is enabled, the request is missing the name key or the group exists. 500 on server errors.

Rtype:

Response

PUT /api/groups

Adds a users to a group. This will allow all the user’s EUDs to subscribe and unsubscribe from the channels/groups they’re allowed to see. :parameter: users - A list of users to add to a group :parameter: group_name - Name of the group to add users to :parameter: direction - Group direction, can only be IN or OUT

Return:

400 if LDAP is enabled, no group or username is specified, or if the specified group or user doesn’t exist or the user is already in the group. 200 on success.

Rtype:

Response

DELETE /api/groups
GET /api/eud_stats
GET /api/plugins
POST /api/plugins
GET /api/plugins/repo
GET /api/plugins/(plugin_name)
POST /api/plugins/(plugin_name)/disable
POST /api/plugins/(plugin_name)/enable
GET /oauth/token

Provides an OAuth token for TAKX and CloudTAK

Parameters:
  • username

  • password

Return:

jwt

POST /oauth/token

Provides an OAuth token for TAKX and CloudTAK

Parameters:
  • username

  • password

Return:

jwt

POST /api/atak_qr_string

Generates a QR string for ATAK certificate enrollment. ATAK certificate enrollment via QR code only works if your server has a Let’s Encrypt certificate. Params are sent as JSON.

Parameters:
  • username

  • exp – The expiration time in unix epoch seconds i.e.1764260510

  • nbf – Not Before, the token will not be valid until this date in unix epoch seconds.

  • max – The maximum number of uses for this token.

Return:

String in the format of tak://com.atakmap.app/enroll?host=server_address.com&username=your_username&token=jwt_token

GET /api/atak_qr_string

Returns an existing ATAK QR string

Return:

String in the format of tak://com.atakmap.app/enroll?host=server_address.com&username=your_username&token=jwt_token

DELETE /api/atak_qr_string

Deletes a token

Parameters:
  • username

Return:

200 on success

POST /api/ldap_login