API routes (Click a route to expand it, click here to expand/collapse all)
Context data
GET/contextData Authentication required
Returns the current customer-department and user contexts for given authorization token.
Parameter Location Type Requirements Optional Default value Description
idCustomer URI-Query string Yes null Override idCustomer. Only specific services are authorized to do so. Defaults to idCustomer from authorization token details.
idDepartment URI-Query string Yes null Override idDepartment. Only specific services are authorized to do so. Defaults to idDepartment from authorization token details.
idUser URI-Query string Yes null Override idUser. Only specific services are authorized to do so. Defaults to idUser from authorization token details.
Response HTTP Type Description
Success 200 { department: Department, user: User } Object with 2 contexts: User and Department. Department has all non-overridden Customer-data inherited.
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: 'kate'
GET/selectables Authentication required
Returns the list of selectable Customers, Departments or Users for a EntitySelect REDPoint.
Parameter Location Type Requirements Optional Default value Description
idGroups URI-Query int[] No Array of REDGroup IDs that the specified REDPath belongs to.
redPath URI-Query string
minLength: 1
pattern: ^[^\/]+$
No REDPath of the EntitySelect to obtain items for.
reData URI-Query string
format: json
No JSON-string of key-value map where keys represent SJAQueries occurring in REDSet-context literals in the filter, and their respective values contain their respective resolved values.
Response HTTP Type Description
Success 200 { id: int, name: string }[] Selectable<Customer|Department|Office|User>[]: List of selectables. A selectable is an item that contains at least the "id" and "name" properties, but might include more data.
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: None
Customers
GET/customers Authentication required
Returns list of customers
Response HTTP Type Description
Success 200 { active: Customer[], inactive: Customer[] } Customers
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate:devops' OR 'customers:create' OR 'customers:update') AND ('kate:devops' OR 'kate')
GET/customers/{id} Authentication required
Returns full customer for management purposes
Parameter Location Type Requirements Optional Default value Description
id URI-Path int No Numeric ID of the customer
Response HTTP Type Description
Success 200 Customer Customer
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops') AND ('customers:create' OR 'customers:update' OR 'kate:devops')
GET/departments Authentication required
Returns list of all departments
Response HTTP Type Description
Success 200 { active: Department[], inactive: Department[] } Departments
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('customers:read' OR 'customers:create' OR 'customers:update' OR 'kate:devops') AND ('kate' OR 'kate:devops')
GET/departments/{idCustomer} Authentication required
Returns list of departments for given customer
Parameter Location Type Requirements Optional Default value Description
idCustomer URI-Path string
pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
No ID of the customer associated with this department
Response HTTP Type Description
Success 200 { active: Department[], inactive: Department[] } Departments
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('customers:read' OR 'customers:create' OR 'customers:update' OR 'kate:devops' OR 'kate:migration') AND ('kate' OR 'kate:devops' OR 'kate:migration')
GET/departments/{id} Authentication required
Returns full department for management purposes
Parameter Location Type Requirements Optional Default value Description
id URI-Path int No Numeric ID of the department
Response HTTP Type Description
Success 200 Department Department
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('customers:create' OR 'customers:update' OR 'customers:read' OR 'kate')
POST/customers Authentication required
Creates a new customer
Parameter Location Type Requirements Optional Default value Description
id POST-body string
pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
No ID of the customer
name POST-body string No Name of the customer
partition POST-body int
min: 1
max: 127
No Data partition (number) of the customer
businessNumber POST-body string
minLen: 6
maxLen: 20
No Business Number of the customer
billingEmail POST-body string
pattern: ^.{2,}@.{2,}\.[a-z]{2,}$
maxLen: 127
No Billing email of the customer
package POST-body string
enum: [ "Basic", "Essential", "Professional", "Enterprise" ]
No Package of the customer
internalNotes POST-body string
maxLen: 16383
Yes "" KATE-Internal notes of the customer
hasISAE3402 POST-body bool Yes false Does this customer have and require ISAE3402?
Response HTTP Type Description
Success 200 Customer Created customer
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops') AND ('customers:create' OR 'kate:devops')
POST/customers/{id} Authentication required
Updates an existing customer
Parameter Location Type Requirements Optional Default value Description
id URI-Path int No Numeric ID of the customer
name POST-body string Yes null Name of the customer
businessNumber POST-body string
minLen: 6
maxLen: 20
Yes null Business Number of the customer
billingEmail POST-body string
pattern: ^.{2,}@.{2,}\.[a-z]{2,}$
maxLen: 127
Yes null Billing email of the customer
package POST-body string
enum: [ "Basic", "Essential", "Professional", "Enterprise" ]
Yes null Package of the customer
internalNotes POST-body string
maxLen: 16383
Yes null KATE-Internal notes of the customer
hasISAE3402 POST-body bool Yes null Does this customer have and require ISAE3402?
Response HTTP Type Description
Success 200 Customer Updated customer
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops') AND ('customers:create' OR 'customers:update' OR 'kate:devops')
POST/departments Authentication required
Creates a new department
Parameter Location Type Requirements Optional Default value Description
id POST-body string
pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
No ID of the department. For single-department customers, this is suggested to be identical to idCustomer
idCustomer POST-body string
pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
No ID of the customer associated with this department
name POST-body string
minLen: 2
maxLen: 80
Yes null Name of the department. Optional: will inherit from customer by default.
businessNumber POST-body string
minLen: 6
maxLen: 20
Yes null Business Number of the department. Optional: will inherit from customer by default.
billingEmail POST-body string
pattern: ^$|^.{2,}@.{2,}\.[a-z]{2,}$
maxLen: 127
Yes null Billing email of the department. Optional: will inherit from customer by default.
package POST-body string
enum: [ "Basic", "Essential", "Professional", "Enterprise" ]
Yes null Package of the department. Optional: will inherit from customer by default.
internalNotes POST-body string
maxLen: 16383
Yes null KATE-Internal notes of the department. Optional, but does NOT inherit from customer.
hasISAE3402 POST-body bool Yes null Does this customer have and require ISAE3402? Optional: will inherit from customer by default.
Response HTTP Type Description
Success 200 Department Created department
InvalidModelException 200 The model is in an invalid state (validation failed).
ModelNotFoundException 404 Instance of this model with provided ID could not be found.
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops') AND ('departments:create' OR 'customers:create' OR 'kate:devops')
POST/departments/{id} Authentication required
Updates an existing department
Parameter Location Type Requirements Optional Default value Description
id URI-Path int No Numeric ID of the department
name POST-body string
minLen: 2
maxLen: 80
Yes null Name of the department.
businessNumber POST-body string
minLen: 6
maxLen: 20
Yes null Business Number of the department.
billingEmail POST-body string
pattern: ^$|^.{2,}@.{2,}\.[a-z]{2,}$
maxLen: 127
Yes null Billing email of the department.
package POST-body string
enum: [ "Basic", "Essential", "Professional", "Enterprise" ]
Yes null Package of the department.
internalNotes POST-body string
maxLen: 16383
Yes null KATE-Internal notes of the department.
hasISAE3402 POST-body bool Yes null Does this customer have and require ISAE3402?.
Response HTTP Type Description
Success 200 Department Updated department
InvalidModelException 200 The model is in an invalid state (validation failed).
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops') AND ('customers:create' OR 'customers:update' OR 'kate:devops')
POST/sourcing/informCustomer Authentication required
Sends email to inform the customer about their Sourcing usage
Parameter Location Type Requirements Optional Default value Description
usagePercentage POST-body int
min: 1
max: 100
No Percentage of Sourcing credits used, ranging from 0 to 100.
Response HTTP Type Description
Success 200 bool success
InvalidModelException 200 The model is in an invalid state (validation failed).
ConfigurationException 500 Invalid microservice configuration. See details for details.
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
  • Authentication scheme: JWTAuth Requires: None
