API routes (Click a route to expand it, click here to expand/collapse all)
BatchEvent API
POST/batchEvents/{idREDSet} Authentication required
Performs multiple operations (datapoints, comments, etc) in a single request.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the top-level dataset to write to; i.e. not an embedded REDSet if it contains mixed REDSet events. Must exist.
jsonEvents POST-body string
format: json
No Array of events encoded in JSON-string. Each event must have the format of its corresponding API (Datapoint API, Table API, Comments API, etc), as well as a property "type" which is either "point", "deleteRow", "addRow", "moveRow", "addComment" or "updateCommentState". These match the internal route-names, except for "point".

Note that any sub-API parameter prefixed with JSON does not need to be re-encoded again, and should be submitted without the prefix. For example, the required parameter jsonValue becomes value, etc.

Example: JSON.stringify(
[
{ type: "point", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, value: any },
{ type: "addComment", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, comment: string },
{ type: "updateCommentState", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, commentIndex: int, newState: int },
{ type: "addRow", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, rowIndex: int },
{ type: "deleteRow", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, rowIndex: int },
{ type: "moveRow", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, rowFrom: int, rowTo: int },
{ type: "point", idREDSet: string, idGroups: int[], redPath: string, scenario: ?string, value: any }
]
);

Look at the specific APIs for each event-type to see required/optional parameters. The above lists the current available event-types, but might not be accurately maintained in case of updates.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
transaction POST-body bool Yes false If true, the events are processed as transaction: if one fails, none is applied.
skipMutex POST-body bool Yes false If true, no mutex check, nor mutex acquisition and mutex release will be performed. Only use this if a mutex has been acquired using the lock and unlock calls. Only allowed from REDFlow intra-service origin.
force POST-body bool Yes false If true, no validation will be performed, and the events are forced through. Only allowed from REDFlow intra-service origin. Do NOT use on REDSetSelect and REDSetTable writes.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success, BatchEventAggregateException on (partial) failure due to invalidation, or another exception in any other case. If an exception other than BatchEventAggregateException is given, no events will be processed at all.
BatchEventAggregateException 200 Some or all submitted events were invalidated and failed. Details contains a list of failed/unprocessed events and the latest REDSet state.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InconsistentEventBatchException 500 All events processed in a single invocation of KATEv2\REDWrite\Services\REDSetUpdateService::processEvents must involve the same REDSet for efficient mutex/concurrency handling.
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
Required flags:
('red:*')
Comment API
POST/comment/{idREDSet}/{redPath}/addComment Authentication required
Adds a new comment to the thread for given redPath on the dataset.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
comment POST-body string No Comment content.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidCommentOperationException 400 Invalid operation for associated CommentEvent.
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
Required flags:
('red:*')
POST/comment/{idREDSet}/{redPath}/{commentIndex}/updateState/{newState} Authentication required
Updates the state of a comment.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
commentIndex URI-Path int No Index of the comment within its thread.
newState URI-Path int No New state of the targeted comment.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidCommentOperationException 400 Invalid operation for associated CommentEvent.
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
Required flags:
('red:*')
Datapoint API
GET/datapoint/{redPath}/validate Authentication required
Validates a datapoint value.
Parameter Location Type Requirements Optional Default value Description
redPath URI-Path string
pattern: ^[^\/\\]{2,256}$
No Generic REDPath to which this value should apply. Must be a generic REDPath (or will be automatically converted to it).
jsonValue URI-Query string No JSON-stringified JSON-value.
idGroups URI-Query int[] No REDGroups of the REDSet.
wfStatus URI-Query int Yes 0 Workflow status of the REDSet.
Response HTTP Type Description
Success 200 bool Returns true on success.
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
Required flags:
kate AND ('red:*' OR 'red:read' OR 'kate:migration')
POST/datapoint/{idREDSet}/{redPath} Authentication required
Writes the value for a datapoint to given dataset.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
jsonValue POST-body string
format: json
No New value (JSON-stringified) of the referred datapoint.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidDatapointException 400 Write to an invalid datapoint. Update REDDefinition for given REDSet upon receiving this exception.
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
Required flags:
('red:*')
POST/datapoint/{idREDSet}/{redPath}/allocateBinaryUpload Authentication required
Allocates a binary file upload for datapoints supporting binaries (HtmlText, File).
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
fileName POST-body string
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z-_0-9 ]+\.[a-z]{2,4}$
No Desired filename to have in SSBin URL. Extensions might be restricted by Datapoint Definition.
Response HTTP Type Description
Success 200 string The URI to upload the binary file content to.
ConfigurationException 500 Invalid microservice configuration. See details for details.
SSBinExpiredFileURLException 403 This file URL has expired and is no longer valid. With the proper privileges, it can still be used to issue a new signed file URL.
SSBinInvalidAllocationTokenException 404 The allocated state for this upload token could not be found.
SSBinInvalidSignatureException 403 This signature of this file URL could not be verified, rendering it invalid. The public key used for verification does not match the signature. Note that the filename is also signed.
SSBinMalformedFileURLException 400 File URL representing securely stored static binary is malformed/invalid.
SSBinNotFoundException 404 Binary file content not found.
SSBinRevokedAudienceException 403 This file URL has been revoked; it's intended audience has been blacklisted.
SSBinUnregisteredSigningServiceException 500 The signing service encoded in the file URL has not been registered/configured on the ssbin-service; so no key-pair is available.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
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
Required flags:
('red:*')
Dataset API
POST/dataset/create Authentication required
Creates a new REDSet. Only the REDFlow-service is authorized to do this.
Parameter Location Type Requirements Optional Default value Description
idGroups POST-body int[] No idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
wfStatus POST-body int No Workflow status to initialize REDSet with.
Response HTTP Type Description
Success 200 REDSet Returns the REDSet.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidModelOperationException 500 An operation on a model was requested that was not valid/allowed.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
MySQLException 500 MySQL related exception. See details for specific exception details.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. 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
Required flags:
('red:*')
POST/dataset/{idREDSet}/delete Authentication required
Deletes a REDSet. Only the REDFlow-service is authorized to do this. Note that this is a hard delete and data is permanently erased. Should only be used to rollback REDSetCreator ActionSequences. All other deletes should transition to DELETED status (10).
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to delete.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool True if REDSet was found and deleted; false if REDSet was not found and no action was performed.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidModelOperationException 500 An operation on a model was requested that was not valid/allowed.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
MySQLException 500 MySQL related exception. See details for specific exception details.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. 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
Required flags:
('red:*')
POST/dataset/{idREDSet}/deleteScenario Authentication required
Deletes a scenario from a dataset. Can only be performed by the REDFlow service. This does not update or check the scenario-index.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
scenario POST-body string
format: json
No Scenario to initialize.
skipMutex POST-body bool Yes false If true, no mutex check, nor mutex acquisition and mutex release will be performed. Only use this if a mutex has been acquired using the lock and unlock calls.
Response HTTP Type Description
Success 200 REDSet Returns the latest state of the REDSet.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
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
Required flags:
red:*
POST/dataset/{idREDSet}/editGroups Authentication required
Edits the Groups of a REDSet, requires that data has been made compatible beforehand. Can only be performed by the REDFlow service.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the REDSet to write to. Must exist.
idGroups POST-body int[]
minItems: 1
No The new idGroups of the REDSet. Must include the idGroups that will remain, you can not change the primary idGroup.
Response HTTP Type Description
Success 200 REDSet Returns the updated REDSet (status ID is affected, but embeds could be affected too).
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
MySQLException 500 MySQL related exception. See details for specific exception details.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
InvalidRequestSignatureException 400 The request has an invalid KATEv2 IntraService Request Signature.
InvalidModelOperationException 500 An operation on a model was requested that was not valid/allowed.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. 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
Required flags:
red:*
POST/dataset/{idREDSet}/initializeScenario Authentication required
Initializes a scenario on a dataset. Can only be performed by the REDFlow service. This does not update or check the scenario-index.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
scenario POST-body string
format: json
No Scenario to initialize.
datapoints POST-body string
format: json
No Key-value map of datapoints to write. Usually, the values will all be NULL.
skipMutex POST-body bool Yes false If true, no mutex check, nor mutex acquisition and mutex release will be performed. Only use this if a mutex has been acquired using the lock and unlock calls.
Response HTTP Type Description
Success 200 REDSet Returns the latest state of the REDSet.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
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
Required flags:
red:*
POST/dataset/{idREDSet}/lock Authentication required
Locks the REDSet for exclusive access. Can only be performed by the REDFlow service. Use with caution. This should for example be used in a workflow action that requires full validation + transition as an atomic operation without chance of intermediate writes by other processes. Don't forget to unlock.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
maxAge POST-body int Yes null Amount of seconds the lock should be valid before considered dead/crashed. Defaults to the default mag-age in config.
Response HTTP Type Description
Success 200 REDSet Returns the latest state of the REDSet right after acquiring the lock.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
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
Required flags:
red:*
POST/dataset/{idREDSet}/scenarioIndex Authentication required
(Over)writes the scenario index. Can only be performed by the REDFlow service.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
scenarioIndex POST-body string
format: json
No Scenario-index to write.
skipMutex POST-body bool Yes false If true, no mutex check, nor mutex acquisition and mutex release will be performed. Only use this if a mutex has been acquired using the lock and unlock calls.
Response HTTP Type Description
Success 200 REDSet Returns the latest state of the REDSet.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
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
Required flags:
red:*
POST/dataset/{idREDSet}/transition Authentication required
Transitions the REDSet to a new workflow status. Can only be performed by the REDFlow service.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
wfStatus POST-body int No Workflow status to transition the REDSet to.
embedLockin POST-body bool No True if embeds are locked in in the new workflow status.
skipMutex POST-body bool Yes false If true, no mutex check, nor mutex acquisition and mutex release will be performed. Only use this if a mutex has been acquired using the lock and unlock calls.
Response HTTP Type Description
Success 200 REDSet Returns the updated REDSet (status ID is affected, but embeds could be affected too).
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
MySQLException 500 MySQL related exception. See details for specific exception details.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
InvalidRequestSignatureException 400 The request has an invalid KATEv2 IntraService Request Signature.
InvalidModelOperationException 500 An operation on a model was requested that was not valid/allowed.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. 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
Required flags:
red:*
POST/dataset/{idREDSet}/unlock Authentication required
Unlocks the REDSet from exclusive access. Can only be performed by the REDFlow service.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
Response HTTP Type Description
Success 200 true Returns true.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
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
Required flags:
red:*
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
PreRED APIs
POST/prered/translationsUpdated Authentication required
Reloads all PreRED collections for all customer/departments on this server-partition if they depend on one of the updated namespaces and/or language-tags. Note that translation plugin cache must be cleared (/mgmt/plugin/clear/translations) for the corresponding entries before invoking this method to have any effect.
Parameter Location Type Requirements Optional Default value Description
namespaces POST-body string[] No Translation namespaces updated
rfc5646languageTags POST-body string[] No Language tags affected
Response HTTP Type Description
Success 200 { customer: string, department: string, collection: ?string, result: "NotAffected" | "PreREDResetInProgressException" | { prerendered: int, lastIdProcessed: ObjectId }}[] Info about reloaded PreREDStores.
PreREDResetInProgressException 500 An operation processing this entire PreRED collection is already running; such process should never run in parallel.
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
Required flags:
None
POST/prered/usersUpdated Authentication required
Reloads all PreRED collections for all customer/departments on this server-partition if they depend on one of the provided affected user fields.
Parameter Location Type Requirements Optional Default value Description
fields POST-body string[] No User fields updated
Response HTTP Type Description
Success 200 { customer: string, department: string, collection: ?string, result: "NotAffected" | "PreREDResetInProgressException" | { prerendered: int, lastIdProcessed: ObjectId }}[] Info about reloaded PreREDStores.
PreREDResetInProgressException 500 An operation processing this entire PreRED collection is already running; such process should never run in parallel.
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
Required flags:
None
TEMP API
POST/comment/{idREDSet}/clear Authentication required
TEMP: Clears all comments on REDSet.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
Response HTTP Type Description
Success 200 REDSet Returns REDSet without comments on success.
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
Required flags:
('kate:admin' OR 'kate:devops')
POST/dataset/fix Authentication required
TEMP: "Fixes" all datasets. Temporary as "fixing" is a very vague definition (actually undefined), and implementation is sloppy.
Response HTTP Type Description
Success 200 REDSet Returns "fixed" REDSet.
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
Required flags:
('kate:admin' OR 'kate:devops')
POST/dataset/{idREDSet}/clear Authentication required
TEMP: Clears all data except title on REDSet.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
Response HTTP Type Description
Success 200 REDSet Returns REDSet without comments on success.
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
Required flags:
('kate:admin' OR 'kate:devops')
Table API
POST/table/{idREDSet}/{redPath}/addRow Authentication required
Deletes a row on a FixedTable.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the FixedTable-datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
rowIndex POST-body int No Index of the new row
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidTableOperationException 400 Invalid operation for associated TableEvent.
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
Required flags:
('red:*')
POST/table/{idREDSet}/{redPath}/deleteRow Authentication required
Deletes a row on a FixedTable.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the FixedTable-datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
rowIndex POST-body int No Index of the row to delete
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidTableOperationException 400 Invalid operation for associated TableEvent.
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
Required flags:
('red:*')
POST/table/{idREDSet}/{redPath}/moveRow Authentication required
Deletes a row on a FixedTable.
Parameter Location Type Requirements Optional Default value Description
idREDSet URI-Path string
pattern: ^[a-z0-9]{24}$
No ID of the dataset to write to. Must exist.
redPath URI-Path string
pattern: ^[A-Za-z-_\.\[\]0-9]{1,}$
No Path to the FixedTable-datapoint within the dataset.
scenario POST-body string Yes null Scenario of the redPath to edit. Leave empty for base scenario.
rowFrom POST-body int No Index of the moved row, i.e. where it came from.
rowTo POST-body int No Index of the destination row, i.e. where it was inserted.
idGroups POST-body int[] Yes null idGroups of the REDSet. Used to determine the data-collection this dataset is located in.
collection POST-body string
pattern: ^[a-z]{1,32}$
Yes null Predetermined name of the data-collection. Can be used instead of idGroups.
Response HTTP Type Description
Success 200 bool|REDSet Returns true or updated REDSet on success.
DatasetNotFoundByIdException 404 REDSet with provided ID could not be found.
LockedREDSetException 500 The REDSet could not be updated because another write-process has locked it for exclusive access.
UnknownCollectionException 400 The corresponding collection could not be derived from the collection map. Make sure a primary group listed in the collectionMap is included.
REDStoreException 500 An exception occurred on the driver-level of the REDStore. See details for details.
ConfigurationException 500 Invalid microservice configuration. See details for details.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
InvalidTableOperationException 400 Invalid operation for associated TableEvent.
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
Required flags:
('red:*')
Uncategorized APIs
POST/getNewURL Authentication required
Used to generate a new shareable link intended for external parties, denoted by audience.
Parameter Location Type Requirements Optional Default value Description
fileURL POST-body string
minLength: 1
maxLength: 510
pattern: ^https:\/\/.+\.[a-zA-Z-_0-9]+$
No Any previously generated fileURL.
idTarget POST-body string
minLength: 1
maxLength: 36
pattern: ^[a-z-_0-9]+$
No Target ID. Will later be replaced by idREDSet.
typeTarget POST-body string
enum: [ "valuation", "transaction", "client" ]
No Type of the Target
keyTarget POST-body string No Target key within said entity, e.g. UBO, CoC, "propertyKey"
fileName POST-body string
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z-_0-9]+\.[a-zA-Z-_0-9]+$
No Desired filename to have in SSBin URL. Only image-type extensions are allowed.
audience POST-body string
enum: [ "kate", "taxapay", "ing", "rabo", "abn", "rnhb", "triodos" ]
Yes null The audience this new link is intended for.
Response HTTP Type Description
Success 200 string The newly created url.
ConfigurationException 500 Invalid microservice configuration. See details for details.
SSBinExpiredFileURLException 403 This file URL has expired and is no longer valid. With the proper privileges, it can still be used to issue a new signed file URL.
SSBinInvalidAllocationTokenException 404 The allocated state for this upload token could not be found.
SSBinInvalidSignatureException 403 This signature of this file URL could not be verified, rendering it invalid. The public key used for verification does not match the signature. Note that the filename is also signed.
SSBinMalformedFileURLException 400 File URL representing securely stored static binary is malformed/invalid.
SSBinNotFoundException 404 Binary file content not found.
SSBinRevokedAudienceException 403 This file URL has been revoked; it's intended audience has been blacklisted.
SSBinUnregisteredSigningServiceException 500 The signing service encoded in the file URL has not been registered/configured on the ssbin-service; so no key-pair is available.
AuthenticationFailedException 401 Authentication failed. Re-authenticate and retry. See error details for details.
OriginDomainNotAllowedException 403 v1 only. The origin domain is not allowed; the security salt-hash does not match: configuration/devops issue.
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.
UnauthorizedException 403 Authorization for requested method rejected. See error details for details.
Authentication required:
Yes
Authentication scheme:
JWTAuth
Required flags:
('red:read' OR 'red:*')
POST/kate-v1/allocateBinaryUpload Authentication required
Allocates an image upload for KATEv1 Wysiwyg editors and Properties that support Files. Since this method works on propertyKeys and KATEv2 operates on REDPoints, the method call will be different for v2, but the response will be the same.
Parameter Location Type Requirements Optional Default value Description
idValuation POST-body string
minLength: 1
maxLength: 36
pattern: ^[a-z-_0-9]+$
No Valuation ID. Will later be replaced by idREDSet.
propertyKey POST-body string
minLength: 1
maxLength: 100
pattern: ^[a-z_0-9]+$
No PropertyKey of the File or Wysiwyg Property that will hold the SSBin URL to the image. Will later be replaced by redPoint.
fileName POST-body string
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z-_0-9]+\.[a-zA-Z-_0-9]+$
No Desired filename to have in SSBin URL. Only image-type extensions are allowed.
v1Token POST-body string
minLength: 1
maxLength: 8191
No KATEv1 JWT-token to validate provided parameters against v1 Core.
Response HTTP Type Description
Success 200 string The URI to upload the binary file content to.
ConfigurationException 500 Invalid microservice configuration. See details for details.
SSBinExpiredFileURLException 403 This file URL has expired and is no longer valid. With the proper privileges, it can still be used to issue a new signed file URL.
SSBinInvalidAllocationTokenException 404 The allocated state for this upload token could not be found.
SSBinInvalidSignatureException 403 This signature of this file URL could not be verified, rendering it invalid. The public key used for verification does not match the signature. Note that the filename is also signed.
SSBinMalformedFileURLException 400 File URL representing securely stored static binary is malformed/invalid.
SSBinNotFoundException 404 Binary file content not found.
SSBinRevokedAudienceException 403 This file URL has been revoked; it's intended audience has been blacklisted.
SSBinUnregisteredSigningServiceException 500 The signing service encoded in the file URL has not been registered/configured on the ssbin-service; so no key-pair is available.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
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
Required flags:
('red:*')
POST/kate-v1/generic/allocateBinaryUpload Authentication required
Allocates an upload for KATEv1 editors. Since this method works on propertyKeys/fields on a Client and KATEv2 operates on REDPoints, the method call will be different for v2, but the response will be the same.
Parameter Location Type Requirements Optional Default value Description
idTarget POST-body string
minLength: 1
maxLength: 36
pattern: ^[a-z-_0-9]+$
No Target ID. Will later be replaced by idREDSet.
typeTarget POST-body string
enum: [ "valuation", "transaction", "client" ]
No Type of the Target
keyTarget POST-body string No Target key within said entity, e.g. UBO, CoC, "propertyKey"
fileName POST-body string
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z-_0-9]+\.[a-zA-Z-_0-9]+$
No Desired filename to have in SSBin URL. Only certain types are allowed, such as image-type extensions, xbrl and pdf's.
v1Token POST-body string
minLength: 1
maxLength: 8191
No KATEv1 JWT-token to validate provided parameters against v1 Core.
Response HTTP Type Description
Success 200 string The URI to upload the binary file content to.
ConfigurationException 500 Invalid microservice configuration. See details for details.
SSBinExpiredFileURLException 403 This file URL has expired and is no longer valid. With the proper privileges, it can still be used to issue a new signed file URL.
SSBinInvalidAllocationTokenException 404 The allocated state for this upload token could not be found.
SSBinInvalidSignatureException 403 This signature of this file URL could not be verified, rendering it invalid. The public key used for verification does not match the signature. Note that the filename is also signed.
SSBinMalformedFileURLException 400 File URL representing securely stored static binary is malformed/invalid.
SSBinNotFoundException 404 Binary file content not found.
SSBinRevokedAudienceException 403 This file URL has been revoked; it's intended audience has been blacklisted.
SSBinUnregisteredSigningServiceException 500 The signing service encoded in the file URL has not been registered/configured on the ssbin-service; so no key-pair is available.
CustomerPartitionMismatchException 400 Mismatch between customer-partition served by this service and customer-partition in authorization-token. Please invoke the right service-domain for this customer-partition.
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
Required flags:
('red:*')
Authentication schemes (Click an authentication scheme to expand it)
JWTAuth
Result wrappers (Click a result-wrapper to expand it)
Success
Error