API Documentation
user
- POST /user/assets
Update asset information
Update asset information
- Status Codes:
501 Not Implemented – Unable to update asset information from here
- DELETE /user/assets
Delete asset information
Delete asset information
- Status Codes:
501 Not Implemented – Unable to delete asset information from here
- GET /user/assets
Get asset information
Get asset information. Only one of the ID parameter is supported at once
- Query Parameters:
id_asset (integer) – Specific ID of asset to query information.
asset_uuid (string) – Specific UUID of asset to query information.
id_device (integer) – ID of the device from which to request all accessible assets
id_session (integer) – ID of session from which to request all assets
id_participant (integer) – ID of participant from which to request all accessible assets
id_user (integer) – ID of the user from which to request all accessible assets.
service_uuid (string) – Query all assets associated with that service uuid
id_creator_service (integer) – ID of the service from which to request all created assets.
id_creator_user (integer) – ID of the user from which to request all created assets.
id_creator_participant (integer) – ID of the participant from which to request all created assets.
id_creator_device (integer) – ID of the device from which to request all created assets.
with_urls (boolean) – Also include assets infos and download-upload url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
full (boolean) – Also include names of sessions, users, services, … in the reply
- Status Codes:
200 OK – Success - returns list of assets
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
- GET /user/assets/archive
Get asset archive
Get asset archive. Only one of the ID parameter is supported at once.
- Query Parameters:
id_participant (integer) – ID of the participant from which to request all associated assets
id_project (integer) – ID of the project from which to request all associated assets
id_session (integer) – ID of the session from which to request all associated assets
- Status Codes:
200 OK – Success - returns list of assets
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
- POST /user/devices
Create / update devices
Create / update devices. id_device must be set to “0” to create a new device. Only superadmins can create new devices, site admin can update and project admin can modify config and notes.
- Request JSON Object:
device.device_certificate (string)
device.device_config (string)
device.device_enabled (boolean)
device.device_infos (string)
device.device_lastonline (string)
device.device_name (string)
device.device_notes (string)
device.device_onlineable (boolean)
device.device_token (string)
device.device_uuid (string)
device.id_device (integer) – (required)
device.id_device_subtype (integer)
device.id_device_type (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_device) in the JSON body
403 Forbidden – Logged user can’t create/update the specified device
500 Internal Server Error – Internal error occurred when saving device
- DELETE /user/devices
Delete a specific device
Delete a specific device
- Query Parameters:
id (integer) – Device ID to delete
- Status Codes:
200 OK – Success
400 Bad Request – Wrong ID/ No ID
403 Forbidden – Logged user can’t delete device (can delete if superadmin)
500 Internal Server Error – Device not found or database error.
- GET /user/devices
Get device information
Get devices information. Only one of the ID parameter is supported at once. If no ID is specified, returns all accessible devices for the logged user.
- Query Parameters:
id (integer) – ID of the device to query
id_device (integer) – ID of the device to query
device_uuid (string) – Device uuid of the device to query
uuid (string) – Alias for “device_uuid”
id_site (integer) – ID of the site from which to get all associated devices
id_project (integer) – ID of the project from which to get all associated devices
id_device_type (integer) – ID of device type from which to get all devices. Can be combined with id_site or id_project.
id_device_subtype (integer) – Device subtype id to get all devices of that subtype.
name (string) – Name of the device to query
projects (boolean) – Flag that indicates if associated project(s) information should be included in the returned device list
enabled (boolean) – Flag that limits the returned data to the enabled devices.
list (boolean) – Flag that limits the returned data to minimal information
with_participants (boolean) – Flag that indicates if associated participant(s) information should be included in the returned device list
with_sites (boolean) – Flag that indicates if associated site(s) information should be included in the returned device list
with_status (boolean) – Include status information - offline, online, busy for each device
- Status Codes:
200 OK – Success - returns list of devices
400 Bad Request – User Error : Too Many IDs
403 Forbidden – Forbidden access
500 Internal Server Error – Database error
- GET /user/devices/online
Get online devices
Get online devices uuids.
- Status Codes:
200 OK – Success
- POST /user/devices/participants
Assign / remove devices from a participant
Create/update devices associated with a participant.
- Request JSON Object:
device_participant.id_device (integer)
device_participant.id_device_participant (integer) – (required)
device_participant.id_participant (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_participant or id_device) in the JSON body
403 Forbidden – Logged user can’t modify device association
500 Internal Server Error – Internal error occured when saving device association
- DELETE /user/devices/participants
Remove a specific device - participant association
Delete a specific device-participant association.
- Query Parameters:
id (integer) – Specific device-participant association ID to delete. Be careful: this is not the device or the participant ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete device association
500 Internal Server Error – Device-participant association not found or database error.
- GET /user/devices/participants
Get devices assigned to a participant
Get devices that are related to a participant. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_device (integer) – ID of the device from which to request all associated participants
id_participant (integer) – ID of the participant from which to request all associated devices
id_site (integer) – ID of the site from which to get all devices and associated participants
id_device_type (integer) – ID of device type from which to get all devices and associated participants
list (boolean) – Flag that limits the returned data to minimal information (ids only)
- Status Codes:
200 OK – Success - returns list of devices - participants association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occurred when loading devices for participant
- POST /user/devices/projects
Create/update devices associated with a project
Create/update devices associated with a project.
- Request JSON Object:
device_project.id_device (integer)
device_project.id_device_project (integer) – (required)
device_project.id_project (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_project or id_device) in the JSON body
403 Forbidden – Logged user can’t modify device association - the user isn’t admin of the project or current user can’t access the device.
500 Internal Server Error – Internal error occured when saving device association
- DELETE /user/devices/projects
Delete a specific device-project association
Delete a specific device-project association.
- Query Parameters:
id (integer) – Specific device-project association ID to delete. Be careful: this is not the device or the project ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete device association (no admin access to project or one of the device’s site)
500 Internal Server Error – Device-project association not found or database error.
- GET /user/devices/projects
Get devices associated with a project
Get devices that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_device (integer) – ID of the device from which to request all associated projects
id_project (integer) – ID of the project from which to get all associated devices
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_projects (boolean) – Used with id_device. Also return projects that don’t have any association with that device
with_devices (boolean) – Used with id_project. Also return devices that don’t have any association with that project
with_sites (boolean) – Used with id_device. Also return site information of the returned projects.
- Status Codes:
200 OK – Success - returns list of devices - project association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occurred when loading devices for projects
- POST /user/devices/sites
Create/update devices association with a site
Create/update devices associated with a site.
- Request JSON Object:
device_site.id_device (integer)
device_site.id_device_site (integer) – (required)
device_site.id_site (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_site or id_device) in the JSON body
403 Forbidden – Logged user can’t modify device association
500 Internal Server Error – Internal error occured when saving device association
- DELETE /user/devices/sites
Delete a specific device-site association
Delete a specific device-site association.
- Query Parameters:
id (integer) – Specific device-site association ID to delete. Be careful: this is not the device or the site ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete device association (no admin access to site)
500 Internal Server Error – Device-site association not found or database error.
- GET /user/devices/sites
Get devices associated to a site
Get devices that are related to a site. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_device (integer) – ID of the device from which to request all associated sites
id_site (integer) – ID of the site from which to get all associated devices
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_devices (boolean) – Used with id_project. Also return devices that don’t have any association with that project
with_sites (boolean) – Used with id_service. Also return site information of the returned projects.
- Status Codes:
200 OK – Success - returns list of devices - sites association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occurred when loading devices for sites
- POST /user/devicesubtypes
Create / update devices subtypes
Create / update devices subtypes. id_device_subtype must be set to “0” to create a new subtype. Only site admins can create new devices subtypes.
- Request JSON Object:
device_subtype.device_subtype_name (string)
device_subtype.id_device_subtype (integer) – (required)
device_subtype.id_device_type (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_device_subtype or id_device_type) in the JSON body
403 Forbidden – Logged user can’t create/update the specified device subtype
500 Internal Server Error – Internal error occured when saving device subtype
- DELETE /user/devicesubtypes
Delete a specific device subtype
Delete a specific device subtype
- Query Parameters:
id (integer) – Device subtype ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete device subtype (can delete if site admin)
500 Internal Server Error – Device subtype not found or database error.
- GET /user/devicesubtypes
Get devices subtypes
Get devices subtypes. Only one of the ID parameter is supported at once.
- Query Parameters:
id_device_subtype (integer) – ID of the device subtype to query
id_device_type (integer) – ID of the device type from which to get all subtypes
list (boolean) – Return minimal information
- Status Codes:
200 OK – Success - returns list of devices subtypes
400 Bad Request – No parameters specified at least one id must be used
403 Forbidden – Forbidden access to the device type specified. Please check that the user has access to a session type containing that device type.
500 Internal Server Error – Database error
- POST /user/devicetypes
Create / update devices types
Create / update devices types. id_device_type must be set to “0” to create a new type. Only site admins can create new devices types.
- Request JSON Object:
device_type.device_type_key (string)
device_type.device_type_name (string)
device_type.id_device_type (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_device_name or id_device_type) in the JSON body
403 Forbidden – Logged user can’t create/update the specified device type
500 Internal Server Error – Internal error occured when saving device type
- DELETE /user/devicetypes
Delete a specific device type
Delete a specific device type
- Query Parameters:
id (integer) – Device type ID to delete
device_type_key (string) – Unique device key to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete device type (can delete if site admin)
500 Internal Server Error – Device type not found or database error.
501 Not Implemented – Tried to delete with 2 parameters
- GET /user/devicetypes
Get devices types
Get devices types. Only one of the ID parameter is supported at once. The ID is dominant on the device_type_key
- Query Parameters:
id_device_type (integer) – ID of the device type
device_type_key (string) – Key of the device type
list (boolean) – List of all device types
- Status Codes:
200 OK – Success - returns list of devices types
400 Bad Request – No parameters specified at least one id must be used
403 Forbidden – Forbidden access to the device type specified. Please check that the user has access to a session type containing that device type.
500 Internal Server Error – Database error
- GET /user/disconnect
Force disconnect a specific user / participant / device from server
Disconnect user/participant/device from server. Use Logout for current user instead.
- Query Parameters:
id_user (integer) – ID of the user to query
user_uuid (string) – User uuid of the device to query
id_participant (integer) – ID of the participant to query
participant_uuid (string) – Participant uuid of the device to query
id_device (integer) – ID of the device to query
device_uuid (string) – Device uuid of the device to query
- Status Codes:
200 OK – Success - user/participant/device will be disconnected.
400 Bad Request – No parameters specified, at least one id / uuid must be used
403 Forbidden – Forbidden access. Please check that the user has access to the requested id/uuid.
500 Internal Server Error – Database error
- GET /user/forms
Get json description of form to display to edit a specific data type
Get json description of standard input form for the specified data type.
- Query Parameters:
type (string) – Data type of the required form. Currently, the following data types are supported: device device_type device_subtype group participant project service service_config session session_type session_type_config site test_type user user_group versions
id (integer) – Specific id of subitem to query. Used to provide context to the returned form.
id_project (integer) – Specific id_project used to limit arrays list in some forms
id_site (integer) – Specific id_site used to limit arrays list in some forms
key (string) – Specific key of subitem to query. Used with service_config.
- Status Codes:
200 OK – Success
400 Bad Request – Missing required parameter
500 Internal Server Error – Unknown or unsupported data type
- POST /user/groups
Create / update participant groups
Create / update participant groups. id_participant_group must be set to “0” to create a new group. A group can be created/modified if the user has admin rights to the project.
- Request JSON Object:
participant_group.id_participant_group (integer) – (required)
participant_group.id_project (integer)
participant_group.participant_group_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_participant_group or id_project) in the JSON body
403 Forbidden – Logged user can’t create/update the specified device
500 Internal Server Error – Internal error occurred when saving device
- DELETE /user/groups
Delete a participant group
Delete a specific participant group
- Query Parameters:
id (integer) – Participant Group ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete participant group (only project admin can delete)
500 Internal Server Error – Database error.
- GET /user/groups
Get participant groups
Get participant groups information. Only one of the ID parameter is supported at once. If no ID is specified, returns all accessible groups for the logged user
- Query Parameters:
id_group (integer) – ID of the participant group to query
id_project (integer) – ID of the project from which to get all participant groups
id (integer) – Alias for “id_group”
list (boolean) – Flag that limits the returned data to minimal information
- Status Codes:
200 OK – Success - returns list of participant groups
500 Internal Server Error – Database error
- GET /user/login
Login to the server using HTTP Basic Authentication
Login to the server using HTTP Basic Authentication (HTTPAuth)
- Query Parameters:
with_websocket (boolean) – If set, requires that a websocket url is returned.If not possible to do so, return a 403 error.
- Status Codes:
200 OK – Success
- POST /user/login/2fa
Login to the server using Session Authentication and 2FA
Login to the server using Session Authentication and 2FA
- Query Parameters:
otp_code (string) – 2FA otp code
with_websocket (boolean) – If set, requires that a websocket url is returned.If not possible to do so, return a 403 error.
- Status Codes:
200 OK – Success
- GET /user/login/2fa
Login to the server using Session Authentication and 2FA
Login to the server using Session Authentication and 2FA
- Query Parameters:
otp_code (string) – 2FA otp code
with_websocket (boolean) – If set, requires that a websocket url is returned.If not possible to do so, return a 403 error.
- Status Codes:
200 OK – Success
- POST /user/login/change_password
Change password for a user on login (forced change)
Change password for the user. This API will only work if forced change is required on login. Otherwise, use the standard ‘api/user’ endpoint.
- Query Parameters:
new_password (string) – New password for the user
confirm_password (string) – Password confirmation for the user
- Status Codes:
200 OK – Success
- POST /user/login/setup_2fa
Enable 2FA for the user
Enable 2FA for the user Will use the OTP secret generated in the GET method.
- Query Parameters:
otp_secret (string) – OTP Secret for the user.
with_email_enabled (boolean) – Enable email notifications for 2FA
otp_code (string) – OTP code for validation on setup
- Status Codes:
200 OK – Success
- GET /user/login/setup_2fa
Generate a new 2FA secret for the user
Generate a new 2FA secret and QR Code for the user Will be enabled on post.
- Status Codes:
200 OK – Success
- POST /user/participants
Create / update participant
Create / update participants. id_participant must be set to “0” to create a new participant. A participant can be created/modified if the user has admin rights to the project.
- Request JSON Object:
participant.id_participant (integer) – (required)
participant.id_participant_group (integer)
participant.id_project (integer)
participant.participant_email (string)
participant.participant_enabled (boolean)
participant.participant_lastonline (string)
participant.participant_login_enabled (boolean)
participant.participant_name (string)
participant.participant_password (string)
participant.participant_token (string)
participant.participant_token_enabled (boolean)
participant.participant_username (string)
participant.participant_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_participant or id_project/id_group [only one of them]) in the JSON body, or mismatch between id_project and participant group project
403 Forbidden – Logged user can’t create/update the specified participant
500 Internal Server Error – Internal error when saving participant
- DELETE /user/participants
Delete a participant
Delete a specific participant
- Query Parameters:
id (integer) – Participant ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete participant (only project admin can delete)
500 Internal Server Error – Database error.
- GET /user/participants
Get participants
Get participants information. Only one of the ID parameter is supported and required at once
- Query Parameters:
id_participant (integer) – ID of the participant to query
id (integer) – Alias for “id_participant”
username (string) – Username of the participant to query
participant_uuid (string) – Participant uuid of the participant to query
uuid (string) – Alias for “participant_uuid”
id_site (integer) – ID of the site from which to get all participants
id_project (integer) – ID of the project from which to get all participants
id_group (integer) – ID of the participant groups from which to get all participants
id_session (integer) – ID of the session from which to get all participants
id_device (integer) – ID of the device from which to get all participants associated
name (string) – Name of the participant to query
enabled (boolean) – Flag that limits the returned data to the enabled participants
list (boolean) – Flag that limits the returned data to minimal information
full (boolean) – Flag that expands the returned data to include all information
orderby_recents (boolean) – Returns participants ordered by most recently updated
limit (integer) – Returns at most “limit” participants
no_group (boolean) – Flag that limits the returned data with only participants without a group
- Status Codes:
200 OK – Success - returns list of participants
400 Bad Request – No parameters specified at least one id must be used
500 Internal Server Error – Database error
- GET /user/participants/online
Get online participants
Get online participants uuids.
- Query Parameters:
with_sites (boolean) – Include site informations for each participant.
with_projects (boolean) – Include project informations for each participant.
token (string) – Secret token
- Status Codes:
200 OK – Success
- POST /user/projectaccess
Create / update project roles for users / usergroups
Create/update project access for an user / usergroup.
- Request JSON Object:
project_access (any)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_user_group or id_project) in the JSON body
403 Forbidden – Logged user can’t modify this project or user access (project admin access required)
500 Internal Server Error – Database error
- DELETE /user/projectaccess
Delete specific user / usergroup role in a project
Delete a specific project access
- Query Parameters:
id (integer) – Project Access ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete project access(only user who is admin in that project can remove it)
500 Internal Server Error – Database error.
- GET /user/projectaccess
Get roles for users / user groupes in a project
Get user roles for projects. Only one ID parameter required and supported at once.
- Query Parameters:
id_user (integer) – ID of the user from which to request all projects roles
id_user_group (integer) – ID of the user group from which to request all projects roles
id_project (integer) – ID of the project from which to request all users groups roles
admins (boolean) – Flag to limit to projects from which the user is an admin or users in project that have the admin role
with_sites (boolean) – Include sites information for each project.
by_users (boolean) – If specified, returns roles by users instead of by usergroups
with_empty (boolean) – Used with id_user_group. Also return projects that don’t have any access with that user group. Used with id_project. also return user groups that don’t have any access to the project
- Status Codes:
200 OK – Success - returns list of users roles in projects
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occured when loading project roles
- POST /user/projects
Create / update project
Create / update projects. id_project must be set to “0” to create a new project. A project can be created/modified if the user has admin rights to the related site.
- Request JSON Object:
project.id_project (integer) – (required)
project.id_site (integer)
project.project_description (string)
project.project_enabled (boolean)
project.project_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_site or id_project) in the JSON body
403 Forbidden – Logged user can’t create/update the specified project
500 Internal Server Error – Internal error occured when saving project
- DELETE /user/projects
Delete project
Delete a specific project
- Query Parameters:
id (integer) – Project ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete project (only site admin can delete)
500 Internal Server Error – Database error.
- GET /user/projects
Get projects
Get projects information. Only one of the ID parameter is supported and required at once
- Query Parameters:
id_project (integer) – ID of the project to query
id (integer) – Alias for “id_project”
id_site (integer) – ID of the site from which to get all projects
id_service (integer) – ID of the service from which to get all projects
user_uuid (string) – User UUID from which to get all projects that are accessible
name (string) – Project to query by name
enabled (boolean) – Flag that limits the returned data to the enabled projects
list (boolean) – Flag that limits the returned data to minimal information
- Status Codes:
200 OK – Success - returns list of participants
500 Internal Server Error – Database error
- GET /user/refresh_token
Refresh token for current user
Refresh token, old token needs to be passed in request headers.
- Query Parameters:
with_websocket (boolean) – If set, requires that a websocket url is returned.If not possible to do so, return a 403 error.
- Status Codes:
200 OK – Success
500 Internal Server Error – Server error
- GET /user/server/settings
Get server settings
Get server setting key
- Query Parameters:
uuid (boolean) – Get server UUID
device_register_key (boolean) – Get device registration key
- Status Codes:
200 OK – Success - returns setting value
401 Unauthorized – Logged user doesn’t have permission to access the requested data
- POST /user/services
Create / update services
Create / update services. id_service must be set to “0” to create a new service. A service can be created/modified only by super-admins. If data contains “roles”, also update the roles with the list.
- Request JSON Object:
service.id_service (integer) – (required)
service.service_clientendpoint (string)
service.service_default_config (string)
service.service_editable_config (boolean)
service.service_enabled (boolean)
service.service_endpoint (string)
service.service_endpoint_device (string)
service.service_endpoint_participant (string)
service.service_endpoint_user (string)
service.service_has_assets (boolean)
service.service_has_tests (boolean)
service.service_hostname (string)
service.service_key (string)
service.service_name (string)
service.service_port (integer)
service.service_system (boolean)
service.service_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_service) in the JSON body
403 Forbidden – Logged user can’t create/update the specified service
500 Internal Server Error – Internal error occured when saving service
- DELETE /user/services
Delete service
Delete a specific service
- Query Parameters:
id (integer) – Service ID to delete
- Status Codes:
200 OK – Success
400 Bad Request – Service doesn’t exists
403 Forbidden – Logged user can’t delete service (only super admins can delete) or service is a system service
500 Internal Server Error – Database error.
- GET /user/services
Get services
Get services information. Only one of the ID parameter is supported and required at once.
- Query Parameters:
id_service (integer) – ID of the service to query
id_project (integer) – ID of the project to query services from
id_site (integer) – ID of the site to query services from
id (integer) – Alias for “id_service”
service_uuid (string) – Service UUID to query
uuid (string) – Alias for “service_uuid”
service_key (string) – Service Key to query
key (string) – Alias for “service_key”
list (boolean) – Flag that limits the returned data to minimal information
with_config (boolean) – Only return services with editable configuration
- Status Codes:
200 OK – Success - returns list of services
500 Internal Server Error – Database error
- POST /user/services/access
Create / update service - access association
Create/update service - access association. A list can be posted - if an item with a id_service_access doesn’t have an id_service_role element, it will be deleted.
- Request JSON Object:
service_access.id_device (integer)
service_access.id_participant_group (integer)
service_access.id_service_access (integer) – (required)
service_access.id_service_role (integer)
service_access.id_user_group (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_project or id_service) in the JSON body
403 Forbidden – Logged user can’t modify association (only site admin can modify association)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/services/access
Delete a specific service access for an item
Delete a specific service access.
- Query Parameters:
id (integer) – Specific service access ID to delete. Be careful: this is not the service or service role ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (not admin of the associated elements)
500 Internal Server Error – Association not found or database error.
- GET /user/services/access
Get service access roles for a specific item
Get access roles for a specific items. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_user_group (integer) – Usergroup ID to query service access
id_user (integer) – User ID to query service access
id_participant_group (integer) – Participant group ID to query service access
id_device (integer) – Device ID to query service access
id_service (integer) – Service ID to query associated access from
- Status Codes:
200 OK – Success - returns list of access roles
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/services/configs
Create / update service configuration for an item
Create / update service config. id_service_config must be set to “0” to create a new config. A config can be created/modified if the user has admin access to the user, device or participant
- Request JSON Object:
service_config.id_device (integer)
service_config.id_participant (integer)
service_config.id_service (integer)
service_config.id_service_config (integer) – (required)
service_config.id_user (integer)
service_config.service_config_config (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(service_config, id_service_config, id_service) in the JSON body
403 Forbidden – Logged user can’t create/update the specified session
500 Internal Server Error – Internal error when saving service config
- DELETE /user/services/configs
Delete a specific service configuration for an item
Delete a specific service configuration
- Query Parameters:
id (integer) – Service config ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete config (must have admin access to the related object - user,device or participant, or be its own config)
500 Internal Server Error – Database error.
- GET /user/services/configs
Get specific service configuration for an item
Get service configuration. id_service can be combined with id_user, id_participant or id_device, if required. If no id_user, id_participant and id_device specified, will return config the current user.
- Query Parameters:
id_service (integer) – ID of service to get all configs from. Use in combination with another ID field to filter.
service_key (string) – Service key to query. Can be used instead of id_service. If usedwith id_service, service_key will be ignored.
id_participant (integer) – ID of the participant from which to get the service specified with id_service or all configs
id_user (integer) – ID of the user from which to get the service specified with id_service or all configs
id_device (integer) – ID of the device from which to get the service specified with id_service or all configs
id_specific (string) – ID of the specific configuration to get.
with_empty (boolean) – Also include empty configs for services without config.
list (boolean) – Also includes a list of all available specifics configs.
- Status Codes:
200 OK – Success - returns list of configurations
400 Bad Request – No parameters specified - id_service is at least required
500 Internal Server Error – Database error
- POST /user/services/projects
Create / update service-project association
Create/update service - project association. If a “service” json is received, the list of “projects” is replaced. If a “project” json is received, the list of “services” is replaced.If a “service_project” is received, each of the item in the list is added.
- Request JSON Object:
project.id_project (integer) – (required)
project.id_site (integer)
project.project_description (string)
project.project_enabled (boolean)
project.project_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_project or id_service) in the JSON body
403 Forbidden – Logged user can’t modify association (only site admin can modify association)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/services/projects
Delete a specific service - project association
Delete a specific service - project association.
- Query Parameters:
id (integer) – Specific service - project association ID to delete. Be careful: this is not the service or project ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (not site admin of the associated project)
500 Internal Server Error – Association not found or database error.
- GET /user/services/projects
Get services associated with a project
Get services that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_project (integer) – Project ID to query associated services
id_service (integer) – Service ID to query associated projects from
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_projects (boolean) – Used with id_service. Also return projects that don’t have any association with that service
with_services (boolean) – Used with id_project. Also return services that don’t have any association with that project
with_roles (boolean) – Used with id_project. Returns detailled information oneach role for this service.
with_sites (boolean) – Used with id_service. Also return site information of the returned projects.
- Status Codes:
200 OK – Success - returns list of services - projects association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/services/roles
Create / update service roles
Create/update service role.
- Request JSON Object:
service_role.id_project (integer)
service_role.id_service (integer)
service_role.id_service_role (integer) – (required)
service_role.id_site (integer)
service_role.service_role_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_service or id_service_role) in the JSON body
403 Forbidden – Logged user can’t modify service role (only super admin)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/services/roles
Delete service role
Delete a specific service role.
- Query Parameters:
id (integer) – Specific service role ID to delete.
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete role (not super admin)
500 Internal Server Error – Database error.
- GET /user/services/roles
Get service roles
Get service roles for either a specific service or for all available services.
- Query Parameters:
id_service (integer) – Specific service ID to query roles for
globals (boolean) – Only return global roles, e.g. not related to a site or a project
list (boolean) – Return minimal information about the roles
- Status Codes:
200 OK – Success - returns list of service roles
500 Internal Server Error – Error when getting roles
- POST /user/services/sites
Create / update service-site association
Create/update service - site association. If a “service” json is received, the list of “sites” is replaced. If a “site” json is received, the list of “services” is replaced.If a “service_site” is received, each of the item in the list is added.
- Request JSON Object:
service_site.id_service (integer)
service_site.id_service_site (integer) – (required)
service_site.id_site (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_project or id_service) in the JSON body
403 Forbidden – Logged user can’t modify association (only super admin can modify association)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/services/sites
Delete service-site association
Delete a specific service - site association.
- Query Parameters:
id (integer) – Specific service - site association ID to delete. Be careful: this is not the service or site ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (only super admins can)
500 Internal Server Error – Association not found or database error.
- GET /user/services/sites
Get services associated with a site
Get services that are associated with a site. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_site (integer) – Site ID to query associated services
id_service (integer) – Service ID to query associated projects from
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_sites (boolean) – Used with id_service. Also return sites that don’t have any association with that service
with_services (boolean) – Used with id_site. Also return services that don’t have any association with that site
with_roles (boolean) – Used with id_site. Returns detailed information oneach role for this service.
- Status Codes:
200 OK – Success - returns list of services - sites association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/sessions
Create / update session
Create / update session. id_session must be set to “0” to create a new session. A session can be created/modified if the user has access to all participants and users in the session.
- Request JSON Object:
session.id_creator_device (integer)
session.id_creator_participant (integer)
session.id_creator_service (integer)
session.id_creator_user (integer)
session.id_session (integer) – (required)
session.id_session_type (integer)
session.session_comments (string)
session.session_duration (integer)
session.session_name (string)
session.session_parameters (string)
session.session_start_datetime (string)
session.session_status (integer)
session.session_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(session, id_session, session_participants_ids and/or session_users_ids[for new sessions]) in the JSON body
403 Forbidden – Logged user can’t create/update the specified session
500 Internal Server Error – Internal error when saving session
- DELETE /user/sessions
Delete session
Delete a specific session
- Query Parameters:
id (integer) – Session ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete session (must have access to all participants and users in the session to delete)
500 Internal Server Error – Database error.
- GET /user/sessions
Get session
Get sessions information. Only one of the ID parameter is supported and required at once
- Query Parameters:
id_session (integer) – ID of the session to query
id_participant (integer) – ID of the participant from which to get all sessions
id_user (integer) – ID of the user from which to get all sessions
id_device (integer) – ID of the device from which to get all sessions
status (integer) – Limit to specific session status
limit (integer) – Maximum number of results to return
offset (integer) – Number of items to ignore in results, offset from 0-index
session_uuid (string) – Session UUID to query
list (boolean) – Flag that limits the returned data to minimal information
start_date (string) – Start date, sessions before that date will be ignored
end_date (string) – End date, sessions after that date will be ignored
with_session_type (boolean) – Include session type informations
- Status Codes:
200 OK – Success - returns list of sessions
400 Bad Request – No parameters specified at least one id must be used
500 Internal Server Error – Database error
- POST /user/sessions/events
Create / update session events
Create / update session events. id_session_event must be set to “0” to create a new event. An event can be created/modified if the user has access to the session.
- Request JSON Object:
session_event.id_session (integer)
session_event.id_session_event (integer) – (required)
session_event.id_session_event_type (integer)
session_event.session_event_context (string)
session_event.session_event_datetime (string)
session_event.session_event_text (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_session_event or id_session) in the JSON body
403 Forbidden – Logged user can’t create/update the specified event
500 Internal Server Error – Internal error when saving device
- DELETE /user/sessions/events
Delete a session event
Delete a specific session event
- Query Parameters:
id (integer) – Session event ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete event (no access to that session)
500 Internal Server Error – Database error.
- GET /user/sessions/events
Get events for a session
Get events for a specific session
- Query Parameters:
id_session (integer) – ID of the session to query events for
- Status Codes:
200 OK – Success - returns list of events
400 Bad Request – Required parameter is missing (id_session)
500 Internal Server Error – Database error
- POST /user/sessions/manager
Starts / stop a session related to a service
Manage a specific session
- Request JSON Object:
session_manage.action (string) – (required)
session_manage.id_creator_device (integer)
session_manage.id_creator_participant (integer)
session_manage.id_creator_service (integer)
session_manage.id_creator_user (integer)
session_manage.id_service (integer)
session_manage.id_session (integer)
session_manage.id_session_type (integer)
session_manage.parameters (object)
session_manage.session_devices[] (string)
session_manage.session_participants[] (string)
session_manage.session_users[] (string)
session_manage.session_uuid (str)
- Status Codes:
200 OK – Success
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have enough permission
500 Internal Server Error – Internal server error
501 Not Implemented – Not implemented
- POST /user/sessiontypes
Create / update session type
Create / update session type. id_session_type must be set to “0” to create a new type. A session type can be created/modified if the user has access to a related session typeproject.
- Request JSON Object:
session_type.id_service (integer)
session_type.id_session_type (integer) – (required)
session_type.session_type_category (integer)
session_type.session_type_color (string)
session_type.session_type_config (string)
session_type.session_type_name (string)
session_type.session_type_online (boolean)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_session_type) in the JSON body
403 Forbidden – Logged user can’t create/update the specified session type
500 Internal Server Error – Internal error when saving session type
- DELETE /user/sessiontypes
Delete session type
Delete a specific session type
- Query Parameters:
id (integer) – Session type ID to delete
token (string) – Secret token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete session type (no admin access to project related to that type or sessions of that type exists in the system somewhere)
500 Internal Server Error – Database error.
- GET /user/sessiontypes
Get session type
Get session type information. If no id_session_type specified, returns all available session types
- Query Parameters:
id_session_type (integer) – ID of the session type to query
id_project (integer) – ID of the project to get session type for
id_site (integer) – ID of the site to get session types for
list (boolean) – Flag that limits the returned data to minimal information
- Status Codes:
200 OK – Success - returns list of session types
500 Internal Server Error – Database error
- POST /user/sessiontypes/projects
Create / update session types for a project
Create/update session-type - project association.
- Request JSON Object:
session_type_project.id_project (integer)
session_type_project.id_session_type (integer)
session_type_project.id_session_type_project (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_project or id_session_type) in the JSON body
403 Forbidden – Logged user can’t modify association (session type must be accessible from project access)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/sessiontypes/projects
Delete specific session type - project association
Delete a specific session-type - project association.
- Query Parameters:
id (integer) – Specific session-type - project association ID to delete. Be careful: this is not the session-type or project ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
400 Bad Request – Association not found (invalid id?)
403 Forbidden – Logged user can’t delete association (no access to session-type or project)
- GET /user/sessiontypes/projects
Get session types associated with a project
Get session types that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_project (integer) – Project ID to query associated session types from
id_session_type (integer) – Session type ID to query associated projects from
with_projects (boolean) – Used with id_session_type. Also return projects that don’t have any association with that type
with_session_type (boolean) – Used with id_project. Also return types that don’t have any association with that project
with_sites (boolean) – Used with id_session_type. Also return site information of the returned projects.
list (boolean) – Flag that limits the returned data to minimal information (ids only)
- Status Codes:
200 OK – Success - returns list of session-types - projects association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/sessiontypes/services
Create / update session types - service additional association
Create/update session-type - service additional association.
- Request JSON Object:
session_type_service.id_service (integer)
session_type_service.id_session_type (integer)
session_type_service.id_session_type_service (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_service or id_session_type) in the JSON body
403 Forbidden – Logged user can’t modify association
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/sessiontypes/services
Delete specific session-type - service additional association
Delete a specific session-type - service additional association.
- Query Parameters:
id (integer) – Specific session-type - service association ID to delete. Be careful: this is not the session-type or service ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
400 Bad Request – Association not found (invalid id?)
403 Forbidden – Logged user can’t delete association (no access to session-type or project)
- GET /user/sessiontypes/services
Get session types additional association with services
Get session types secondary services association. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_session_type (integer) – Session type ID to query secondary services
with_services (boolean) – Used with id_session_type. Also return services that don’t have any association with that type
list (boolean) – Flag that limits the returned data to minimal information (ids only)
- Status Codes:
200 OK – Success - returns list of session-types - services association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/sessiontypes/sites
Create / update session types associated with a site
Create/update session types associated with a site.
- Request JSON Object:
session_type_site.id_session_type (integer)
session_type_site.id_session_type_site (integer) – (required)
session_type_site.id_site (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_site or id_device) in the JSON body
403 Forbidden – Logged user can’t modify device association
500 Internal Server Error – Internal error occured when saving device association
- DELETE /user/sessiontypes/sites
Delete a specific session type - site association
Delete a specific session type-site association.
- Query Parameters:
id (integer) – Specific session type-site association ID to delete. Be careful: this is not the session type or the site ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (no admin access to site)
500 Internal Server Error – Session type - site association not found or database error.
- GET /user/sessiontypes/sites
Get session types associated with a site
Get session types that are related to a site. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_session_type (integer) – ID of the session type from which to request all associated sites
id_site (integer) – ID of the site from which to get all associated session types
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_session_type (boolean) – Used with id_session_type. Also return session types that don’t have any association with that site
with_sites (boolean) – Used with id_service. Also return site information of the returned projects.
- Status Codes:
200 OK – Success - returns list of session types - sites association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occurred when loading devices for sites
- POST /user/siteaccess
Create / update site access for an user / usergroup
Create/update site access for a user group.
- Request JSON Object:
site_access (any)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_user or id_site) in the JSON body
403 Forbidden – Logged user can’t modify this site or user access (site admin access required)
500 Internal Server Error – Database error
- DELETE /user/siteaccess
Delete a specific site access
Delete a specific site access
- Query Parameters:
id (integer) – Site Access ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete site access(only user who is admin in that site can remove it)
500 Internal Server Error – Database error.
- GET /user/siteaccess
Get access role to site for user / usergroup
Get user roles for sites. Only one parameter required and supported at once.
- Query Parameters:
id_user (integer) – ID of the user from which to request all site roles
id_user_group (integer) – ID of the user group from which to request all site roles
id_site (integer) – ID of the site from which to request all user groups roles
admins (boolean) – Flag to limit to sites from which the user group is an admin or users in site that have the admin role
by_users (boolean) – If specified, returns roles by users instead of by usergroups
with_usergroups (boolean) – Used With the “by_users” parameter, it instead returns the usergroups of each user.
with_empty (boolean) – Used with id_site, also return user or user groups that don’t have any access to the site. Used with id_user_group, also return sites that don’t have any access with that user group
- Status Codes:
200 OK – Success - returns list of users roles in sites
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occurred when loading sites roles
- POST /user/sites
Create / update site
Create / update site. id_site must be set to “0” to create a new site. A site can be created/modified if the user has admin rights to the site itself or issuperadmin.
- Request JSON Object:
site.id_site (integer) – (required)
site.site_2fa_required (boolean)
site.site_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_site) in the JSON body
403 Forbidden – Logged user can’t create/update the specified site
500 Internal Server Error – Internal error when saving site
- DELETE /user/sites
Delete a site
Delete a specific site
- Query Parameters:
id (integer) – Site ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete site (only super admin can delete)
500 Internal Server Error – Database error.
- GET /user/sites
Get site
Get site information. Only one of the ID parameter is supported and required at once
- Query Parameters:
id_site (integer) – ID of the site to query
id (integer) – Alias for “id_site”
id_device (integer) – ID of the device from which to get all related sites
user_uuid (string) – User UUID from which to get all sites that are accessible
name (string) – Site name to query
- Status Codes:
200 OK – Success - returns list of sites
500 Internal Server Error – Database error
- GET /user/stats
Get stats for the specified item
Get stats for the specified item.
- Query Parameters:
id_user_group (integer) – ID of the user group to query stats for.
id_user (integer) – ID of the user to query stats for.
id_site (integer) – ID of the site to query stats for.
id_project (integer) – ID of the project to query stats for.
id_group (integer) – ID of the participant group to query stats for.
id_session (integer) – ID of the session to query stats for.
id_participant (integer) – ID of the participant to query stats for.
id_device (integer) – ID of the device to query stats for.
with_participants (boolean) – Also includes related participants stats. Can not be used with “id_participant”, “id_user_group”, “id_session”, “id_user” or “id_device”.
with_warnings (boolean) – Also include warning information such as a participant not having sessions for some time or users not having logged on for some time. Can only be used with “id_site” for now.
- Status Codes:
200 OK – Success
400 Bad Request – Missing parameter - one id must be specified.
500 Internal Server Error – Database error
- POST /user/tests
Create / update test
Delete test.
- Status Codes:
501 Not Implemented – Unable to update test from here - use service!
- DELETE /user/tests
Delete test
Delete a specific test
- Query Parameters:
id (integer) – Test type ID to delete
token (string) – Secret token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete test
500 Internal Server Error – Database error.
- GET /user/tests
Get test information
Get test information. Only one of the ID parameter is supported at once
- Query Parameters:
id_test (integer) – Specific ID of test to query information.
test_uuid (string) – Specific UUID of test to query information.
id_device (integer) – ID of the device from which to request all tests
id_session (integer) – ID of session from which to request all tests
id_participant (integer) – ID of participant from which to request all tests
id_user (integer) – ID of the user from which to request all tests.
with_urls (boolean) – Also include tests results url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
full (boolean) – Also include names of sessions, users, services, … in the reply
- Status Codes:
200 OK – Success - returns list of assets
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
- POST /user/tests/invitations
Create / update test invitation
Update/Create test invitation.
- Request JSON Object:
tests_invitations[].id_device (integer)
tests_invitations[].id_participant (integer)
tests_invitations[].id_project (integer)
tests_invitations[].id_session (integer)
tests_invitations[].id_test_invitation (integer) – (required)
tests_invitations[].id_test_type (integer)
tests_invitations[].id_user (integer)
tests_invitations[].test_invitation_count (integer)
tests_invitations[].test_invitation_creation_date (string)
tests_invitations[].test_invitation_expiration_date (string)
tests_invitations[].test_invitation_key (string)
tests_invitations[].test_invitation_max_count (integer)
tests_invitations[].test_invitation_message (string)
- Status Codes:
501 Not Implemented – Unable to update test from here - use service!
- DELETE /user/tests/invitations
Delete test invitation
Delete a specific test invitation
- Query Parameters:
id (integer) – Test type ID to delete
token (string) – Secret token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete test
500 Internal Server Error – Database error.
- GET /user/tests/invitations
Get tests invitations information
Get tests invitations information. Witout any parameters, this will return all accessible invitations. Otherwise, you can filter by:
id_test_invitation
test_invitation_key
id_user
user_uuid
id_participant
participant_uuid
id_device
device_uuid
id_session
session_uuid
id_test_type
test_type_uuid
- Query Parameters:
id_test_invitation (integer) – Specific ID of test invitation to query information.
test_invitation_key (string) – Specific key of test invitation to query information.
id_user (integer) – ID of the user from which to request all test invitations
user_uuid (string) – UUID of the user from which to request all test invitations
id_participant (integer) – ID of the participant from which to request all test invitations
participant_uuid (string) – UUID of the participant from which to request all test invitations
id_device (integer) – ID of the device from which to request all test invitations
device_uuid (string) – UUID of the device from which to request all test invitations
id_session (integer) – ID of session from which to request all test invitations
session_uuid (string) – UUID of session from which to request all test invitations
id_test_type (integer) – ID of test type from which to request all test invitations
test_type_uuid (string) – UUID of test type from which to request all test invitations
id_project (integer) – ID of project from which to request all test invitations
full (boolean) – Include more information in invitations with user, participant, device, test_type and session.
with_urls (boolean) – Include URLs in results
- Status Codes:
200 OK – Success - returns list of invitations
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
- POST /user/testtypes
Create / update test types
Create / update test type. id_test_type must be set to “0” to create a new type. A test type can be created/modified if the user has access to a related test typeproject.
- Request JSON Object:
test_type.id_service (integer)
test_type.id_test_type (integer) – (required)
test_type.test_type_description (string)
test_type.test_type_has_json_format (boolean)
test_type.test_type_has_web_editor (boolean)
test_type.test_type_has_web_format (boolean)
test_type.test_type_key (string)
test_type.test_type_name (string)
test_type.test_type_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field in the JSON body
403 Forbidden – Logged user can’t create/update the specified test type
500 Internal Server Error – Internal error when saving test type
- DELETE /user/testtypes
Delete test type
Delete a specific test type
- Query Parameters:
id (integer) – Test type ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete test type (no admin access to project related to that type or tests of that type exists in the system somewhere)
500 Internal Server Error – Database error.
- GET /user/testtypes
Get test types
Get test type information. If no id_test_type specified, returns all available test types
- Query Parameters:
id_test_type (integer) – ID of the test type to query
test_type_uuid (string) – UUID of the test type to query
test_type_key (string) – Key of the test type to query
id_project (integer) – ID of the project to get test types for
id_site (integer) – ID of the site to get test types for
list (boolean) – Flag that limits the returned data to minimal information
with_urls (boolean) – Also include test types urls
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
- Status Codes:
200 OK – Success - returns list of test types
500 Internal Server Error – Database error
- POST /user/testtypes/projects
Create / update test-type -> project association
Create/update test-type - project association.
- Request JSON Object:
test_type_project.id_project (integer)
test_type_project.id_test_type (integer)
test_type_project.id_test_type_project (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields in the JSON body
403 Forbidden – Logged user can’t modify association (project admin access required)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /user/testtypes/projects
Delete a specific test type - project association
Delete a specific test-type - project association.
- Query Parameters:
id (integer) – Specific test type - project association ID to delete. Be careful: this is not the test-type or project ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
400 Bad Request – Association not found (invalid id?)
403 Forbidden – Logged user can’t delete association (no access to test-type or project)
- GET /user/testtypes/projects
Get test types - project association
Get test types that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_project (integer) – Project ID to query associated test types from
id_test_type (integer) – Test type ID to query associated projects from
with_projects (boolean) – Used with id_test_type. Also return projects that don’t have any association with that type
with_tests_types (boolean) – Used with id_project. Also return types that don’t have any association with that project
with_sites (boolean) – Used with id_test_type. Also return site information of the returned projects.
list (boolean) – Flag that limits the returned data to minimal information (ids only)
- Status Codes:
200 OK – Success - returns list of test-types - projects association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /user/testtypes/sites
Create / update test types associated to a site
Create/update test types associated with a site.
- Request JSON Object:
test_type_site.id_site (integer)
test_type_site.id_test_type (integer)
test_type_site.id_test_type_site (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_site or id_test_type) in the JSON body
403 Forbidden – Logged user can’t modify association
500 Internal Server Error – Internal error occurred when saving device association
- DELETE /user/testtypes/sites
Delete specific test type - site association
Delete a specific test type-site association.
- Query Parameters:
id (integer) – Specific test type-site association ID to delete. Be careful: this is not the test type or the site ID, but the ID of the association itself!
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (no admin access to site)
500 Internal Server Error – Session type - site association not found or database error.
- GET /user/testtypes/sites
Get test types associated to a site
Get test types that are related to a site. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_test_type (integer) – ID of the test type from which to request all associated sites
id_site (integer) – ID of the site from which to get all associated test types
list (boolean) – Flag that limits the returned data to minimal information (ids only)
with_tests_types (boolean) – Used with id_test_type. Also return test types that don’t have any association with that site
with_sites (boolean) – Used with id_site. Also return site information of the returned test types.
- Status Codes:
200 OK – Success - returns list of session types - sites association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error occured when loading devices for sites
- POST /user/usergroups
Create / update usergroup
Create / update user group. id_user_group must be set to “0” to create a new user group. User groups can be modified if the user has a site admin role.
- Request JSON Object:
user_group.id_user_group (integer) – (required)
user_group.user_group_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_user_group) in the JSON body
403 Forbidden – Logged user can’t create/update the specified user group
500 Internal Server Error – Internal error when saving user group
- DELETE /user/usergroups
Delete an usergroup
Delete a specific user group
- Query Parameters:
id (integer) – User group ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete user group (only a site admin that includes that user group in their site can delete)
500 Internal Server Error – Database error.
- GET /user/usergroups
Get usergroup
Get user group information. If no id specified, returns all accessible users groups
- Query Parameters:
id_user_group (integer) – ID of the user group to query
id_user (integer) – ID of the user to get all user groups
id_site (integer) – ID of the site to get all user groups with access in that site
list (boolean) – Flag that limits the returned data to minimal information
- Status Codes:
200 OK – Success
500 Internal Server Error – Database error
- POST /user/users
Create / update an user
Create / update user. id_user must be set to “0” to create a new user. User can be modified if: current user is super admin or user is part of a project which the current user is admin. Promoting a user to super admin is restricted to super admins.”If data contains “user_user_groups, also set user groups for that user.
- Request JSON Object:
user.id_user (integer) – (required)
user.user_2fa_email_enabled (boolean)
user.user_2fa_enabled (boolean)
user.user_2fa_otp_enabled (boolean)
user.user_2fa_otp_secret (string)
user.user_email (string)
user.user_enabled (boolean)
user.user_firstname (string)
user.user_force_password_change (boolean)
user.user_lastname (string)
user.user_lastonline (string)
user.user_notes (string)
user.user_password (string)
user.user_profile (string)
user.user_superadmin (boolean)
user.user_username (string)
user.user_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_user or missing password when new user) in the JSON body
403 Forbidden – Logged user can’t create/update the specified user
409 Conflict – Username is already taken
500 Internal Server Error – Internal error when saving user
- DELETE /user/users
Delete an user
Delete a specific user
- Query Parameters:
id (integer) – User ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete user (only super admin can delete)
500 Internal Server Error – Database error.
- GET /user/users
Get users
Get user information. If no id specified, returns all accessible users
- Query Parameters:
id (integer) – ID of the user to query
id_user (integer) – ID of the user to query
id_user_group (integer) – ID of the user group to get all users from
id_project (integer) – ID of the project to get all users that has access to it
user_uuid (string) – User UUID to query
uuid (string) – Alias for “user_uuid”
username (string) – Username of the user to query
self (boolean) – Query information about the currently logged user
enabled (boolean) – Only returns users with the specified enabled status
list (boolean) – Flag that limits the returned data to minimal information (ID, name, enabled)
with_usergroups (boolean) – Include usergroups information for each user.
with_status (boolean) – Include status information - offline, online, busy for each user
- Status Codes:
200 OK – Success
500 Internal Server Error – Database error
- GET /user/users/online
Get online users
Get online users informations.
- Query Parameters:
token (string) – Secret token
- Status Codes:
200 OK – Success
- POST /user/users/preferences
Create / update user preferences
Create / update user preferences. Only one preference is allowed for a specific app_tag. Preference will be overwritten if app_tag already exists for the user, and will be deleted if empty or null. If id_user isn’t set, will update current user preferences
- Request JSON Object:
user_preference.id_user (integer)
user_preference.id_user_preference (integer) – (required)
user_preference.user_preference_app_tag (string)
user_preference.user_preference_preference (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(app_tag) in the JSON body
403 Forbidden – Logged user can’t create/update the user linked to that preference
500 Internal Server Error – Internal error occurred when saving user preference
- GET /user/users/preferences
Get user preferences (for a specific app)
Get user preferences. If no id_user field specified, returns preferences for current user.
- Query Parameters:
id_user (integer) – ID of the user to get preference for
app_tag (string) – Tag of the application for which to get preferences
- Status Codes:
200 OK – Success - returns list of user preferences
400 Bad Request – Missing parameter or bad app_tag
403 Forbidden – Forbidden access to that user.
500 Internal Server Error – Database error
- POST /user/users/usergroups
Create / update user’s usergroups
Create / update user - user group relationship, creating it if it doesn’t exist, updating it otherwise.
- Request JSON Object:
user_user_group.id_user (integer)
user_user_group.id_user_group (integer)
user_user_group.id_user_user_group (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_user_group) in the JSON body
403 Forbidden – Logged user can’t create/update the specified user group
500 Internal Server Error – Internal error when saving user group
- DELETE /user/users/usergroups
Delete a specific user-usergroup assocation
Delete a specific user - user group relationship
- Query Parameters:
id (integer) – User - User group relationship ID to delete
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete user group (only a site admin that includes that user group in their site can delete)
500 Internal Server Error – Database error.
- GET /user/users/usergroups
Get user usergroups
Get user - user group information. At least one “id” field must be specified
- Query Parameters:
id_user_group (integer) – ID of the user group to query
id_user (integer) – ID of the user to get all user groups
list (boolean) – Flag that limits the returned data to minimal information
with_empty (boolean) – Used with id_user, also returns users groups that the user is not part of. Used with id_user_group, also returns users not part of that user group.
- Status Codes:
200 OK – Success
500 Internal Server Error – Database error
- POST /user/versions
Update server versions
Post server versions
- Request JSON Object:
ClientVersions.client_description (string)
ClientVersions.client_documentation_url (string)
ClientVersions.client_linux_download_url (string)
ClientVersions.client_mac_download_url (string)
ClientVersions.client_name (string)
ClientVersions.client_version (string)
ClientVersions.client_windows_download_url (string)
- Status Codes:
200 OK – Success - asset posted
403 Forbidden – Logged user doesn’t have permission to delete the requested asset (must be an user ofthe related project)
500 Internal Server Error – Database error occurred
- GET /user/versions
Get server versions
Get server versions
- Status Codes:
200 OK – Success - returns versions information
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
device
- GET /device/assets
Get device assets
Get device assets based specified session or asset ID or, if no parameters, get all assets
- Query Parameters:
asset_uuid (string) – Asset UUID to query
id_asset (integer) – Asset ID to query
id_session (integer) – Session ID to query assets for
with_urls (boolean) – Also include assets infos and download-upload url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Device doesn’t have access to the specified asset
- POST /device/devices
Update current device information
Update a device. A device can only update its own data. For now, only device_config can be updated with that API.
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_device) in the JSON body
403 Forbidden – Logged device can’t update the specified device
500 Internal Server Error – Internal error occurred when saving device
- GET /device/devices
Get connected device information
Return device information.
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented
- GET /device/login
Device login
Login device with Token.
- Query Parameters:
token (string) – Secret Token
- Status Codes:
200 OK – Success
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented
- GET /device/logout
Device logout
Device logout.
- Query Parameters:
token (string) – Access Token
- Status Codes:
200 OK – Success
403 Forbidden – Device isn’t logged in
- GET /device/participants
Get device associated participants information
Return participant information, if allowed.
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented
- POST /device/register
Register a new device in the server (certificate based)
Register a device with certificate request. This endpoint is rate limited. If the device type key doesn’t exist, a new one will be created. Same behavior for subtype name.Use application/octet-stream to send CSR.
- Status Codes:
200 OK – Success - returns registration information. Devices must then be enabled by admin.
400 Bad Request – Missing or invalid parameter
401 Unauthorized – Unauthorized - provided registration key is invalid
- GET /device/register
Register a new device in the server (token based)
Register a device to use token identification. This endpoint is rate limited. If the device type key doesn’t exist, a new one will be created. Same behavior for subtype name.
- Query Parameters:
key (string) – Server device registration key
name (string) – Device name to use
type_key (string) – Device type key to use
subtype_name (string) – Device subtype name to use
onlineable (boolean) – Device can get online status
- Status Codes:
200 OK – Success
- POST /device/sessions
Update / create a session
Update/Create session
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session.id_session (integer) – (required)
session.id_session_type (integer) – (required)
session.session_name (string) – (required)
session.session_participants[] (string)
session.session_start_datetime (string) – (required)
session.session_status (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Required parameter is missing
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Internal server error
501 Not Implemented – Not implemented
- GET /device/sessions
Query device sessions
Get session
- Query Parameters:
id_session (integer) – Session ID
list (boolean) – List all sessions
token (string) – Access token
- Status Codes:
403 Forbidden – Forbidden for security reasons.
- POST /device/sessions/events
Create / update session events
Update/Create session events
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success
400 Bad Request – Required parameter is missing
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Internal server error
501 Not Implemented – Not implemented
- GET /device/sessions/events
Get events for a specific session
Get session events
- Query Parameters:
id_session (integer) – Session ID
token (string) – Access token
- Status Codes:
403 Forbidden – Forbidden for security reasons.
- POST /device/status
Update current device status
Set the device status (will update UserManagerModule).
- Query Parameters:
token (string) – Access token
- Request JSON Object:
status (object) – (required)
timestamp (number) – (required)
- Status Codes:
200 OK – Success
403 Forbidden – Logged device doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented
participant
- GET /participant/assets
Get participant assets
Get participant assets based on the ID or, if no parameters, get all assets
- Query Parameters:
asset_uuid (string) – Asset UUID to query
id_asset (integer) – Asset ID to query
id_session (integer) – Session ID to query assets for
with_urls (boolean) – Also include assets infos and download-upload url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Participant doesn’t have access to the specified asset
- GET /participant/devices
Get associated participant devices
Query devices associated with a participant.
- Query Parameters:
id_device (integer) – ID of the device to query
list (boolean) – Flag that limits the returned data to minimal information
- Status Codes:
200 OK – Success
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /participant/login
Login a participant with username / password
Participant login with HTTPAuth
- Query Parameters:
with_websocket (boolean) – If set, requires that a websocket url is returned.If not possible to do so, return a 403 error.
token (string) – Access token
- Status Codes:
200 OK – Success - Login succeeded
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /participant/logout
Participant logout
Logout participant
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /participant/participants
Update current participant informations
To be documented To be documented
- Status Codes:
200 OK – Success - To be documented
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /participant/participants
Get current participant informations
Return participant information.
- Query Parameters:
list (boolean) – Flag that limits the returned data to minimal information
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /participant/refresh_token
Refresh participant dynamic token
Refresh token, old token needs to be passed in request headers.
- Status Codes:
200 OK – Success
500 Internal Server Error – Server error
- POST /participant/sessions
Create / update a session
Update/Create session
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session.id_session (integer) – (required)
session.id_session_type (integer) – (required)
session.session_name (string) – (required)
session.session_participants[] (string)
session.session_start_datetime (string) – (required)
session.session_status (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Required parameter is missing
403 Forbidden – Logged participant doesn’t have permission to access the requested data
500 Internal Server Error – Internal server error
501 Not Implemented – Not implemented
- GET /participant/sessions
Get participant sessions
Get session associated with participant.
- Query Parameters:
id_session (integer) – ID of the session to query
session_uuid (string) – Session UUID to query
status (integer) – Limit to specific session status
limit (integer) – Maximum number of results to return
offset (integer) – Number of items to ignore in results, offset from 0-index
list (boolean) – Flag that limits the returned data to minimal information
start_date (string) – Start date, sessions before that date will be ignored
end_date (string) – End date, sessions after that date will be ignored
- Status Codes:
200 OK – Success
400 Bad Request – Bad request
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
service
- GET /service/access
Get current service access
Return access information.
- Query Parameters:
from_user_uuid (string) – Participant uuid requesting access
from_participant_uuid (string) – Participant uuid requesting access
from_device_uuid (string) – Participant uuid requesting access
with_users (boolean) – List accessible users
with_projects (boolean) – List accessible projects
with_participants (boolean) – List accessible participants
with_devices (boolean) – List accessible device
with_sites (boolean) – List accessible site
admin (boolean) – List only accessible with admin rights
with_names (boolean) – Also includes the names of the returned items
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/assets
Create / update an asset
Adds a new asset to the OpenTera database
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success - asset correctly added
400 Bad Request – Bad request - wrong or missing parameters in query
403 Forbidden – Service doesn’t have permission to post that asset
500 Internal Server Error – Required parameter is missing
- DELETE /service/assets
Delete a specific asset
Delete a specific asset
- Query Parameters:
uuid (string) – Asset UUID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service can’t delete asset
500 Internal Server Error – Database error.
- GET /service/assets
Get assets
Return assets information.
- Query Parameters:
id_asset (integer) – Specific ID of asset to query information.
id_device (integer) – ID of the device from which to request all assets
id_session (integer) – ID of session from which to request all assets
id_participant (integer) – ID of participant from which to request all assets
id_user (integer) – ID of the user from which to request all assets.
service_uuid (string) – Query all assets associated with that service uuid
id_creator_service (integer) – ID of the service from which to request all created assets.
id_creator_user (integer) – ID of the user from which to request all created assets.
id_creator_participant (integer) – ID of the participant from which to request all created assets.
id_creator_device (integer) – ID of the device from which to request all created assets.
with_urls (boolean) – Also include assets infos and download-upload url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/auth/code
Return auth code used for login / service auth.
- Query Parameters:
endpoint_url (string) – Endpoint url requesting access
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/devices
Create / update device
Update device information
- Query Parameters:
token (string) – Access token
- Request JSON Object:
device.device_certificate (string)
device.device_config (string)
device.device_enabled (boolean)
device.device_infos (string)
device.device_lastonline (string)
device.device_name (string)
device.device_notes (string)
device.device_onlineable (boolean)
device.device_token (string)
device.device_uuid (string)
device.id_device (integer) – (required)
device.id_device_subtype (integer)
device.id_device_type (integer)
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/devices
Query device information
Return device information.
- Query Parameters:
device_uuid (string) – Device uuid of the device to query
id_device (integer) – Device ID to query
with_device_type (boolean) – Give more information about type
with_device_subtype (boolean) – Give more information about subtype
with_device_assets (boolean) – Give more information about assets
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/disconnect
Forcefully disconnect a user, participant or device
Disconnect user/participant/device from server.
- Query Parameters:
id_user (integer) – ID of the user to query
user_uuid (string) – User uuid of the device to query
id_participant (integer) – ID of the participant to query
participant_uuid (string) – Participant uuid of the device to query
id_device (integer) – ID of the device to query
device_uuid (string) – Device uuid of the device to query
token (string) – Access token
- Status Codes:
200 OK – Success - user/participant/device will be disconnected.
400 Bad Request – No parameters specified at least one id / uuid must be used
403 Forbidden – Forbidden access. Please check that the service has access to the requested id/uuid.
500 Internal Server Error – Database error
- POST /service/groups
Create / update participant group
Update participant group
- Query Parameters:
token (string) – Access token
- Request JSON Object:
participant_group.id_participant_group (integer) – (required)
participant_group.id_project (integer)
participant_group.participant_group_name (string)
- Status Codes:
200 OK – Success - To be documented
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- DELETE /service/groups
Delete participant group
Delete a specific participant group.
- Query Parameters:
id (integer) – ID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Database error.
- GET /service/groups
Get participant groups
Return participant group information.
- Query Parameters:
id_participant_group (integer) – ID to query
id_project (integer) – ID project to query information
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/participants
Create / update a participant
Update participant
- Query Parameters:
token (string) – Access token
- Request JSON Object:
participant.id_participant (integer) – (required)
participant.id_project (integer) – (required)
participant.participant_email (string) – (required)
participant.participant_name (string) – (required)
- Status Codes:
200 OK – Success - To be documented
403 Forbidden – Logged user doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/participants
Get participant
Return participant information.
- Query Parameters:
participant_uuid (string) – Participant uuid of the participant to query
id_participant (integer) – Participant ID to query
id_project (integer) – Project ID to query all participants for
id_participant_group (integer) – Participant group to query all participants for
name (string) – Return participants with at least a partial match on their name.
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/projects
Create / update projects
Create / update projects. id_project must be set to “0” to create a new project. A project can be created/modified if the service is associated to the related site
- Query Parameters:
token (string) – Access token
- Request JSON Object:
project.id_project (integer) – (required)
project.id_site (integer)
project.project_description (string)
project.project_enabled (boolean)
project.project_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_site or id_project) in the JSON body
403 Forbidden – Logged service can’t create/update the specified project
500 Internal Server Error – Internal error occured when saving project
- DELETE /service/projects
Delete project
Delete a specific project
- Query Parameters:
id (integer) – Project ID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged service can’t delete project (service not associated to)
500 Internal Server Error – Database error.
- GET /service/projects
Get projects
Return projects information.
- Query Parameters:
id_project (integer) – ID of the project to query
id_site (integer) – ID of the site to query projects for
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/roles
Create / update service roles for the current service
Create / update service roles.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
service_role.id_project (integer)
service_role.id_service (integer)
service_role.id_service_role (integer) – (required)
service_role.id_site (integer)
service_role.service_role_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields in the JSON body
500 Internal Server Error – Internal error when saving roles
- DELETE /service/roles
Delete a specific service role
Delete a specific service role.
- Query Parameters:
id (integer) – Service role to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged service can’t delete role (not related to that service)
500 Internal Server Error – Database error.
- GET /service/roles
Get service roles for the current service
Get service roles for that service
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success - returns list of roles
500 Internal Server Error – Database error
- POST /service/serviceaccess
Create / update service - access association
Create/update service - access association. A list can be posted - if an item with a id_service_access doesn’t have an id_service_role element, it will be deleted.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
service_access.id_device (integer)
service_access.id_participant_group (integer)
service_access.id_service_access (integer) – (required)
service_access.id_service_role (integer)
service_access.id_user_group (integer)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields in the JSON body
403 Forbidden – Logged service can’t modify association (only self access can be modified)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /service/serviceaccess
Delete a specific service access
Delete a specific service access.
- Query Parameters:
id (integer) – Specific service access ID to delete. Be careful: this is not the service or service role ID, but the ID of the association itself!
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete association (not related to this service)
500 Internal Server Error – Association not found or database error.
- GET /service/serviceaccess
Get access roles for a specific item
Get access roles for a specific items. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_user_group (integer) – Usergroup ID to query service access
token (string) – Access token
- Status Codes:
200 OK – Success - returns list of access roles
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- GET /service/services
Get service information
Return services information.
- Query Parameters:
id_service (integer) – ID of the service to query
uuid_service (string) – UUID of the service to query
service_key (string) – Key of the service to query
with_base_url (boolean) – Also include base external URL for that service
token (string) – Secret token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/sessions
Create / update session
Create / update session. id_session must be set to “0” to create a new session.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session.id_creator_device (integer)
session.id_creator_participant (integer)
session.id_creator_service (integer)
session.id_creator_user (integer)
session.id_session (integer) – (required)
session.id_session_type (integer)
session.session_comments (string)
session.session_duration (integer)
session.session_name (string)
session.session_parameters (string)
session.session_start_datetime (string)
session.session_status (integer)
session.session_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(session, id_session, session_participants_ids and/or session_users_ids[for new sessions]) in the JSON body
403 Forbidden – Service can’t create/update the specified session
500 Internal Server Error – Internal error when saving session
- GET /service/sessions
Get sessions
Return sessions information.
- Query Parameters:
id_session (integer) – ID of the session to query
uuid_session (string) – UUID of the session to query
id_participant (integer) – ID of the participant to query
id_user (integer) – ID of the user to query
id_device (integer) – ID of the device to query
list (boolean) – Flag that limits the returned data to minimal information
with_events (boolean) – Also includes session events
with_session_type (boolean) – Also includes session type information
status (integer) – Limit to specific session status
limit (integer) – Maximum number of results to return
offset (integer) – Number of items to ignore in results, offset from 0-index
start_date (string) – Start date, sessions before that date will be ignored
end_date (string) – End date, sessions after that date will be ignored
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/sessions/events
Create / update session events
Create / update session events. id_session_event must be set to “0” to create a new event. An event can be created/modified if the user has access to the session.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session_event.id_session (integer)
session_event.id_session_event (integer) – (required)
session_event.id_session_event_type (integer)
session_event.session_event_context (string)
session_event.session_event_datetime (string)
session_event.session_event_text (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields(id_session_event or id_session) in the JSON body
403 Forbidden – Logged user can’t create/update the specified event
500 Internal Server Error – Internal error when saving device
- GET /service/sessions/events
Get events for a session
Get events for a specific session
- Query Parameters:
id_session (integer) – ID of the session to query events for
token (string) – Access token
- Status Codes:
200 OK – Success - returns list of events
400 Bad Request – Required parameter is missing (id_session)
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Database error
- POST /service/sessions/manager
Starts / stop a session related to a service
Manage a specific session
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session_manage.action (string) – (required)
session_manage.id_creator_device (integer)
session_manage.id_creator_participant (integer)
session_manage.id_creator_service (integer)
session_manage.id_creator_user (integer)
session_manage.id_service (integer)
session_manage.id_session (integer)
session_manage.id_session_type (integer)
session_manage.parameters (object)
session_manage.session_devices[] (string)
session_manage.session_participants[] (string)
session_manage.session_users[] (string)
session_manage.session_uuid (str)
- Status Codes:
200 OK – Success
400 Bad Request – Required parameter is missing
403 Forbidden – Service doesn’t have enough permission
500 Internal Server Error – Internal server error
501 Not Implemented – Not implemented
- POST /service/sessiontypes
Manage session types associated to that service with sites, projects, participants
Manage session types information for the current service
- Query Parameters:
token (string) – Access token
- Request JSON Object:
service_session_type.id_participants[] (integer)
service_session_type.id_projects[] (integer)
service_session_type.id_sites[] (integer)
service_session_type.session_type.id_service (integer)
service_session_type.session_type.id_session_type (integer) – (required)
service_session_type.session_type.session_type_category (integer)
service_session_type.session_type.session_type_color (string)
service_session_type.session_type.session_type_config (string)
service_session_type.session_type.session_type_name (string)
service_session_type.session_type.session_type_online (boolean)
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/sessiontypes
Get session types associated to that service
Return session types information for the current service
- Query Parameters:
id_site (integer) – ID of the site to query session types for
id_project (integer) – ID of the project to query session types for
id_participant (integer) – ID of the participant to query types for
id_session_type (integer) – ID of the session type to query
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/sessiontypes/projects
Create / update session types -> project association
Create/update session-type - project association.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
session_type_project.id_project (integer)
session_type_project.id_session_type (integer)
session_type_project.id_session_type_project (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields in the JSON body
403 Forbidden – Logged service can’t modify association (not associated to project or session type)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /service/sessiontypes/projects
Delete a specific session type -> project association
Delete a specific session-type - project association.
- Query Parameters:
id (integer) – Specific session type - project association ID to delete. Be careful: this is not the session type or project ID, but the ID of the association itself!
token (string) – Access token
- Status Codes:
200 OK – Success
400 Bad Request – Association not found (invalid id?)
403 Forbidden – Logged service can’t delete association (no access to session-type or project)
- GET /service/sessiontypes/projects
Get session types associated with a project
Get session types that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_project (integer) – Project ID to query associated session types from
id_session_type (integer) – Session type ID to query associated projects from
with_sites (boolean) – Used with id_session_type. Also return site information of the returned projects.
token (string) – Access token
- Status Codes:
200 OK – Success - returns list of session types - projects association for this service
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- GET /service/sites
Get sites
Return sites information.
- Query Parameters:
id_site (integer) – ID of the site to query
id_user (integer) – ID of the user to query sites for
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/tests
Create / update test
Adds a new test to the OpenTera database
- Query Parameters:
token (string) – Access token
- Status Codes:
200 OK – Success - test correctly added
400 Bad Request – Bad request - wrong or missing parameters in query
403 Forbidden – Service doesn’t have permission to post that test
500 Internal Server Error – Required parameter is missing
- DELETE /service/tests
Delete specific test
Delete a specific test
- Query Parameters:
uuid (string) – Test UUID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service can’t delete test
500 Internal Server Error – Database error.
- GET /service/tests
Get tests
Return tests information.
- Query Parameters:
id_test (integer) – Specific ID of test to query information.
id_device (integer) – ID of the device from which to request all tests
id_session (integer) – ID of session from which to request all tests
id_participant (integer) – ID of participant from which to request all tests
id_user (integer) – ID of the user from which to request all tests.
service_uuid (string) – Query all tests associated with that service uuid
with_urls (boolean) – Also include tests infos and download-upload url
with_only_token (boolean) – Only includes the access token. Will ignore with_urls if specified.
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/tests/invitations
Create / update test invitation
Update/Create test invitation.
- Request JSON Object:
tests_invitations[].id_device (integer)
tests_invitations[].id_participant (integer)
tests_invitations[].id_project (integer)
tests_invitations[].id_session (integer)
tests_invitations[].id_test_invitation (integer) – (required)
tests_invitations[].id_test_type (integer)
tests_invitations[].id_user (integer)
tests_invitations[].test_invitation_count (integer)
tests_invitations[].test_invitation_creation_date (string)
tests_invitations[].test_invitation_expiration_date (string)
tests_invitations[].test_invitation_key (string)
tests_invitations[].test_invitation_max_count (integer)
tests_invitations[].test_invitation_message (string)
- Status Codes:
501 Not Implemented – Unable to update test from here - use service!
- DELETE /service/tests/invitations
Delete test invitation
Delete a specific test invitation
- Query Parameters:
id (integer) – Test type ID to delete
token (string) – Secret token
- Status Codes:
200 OK – Success
403 Forbidden – Logged user can’t delete test
500 Internal Server Error – Database error.
- GET /service/tests/invitations
Get tests invitations information
Get tests invitations information. Witout any parameters, this will return all accessible invitations. Otherwise, you can filter by:
id_test_invitation
test_invitation_key
id_user
user_uuid
id_participant
participant_uuid
id_device
device_uuid
id_session
session_uuid
id_test_type
test_type_uuid
- Query Parameters:
id_test_invitation (integer) – Specific ID of test invitation to query information.
test_invitation_key (string) – Specific key of test invitation to query information.
id_user (integer) – ID of the user from which to request all test invitations
user_uuid (string) – UUID of the user from which to request all test invitations
id_participant (integer) – ID of the participant from which to request all test invitations
participant_uuid (string) – UUID of the participant from which to request all test invitations
id_device (integer) – ID of the device from which to request all test invitations
device_uuid (string) – UUID of the device from which to request all test invitations
id_session (integer) – ID of session from which to request all test invitations
session_uuid (string) – UUID of session from which to request all test invitations
id_test_type (integer) – ID of test type from which to request all test invitations
test_type_uuid (string) – UUID of test type from which to request all test invitations
id_project (integer) – ID of project from which to request all test invitations
full (boolean) – Include full information for session, test_type, user, participant, device
with_urls (boolean) – Include URLs in results
- Status Codes:
200 OK – Success - returns list of invitations
400 Bad Request – Required parameter is missing
403 Forbidden – Logged user doesn’t have permission to access the requested data
- POST /service/testtypes
Create / update test types
Create / update test type. id_test_type must be set to “0” to create a new type.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
test_type.id_service (integer)
test_type.id_test_type (integer) – (required)
test_type.test_type_description (string)
test_type.test_type_has_json_format (boolean)
test_type.test_type_has_web_editor (boolean)
test_type.test_type_has_web_format (boolean)
test_type.test_type_key (string)
test_type.test_type_name (string)
test_type.test_type_uuid (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field in the JSON body
403 Forbidden – Service can’t create/update the specified test type
500 Internal Server Error – Internal error when saving test type
- DELETE /service/testtypes
Delete a test type
Delete a specific test type
- Query Parameters:
uuid (string) – Test type UUID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service can’t delete test type
500 Internal Server Error – Database error.
- GET /service/testtypes
Get test types
Return test types information for the current service
- Query Parameters:
id_site (integer) – ID of the site to query test types for
id_project (integer) – ID of the project to query test types for
id_participant (integer) – ID of the participant to query types for
test_type_key (string) – Test type key to query for
id_test_type (integer) – ID of the test type to query for
test_type_uuid (string) – UUID of the test type to query for
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- POST /service/testtypes/projects
Create / update test types -> project association
Create/update test-type - project association.
- Query Parameters:
token (string) – Access token
- Request JSON Object:
test_type_project.id_project (integer)
test_type_project.id_test_type (integer)
test_type_project.id_test_type_project (integer) – (required)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing fields in the JSON body
403 Forbidden – Logged service can’t modify association (not associated to project or test type)
500 Internal Server Error – Internal error occurred when saving association
- DELETE /service/testtypes/projects
Delete a specific test type -> project association
Delete a specific test-type - project association.
- Query Parameters:
id (integer) – Specific test type - project association ID to delete. Be careful: this is not the test-type or project ID, but the ID of the association itself!
token (string) – Access token
- Status Codes:
200 OK – Success
400 Bad Request – Association not found (invalid id?)
403 Forbidden – Logged service can’t delete association (no access to test-type or project)
- GET /service/testtypes/projects
Get test types associated with a project
Get test types that are associated with a project. Only one “ID” parameter required and supported at once.
- Query Parameters:
id_project (integer) – Project ID to query associated test types from
id_test_type (integer) – Test type ID to query associated projects from
with_sites (boolean) – Used with id_test_type. Also return site information of the returned projects.
token (string) – Access token
- Status Codes:
200 OK – Success - returns list of test-types - projects association
400 Bad Request – Required parameter is missing (must have at least one id)
500 Internal Server Error – Error when getting association
- POST /service/usergroups
Create / update usergroup
Create / update user group. id_user_group must be set to “0” to create a new user group. User groups can be modified if the service can access it (user group has a service role).
- Query Parameters:
token (string) – Access token
- Request JSON Object:
user_group.id_user_group (integer) – (required)
user_group.user_group_name (string)
- Status Codes:
200 OK – Success
400 Bad Request – Badly formed JSON or missing field(id_user_group) in the JSON body
403 Forbidden – Logged service can’t create/update the specified user group
500 Internal Server Error – Internal error when saving user group
- DELETE /service/usergroups
Delete a specific usergroup
Delete a specific user group
- Query Parameters:
id (integer) – User group ID to delete
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service can’t delete user group (no access to it)
500 Internal Server Error – Database error.
- GET /service/usergroups
Get usergroups
Get user group information. If no id specified, returns all accessible users groups
- Query Parameters:
id_user_group (integer) – ID of the user group to query
id_project (integer) – ID of the project to query user group with access to
id_site (integer) – ID of the site to query user group with access to
token (string) – Access token
- Status Codes:
200 OK – Success
500 Internal Server Error – Database error
- GET /service/users
Get specific user information
Return user information.
- Query Parameters:
id_user (integer) – User id of the user to query
user_uuid (string) – User uuid of the user to query
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.
- GET /service/users/access
Get access roles for a specific user and/or project/site
Return access roles information to this service for a specific user.
- Query Parameters:
id_project (integer) – ID of the project to query
id_site (integer) – ID of the site to query
uuid_user (string) – UUID of the user
token (string) – Access token
- Status Codes:
200 OK – Success
403 Forbidden – Service doesn’t have permission to access the requested data
500 Internal Server Error – Required parameter is missing
501 Not Implemented – Not implemented.