Default APIs
GET/
Provides the API-specification. Only enabled if API exposure is enabled.
Parameter Location Type Requirements Optional Default value Description
format URI-Query string
enum: [ "KateAPI", "InternalAPIMap", "OpenAPI", "Swagger" ]
Yes "KateAPI" Documentation format. We support KateAPI documentation, Swagger/OpenAPI documentation and raw output of the internal API-map cache.
openApiVersion URI-Query int
enum: [ 2, 3 ]
Yes 2 Version 3 is crappy with request bodies, so we prefer version 2 (which only sucks regarding Response definitions; hence we prefer KateAPI documentation).
Response HTTP Type Description
Success 200 object The API-documentation.
MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
No
    Notification APIs
    GET/notification/test/preference Authentication required
    Retrieves the notification preferences for the current authenticated user from the RED Notification Service.
    Response HTTP Type Description
    Success 200 object Notification preferences for the current user, or error info.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    POST/notification/test/preference Authentication required
    Upserts a test notification preference (in_app enabled) for the current authenticated user via the RED Notification Service.
    Response HTTP Type Description
    Success 200 object Upserted notification preference for the current user, or error info.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    POST/notification/test/send Authentication required
    Sends a test in-app notification to the current authenticated user via the RED Notification Service.
    Response HTTP Type Description
    Success 200 object Created test notification request, or error info.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    Offices
    GET/offices/{id} Authentication required
    Returns full office for reporting purposes.
    Parameter Location Type Requirements Optional Default value Description
    id URI-Path int No Numeric ID of the department
    Response HTTP Type Description
    Success 200 Office Office
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    POST/offices Authentication required
    Creates/updates offices for given customer. Note that any offices not in this list that were previously linked, will be deleted.
    Parameter Location Type Requirements Optional Default value Description
    idCustomer POST-body int No Numeric customer model ID.
    offices POST-body string
    format: json
    No JSON-encoded string of the array of all office models. Must contain an `id` attribute, which should be 0 for new offices. All other column-keys must be defined for each object. Exactly one office in this set must have isMainOffice set to true.
    Response HTTP Type Description
    Success 200 Offices Created or updated array of Office-models
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate' AND ('customers:create' OR 'customers:update' OR 'departments:create' OR 'departments:update')
    Roles & Permissions
    GET/permissions Authentication required
    Retrieve all Permissions
    Response HTTP Type Description
    Success 200 Permission[] Array of permissions
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate:admin'
    GET/roles Authentication required
    Retrieve all Roles
    Response HTTP Type Description
    Success 200 Roles Array of roles
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate:admin'
    GET/roles/{idRole} Authentication required
    Retrieve a Role
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role to add Permission to
    Response HTTP Type Description
    Success 200 Role Role
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate:admin'
    POST/permissions/synchronizeDefinition Authentication required
    Synchronizes (insert/update/delete) the coded permission definition and default roles definition to the database
    Parameter Location Type Requirements Optional Default value Description
    syncRoles POST-body bool Yes false Do you want to sync the roles as well?
    Response HTTP Type Description
    Success 200 { added: string[], deleted: string[], modified: string[] } Changes applied
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate:admin' OR 'kate:migration')
    POST/roles/{idRole}/addPermissionByName/{permission} Authentication required
    Add a permission to a role
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role to add Permission to
    permission URI-Path string No Name of the Permission to add to Role
    Response HTTP Type Description
    Success 200 Role Updated role
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'roles:permissions'
    POST/roles/{idRole}/addToDepartment/{idCustomer}/{idDepartment} Authentication required
    Add a role to a department
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer of the department to add Role to
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment of the department to add Role to
    Response HTTP Type Description
    Success 200 Department Updated Department
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'departments:roles'
    POST/roles/{idRole}/addToUserForDepartment/{idUser}/{idCustomer}/{idDepartment} Authentication required
    Add a role to a user for a given department. Note that this role only applies to this user when authenticated to this department; i.e. it is context-sensitive.
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role
    idUser URI-Path int No ID of the User
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment
    Response HTTP Type Description
    Success 200 User Updated User
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'users:roles'
    POST/roles/{idRole}/removeFromDepartment/{idCustomer}/{idDepartment} Authentication required
    Remove a role from a department
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer of the department to add Role to
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment of the department to add Role to
    Response HTTP Type Description
    Success 200 Department Updated Department
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'departments:roles'
    POST/roles/{idRole}/removeFromUserForDepartment/{idUser}/{idCustomer}/{idDepartment} Authentication required
    Remove a role from a user for a given department. Note that this role only applies to this user when authenticated to this department; i.e. it is context-sensitive.
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role
    idUser URI-Path int No ID of the User
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment
    Response HTTP Type Description
    Success 200 User Updated User
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'users:roles'
    POST/roles/{idRole}/removePermissionByName/{permission} Authentication required
    Add a permission to a role
    Parameter Location Type Requirements Optional Default value Description
    idRole URI-Path int No ID of the Role to remove Permission from
    permission URI-Path string No Name of the Permission to remove from Role
    Response HTTP Type Description
    Success 200 Role Updated role
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'roles:permissions'
    Settings
    GET/settings Authentication required
    Returns all settings applicable to the current authorized subject
    Response HTTP Type Description
    Success 200 { [key: string]: any } Key-Value map with keys being setting names and values their corresponding values
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops')
    GET/settings/{idCustomer}/{idDepartment}/{idUser} Authentication required
    Returns all settings applicable to the given subject
    Parameter Location Type Requirements Optional Default value Description
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer, can be different than the one on the current authorized subject: Only specific services are authorized to do so.
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment, can be different than the one on the current authorized subject: Only specific services are authorized to do so.
    idUser URI-Path string
    pattern: ^[1-9][0-9]*$
    No Override idUser. Only specific services are authorized to do so. Defaults to idUser from authorization token details.
    Response HTTP Type Description
    Success 200 { [key: string]: any } Key-Value map with keys being setting names and values their corresponding values
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops')
    GET/settings/{idCustomer}/{idDepartment}/{idUser}/{name} Authentication required
    Returns single setting applicable to the given authorized subject
    Parameter Location Type Requirements Optional Default value Description
    name URI-Path string
    pattern: ^[a-z][A-Za-z0-9]+$
    No Name of the setting
    idCustomer URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idCustomer, can be different than the one on the current authorized subject: Only specific services are authorized to do so.
    idDepartment URI-Path string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No idDepartment, can be different than the one on the current authorized subject: Only specific services are authorized to do so.
    idUser URI-Path string
    pattern: ^[1-9][0-9]*$
    No Override idUser. Only specific services are authorized to do so. Defaults to idUser from authorization token details.
    Response HTTP Type Description
    Success 200 any Value of the given setting, or null if not defined.
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops')
    GET/settings/{name} Authentication required
    Returns single setting applicable to the current authorized subject
    Parameter Location Type Requirements Optional Default value Description
    name URI-Path string
    pattern: ^[a-z][A-Za-z0-9]+$
    No Name of the setting
    Response HTTP Type Description
    Success 200 any Value of the given setting, or null if not defined.
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops')
    POST/settings/sourcing/{settingName} Authentication required
    Send a given setting to sourcing, more permissions might apply based on the setting.
    Parameter Location Type Requirements Optional Default value Description
    settingName URI-Path string
    pattern: ^[a-z][A-Za-z0-9]+$
    No Name of the setting
    settingValue POST-body string No Value of the setting
    Response HTTP Type Description
    Success 200 SourcingKey[] Value of the given setting, or null if not defined.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:devops')
    POST/settings/synchronizeDefinition Authentication required
    Synchronizes (insert/update/delete) the coded settings definition to the database
    Response HTTP Type Description
    Success 200 { added: string[], deleted: string[], modified: string[], updatedGlobalValue: string[] } Changes applied
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate:admin' OR 'kate:migration')
    POST/settings/{name} Authentication required
    Saves a new setting value, either globally for a customer or globally for a department: user-specific settings are not supported here and should be handled through custom methods (this is done in this way because only a few settings are user-overridable).
    If a corresponding setting-tuple already exists, the value gets replaced/updated.
    Note that saved values using this API are NOT VALIDATED as the logic is different for each setting. Saving malformed/invalid values may result in application crashes.
    Parameter Location Type Requirements Optional Default value Description
    idCustomer POST-body string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    No ID of the Customer.
    idDepartment POST-body string
    pattern: ^[a-z][a-z0-9\-]{2,13}[a-z0-9]$
    Yes null ID of the Department. Optional: if provided, will override Customer-level setting. If not provided, will hold for all non-overridden departments.
    name URI-Path string
    pattern: ^[a-z][A-Za-z0-9]+$
    No Name of the setting
    jsonValue POST-body string
    format: json
    No JSON-encoded string of the (new) setting value.
    Response HTTP Type Description
    Success 200 Setting Created setting
    InvalidModelException 200 The model is in an invalid state (validation failed).
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate:admin' OR 'kate:devops')
    Users
    GET/memyselfandi Authentication required
    Get own user.
    Response HTTP Type Description
    Success 200 User Requested user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    GET/users Authentication required
    Returns all users (both active+deactivated). Will later be extended with optional filters if desired; depending on Luna FE wishes. Note that these returned objects, despite being pretty complete, are not fully complete and should only be used for table-purposes. For example, details such as primary office and roles per department are not included.
    Response HTTP Type Description
    Success 200 User[] Array of Users, in management-form DTO.
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate' AND 'users:all'
    GET/users/getByEmail/{email} Authentication required
    Returns a user by email-address. Note that this call is only enabled for authorized user-managers, to prevent user enumeration.
    Parameter Location Type Requirements Optional Default value Description
    email URI-Path string
    maxLength: 127
    pattern: ^.{2,}@.{2,}\.[a-z]{2,}$
    No Email of the user
    onlyActive URI-Query bool Yes true If true, only returns active users. By default, returns only active.
    Response HTTP Type Description
    Success 200 User Requested user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:migration') AND ('users:all' OR 'kate:migration')
    GET/users/preferredLanguage/options Authentication required
    getLanguages
    Response HTTP Type Description
    Success 200 mixed Success
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    GET/users/self Authentication required
    Get own user.
    Response HTTP Type Description
    Success 200 User Requested user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    GET/users/withinDepartment Authentication required
    Returns all users within the same department as specified in authentication token. This is used for public User object resolution, for example in generators for DashboardREDSets on REDRead.
    Parameter Location Type Requirements Optional Default value Description
    onlyActive URI-Query bool Yes false If true, only returns active users. By default, returns both active and inactive.
    Response HTTP Type Description
    Success 200 { [idUser]: User } Map of UserID (string) to User, in public form (might change over time if we add DTO-specifying parameters to this method). Note that objects are unsorted by definition, so the order must be considered random.
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    GET/users/{idUser} Authentication required
    Returns a user by ID. Note that this call is only enabled for authorized user-managers with "users:all" permission, to prevent user enumeration, or selected KateIntraService requests.
    Parameter Location Type Requirements Optional Default value Description
    idUser URI-Path int No ID of the user
    Response HTTP Type Description
    Success 200 User Requested user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: InfraAuth Requires: origin is one of: 'reports', 'red-flow', 'red-read'
    • Authentication scheme: JWTAuth Requires: ('users:all' OR 'kate:migration')
    POST/users Authentication required
    Creates a new user or updates an existing user. Note: signatures can only be uploaded to existing users, and have custom handling; see its corresponding upload method.
    Parameter Location Type Requirements Optional Default value Description
    isNew POST-body bool No True if this is supposed to create a new user, false if this is supposed to update an existing user
    email POST-body string
    maxLength: 127
    pattern: ^.{2,}@.{2,}\.[a-z]{2,}$
    No Email
    lastName POST-body string
    minLength: 2
    maxLength: 127
    No Last name
    preposition POST-body string
    maxLength: 24
    Yes "" Last name preposition
    firstName POST-body string
    minLength: 2
    maxLength: 127
    No First name
    initials POST-body string
    minLength: 0
    maxLength: 24
    No Initials, can be customized
    titles POST-body string[]
    enum: [ "FRICS", "MRICS", "RT", "REV", "TRV", "HypZert S", "HypZert F", "HypZert M", "HypZert MLV", "MSRE", "MRE", "KRMT", "RMT", "RM", "RRV", "BRE", "RE", "\u00f6buvS", "FFP", "MSc", "BSc", "MA", "MBA", "BA", "BBA", "LLB", "LLM", "ir.", "drs.", "dr.", "ing.", "mr." ]
    Yes [] Array of titles (both prefix and suffix)
    gender POST-body string
    enum: [ "M", "F", "" ]
    No Gender
    phone POST-body string
    minLength: 0
    maxLength: 24
    Yes "" Phone-number
    jobFunction POST-body string
    minLength: 0
    maxLength: 63
    Yes "" Job function
    registrations POST-body string
    format: json
    Yes [] Table of registrations
    registrationDescription POST-body string
    format: json
    Yes [] Table of registration description translations, 1 row for each translation. Columns: language, content.
    biography POST-body string
    format: json
    Yes [] Table of biography translations, 1 row for each translation. Columns: language, content.
    specialization POST-body string
    format: json
    Yes [] Table of specialization translations, 1 row for each translation. Columns: language, content.
    photo POST-body string Yes "" SSBin-link to photo
    signature POST-body string Yes "" SSBin-link to signature
    Response HTTP Type Description
    Success 200 User Created or updated user
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:migration') AND ('users:all' OR 'kate:migration')
    POST/users/deactivate/{idUser} Authentication required
    Deactivates an active user.
    Parameter Location Type Requirements Optional Default value Description
    idUser URI-Path int No Active User ID
    Response HTTP Type Description
    Success 200 User Deactivated user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:migration') AND ('users:all' OR 'kate:migration')
    POST/users/initiateUpload/profilePhoto Authentication required
    Starts the binary upload allocation for an SSBin upload, for the profile photo of the current authenticated user.
    Parameter Location Type Requirements Optional Default value Description
    extension POST-body string
    enum: [ "jpg", "jpeg", "png" ]
    No Filetype: Extension of the uploaded file.
    Response HTTP Type Description
    Success 200 string SSBin upload URL. After upload, the actual SSBin access URL still needs to be saved using POST /users.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    POST/users/initiateUpload/registrationCertificate Authentication required
    Starts the binary upload allocation for an SSBin upload, for a registration certificate of the current authenticated user.
    Parameter Location Type Requirements Optional Default value Description
    type POST-body string
    enum: [ "NRVT", "RICS", "TEGoVA", "HypZert" ]
    No Registration type
    extension POST-body string
    enum: [ "pdf" ]
    Yes "pdf" Filetype: Extension of the uploaded file.
    Response HTTP Type Description
    Success 200 string SSBin upload URL. After upload, the actual SSBin access URL still needs to be saved using POST /users.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    POST/users/initiateUpload/signature Authentication required
    Starts the binary upload allocation for an SSBin upload, for the signature of the current authenticated user.
    Parameter Location Type Requirements Optional Default value Description
    extension POST-body string
    enum: [ "jpg", "jpeg", "png" ]
    No Filetype: Extension of the uploaded file.
    Response HTTP Type Description
    Success 200 string SSBin upload URL. After upload is completed, the SSBin access URL is automatically saved to the user.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    POST/users/preferredLanguage Authentication required
    Saves the preferred language for the authorized user, for its currently authorized customer/department.
    Parameter Location Type Requirements Optional Default value Description
    rfc5646languageTag POST-body string No Preferred language tag. Must be one of the language tags available to currently authorized customer/department.
    Response HTTP Type Description
    Success 200 true Success
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: None
    POST/users/reactivate/{idUser} Authentication required
    Reactivates a deactivated user.
    Parameter Location Type Requirements Optional Default value Description
    idUser URI-Path int No Deactivated User ID
    Response HTTP Type Description
    Success 200 User Reactivated user
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    InvalidModelOperationException 500 An operation on a model was requested that was not valid/allowed.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:migration') AND ('users:all' OR 'kate:migration')
    POST/users/self Authentication required
    Update your own user
    Parameter Location Type Requirements Optional Default value Description
    email POST-body string
    maxLength: 127
    pattern: ^.{2,}@.{2,}\.[a-z]{2,}$
    No Email
    lastName POST-body string
    minLength: 2
    maxLength: 127
    No Last name
    preposition POST-body string
    maxLength: 24
    Yes "" Last name preposition
    firstName POST-body string
    minLength: 2
    maxLength: 127
    No First name
    initials POST-body string
    minLength: 0
    maxLength: 24
    No Initials, can be customized
    titles POST-body string[]
    enum: [ "FRICS", "MRICS", "RT", "REV", "TRV", "HypZert S", "HypZert F", "HypZert M", "HypZert MLV", "MSRE", "MRE", "KRMT", "RMT", "RM", "RRV", "BRE", "RE", "\u00f6buvS", "FFP", "MSc", "BSc", "MA", "MBA", "BA", "BBA", "LLB", "LLM", "ir.", "drs.", "dr.", "ing.", "mr." ]
    Yes [] Array of titles (both prefix and suffix)
    gender POST-body string
    enum: [ "M", "F", "" ]
    No Gender
    phone POST-body string
    minLength: 0
    maxLength: 24
    Yes "" Phone-number
    jobFunction POST-body string
    minLength: 0
    maxLength: 63
    Yes "" Job function
    registrations POST-body string
    format: json
    Yes [] Table of registrations
    registrationDescription POST-body string
    format: json
    Yes [] Table of registration description translations, 1 row for each translation. Columns: language, content.
    biography POST-body string
    format: json
    Yes [] Table of biography translations, 1 row for each translation. Columns: language, content.
    specialization POST-body string
    format: json
    Yes [] Table of specialization translations, 1 row for each translation. Columns: language, content.
    photo POST-body string Yes "" SSBin-link to photo
    signature POST-body string Yes "" SSBin-link to signature
    Response HTTP Type Description
    Success 200 User Created or updated user
    InvalidModelException 200 The model is in an invalid state (validation failed).
    ModelNotFoundException 404 Instance of this model with provided ID could not be found.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    Yes
    • Authentication scheme: JWTAuth Requires: 'kate'
    POST/users/{idUser}/completeUpload/signature/{securityChallenge}
    Callback endpoint for the SSBin service upon completing the signature upload.
    Parameter Location Type Requirements Optional Default value Description
    idUser URI-Path int No User ID.
    securityChallenge URI-Path string No Security challenge.
    fileURL POST-body string No File access URL of signature
    Response HTTP Type Description
    Success 200 bool True
    SignatureUploadException 500 Upload of signature by user failed.
    MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
    InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
    AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
    UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
    Authentication required:
    No
      POST/users/{idUser}/invite Authentication required
      Invites the specified user; for example by sending an email.
      Parameter Location Type Requirements Optional Default value Description
      idUser URI-Path int No ID of the user
      applicationURL POST-body string No Frontend application URL to direct user to. Since users are not bound to a single customer/department, this cannot be automatically resolved.
      language POST-body string
      enum: [ "en", "nl", "fr" ]
      Yes "en" Language to send the email in.
      Response HTTP Type Description
      Success 200 bool True if user is invited; false if user was already invited and re-invitation is not allowed.
      ModelNotFoundException 404 Instance of this model with provided ID could not be found.
      MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
      InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
      AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
      UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
      Authentication required:
      Yes
      • Authentication scheme: JWTAuth Requires: 'kate' AND 'users:all'
      POST/users/{idUser}/resetAccessCode Authentication required
      Reset the AccessCode (it is not a PIN) which allows users to set a new one.
      Parameter Location Type Requirements Optional Default value Description
      idUser URI-Path int No ID of the user
      Response HTTP Type Description
      Success 200 bool True if actions were performed.
      ModelNotFoundException 404 Instance of this model with provided ID could not be found.
      MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
      InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
      AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
      UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
      Authentication required:
      Yes
      • Authentication scheme: JWTAuth Requires: 'auth:reset'
      POST/users/{idUser}/resetAttempts Authentication required
      Reset the amount of attempts to login for e-mail authentication.
      Parameter Location Type Requirements Optional Default value Description
      idUser URI-Path int No ID of the user
      Response HTTP Type Description
      Success 200 bool True if actions were performed.
      ModelNotFoundException 404 Instance of this model with provided ID could not be found.
      MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
      InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
      AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
      UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
      Authentication required:
      Yes
      • Authentication scheme: JWTAuth Requires: 'auth:reset'
      POST/users/{userId}/addToDepartment/{departmentId} Authentication required
      Adds an existing user to an existing department
      Parameter Location Type Requirements Optional Default value Description
      userId URI-Path int No Numeric ID of the user.
      departmentId URI-Path int No Numeric ID of the department.
      Response HTTP Type Description
      Success 200 bool True if actions were performed.
      ModelNotFoundException 404 Instance of this model with provided ID could not be found.
      MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
      InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
      AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
      UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
      Authentication required:
      Yes
      • Authentication scheme: JWTAuth Requires: ('kate' OR 'kate:migration') AND ('users:all' OR 'kate:migration')
      POST/users/{userId}/removeFromDepartment/{departmentId} Authentication required
      Removes an existing user from an existing department
      Parameter Location Type Requirements Optional Default value Description
      userId URI-Path int No Numeric ID of the user.
      departmentId URI-Path int No Numeric ID of the department.
      Response HTTP Type Description
      Success 200 bool True if actions were performed.
      ModelNotFoundException 404 Instance of this model with provided ID could not be found.
      MissingRequiredParameterException 400 The request is missing a required input parameter. See details for involved parameter.
      InvalidParameterException 400 The request has an invalid argument. See details for involved parameter and invalidation.
      AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
      UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
      Authentication required:
      Yes
      • Authentication scheme: JWTAuth Requires: 'kate' AND 'users:all'
      Authentication schemes (Click an authentication scheme to expand it)
      JWTAuth
      InfraAuth
      Result wrappers (Click a result-wrapper to expand it)
      Success
      Error