The architecture used is called ROA (Resource-Oriented Architecture), it can be an alternative to SOA (Service-Oriented Architecture). The chosen resources are readable and/or writable by third-party systems, according to the request content.
The HATEOAS approach of the built-in RESTful services also allows to experience an intuitive and straightforward navigation, which implies that the data details could be obtained through a link.
All operations are stateless.
This chapter describes the elements to use in order to build a conform REST request, such as: the HTTP method, the URL format, the header fields and the message body.
Considered HTTP methods for built-in RESTful services, are:
GET
: used to select master data defined in the URL (the URL size limit depends on the application server or on the browser, that must be lower than or equal to 2KB).
POST
: used to insert one or more records in a table or to select the master data defined in the URL (the size limit is 2MB or more depending on the application server. Each parameter is limited to a value containing 1024 characters).
PUT
: used to update the master data defined in the URL.
DELETE
: used to delete either the record defined in the URL or multiple records defined with the table URL and the record table in the message body.
REST URL contains:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/{categoryVersion}/{specificPath}[:{extendedAction}]?{queryParameters}
Where:
<ebx-dataservices>
corresponds to the 'ebx-dataservices.war' web application's path. The path is composed by multiple, or none, URI segments followed by the web application's name.
{category}
corresponds to the operation category.
{categoryVersion}
corresponds to the category version: current value is v1
.
{specificPath}
corresponds to a specific path inside the category.
{extendedAction}
corresponds to the extended action name (optional).
{queryParameters}
corresponds to common or dedicated operation parameters passed by the URL.
It specializes the operation, it is added in the path of the URL in {category}
and it takes one of the following values:
| Administration operations reserved to administrators. For more information, see: Administration operations. |
| Manage token authentication method. For more information, see: Token authentication operations and Token Authentication Scheme. |
| Lists dataset content, requests a table, a record or a field record content, including modified operations on dataset node, table, record and record field. For more information, see: Data operations. |
| Lists history dataset content, requests a history table, a history of a record or a history record. For more information, see: Data operations. See also |
These header field definitions are used by TIBCO EBX®.
| Used to specify content types by order of preference to be used in the response, the first supported one will be chosen and specified in the response header
See also |
| Used for specifying the preferred locale for the response. The supported locales are defined in the schema model. If none of the preferred locale are supported, the default locale for the current model is used. |
| Used for 'Basic Authentication Scheme' and 'Token Authentication Scheme' methods, otherwise the request is rejected. See also |
| Used to specify the request body media type. The supported types are See also |
| If present and in case of authentication failure, prevents the addition of the See also |
See RFC2616 for more information about HTTP Header Field Definitions.
These optional parameters are available for all data service operations.
Parameter | Description |
---|---|
| This parameter only has impact on a D3 architecture. If If the specified dataspace is not a delivery dataspace on a D3 primary node, this parameter is ignored.
See also |
| Specifies if the response should be indented, to be easier to read for a human.
|
It contains the request data using the JSON format, see JSON Request body.
Requests may define a message body only when using POST
or PUT
HTTP methods.
This chapter describes the responses returned by built-in RESTful services.
See Exception handling for details on standard error handling (where the HTTP code is greater than or equal to 300
).
These header field definitions are used by EBX®.
| Indicates the locale used in the response for labels and descriptions. |
| Indicates the response body content type. |
| If a new record has been successfully inserted, the query URL for this record is returned by this field. |
| This header field is added to the HTTP response when authentication fails with the 401 (Unauthorized) HTTP code. Its value consists of a list with at least one authentication method applicable to the request URI. It is present if and only if the following conditions are verified:
If the client is able to interpret the authentication method, it is possible to resubmit the request providing the appropriate credentials. The administration property ebx.dataservices.rest.auth.tryBasicAuthentication must be set to |
HTTP code | Description |
---|---|
| The request has been successfully handled. |
| A new record has been created, in this case, the header field |
| The request has been successfully handled but no response body is returned. |
| the request URL or body is not well-formed or contains invalid content. |
| Authentication has failed. |
| Permission was denied to read or modify the specified resource for the authenticated user. This error is also returned when the user:
|
| The resource specified in the URL cannot be found. |
| Content type defined in the request's |
| A concurrent modification has occurred. See also |
| The request content is not supported, the request header value |
| The new resource's content cannot be accepted for semantic reasons. |
| Unexpected error thrown by the application. Error details can usually be found in EBX® logs. |
The response body content's format depends on the HTTP code value:
HTTP codes from 200
included to 300
excluded: the content format depends on the associated request (JSON samples).
With the exception of code 204
(No content).
HTTP codes greater than or equal to 300
: the content describes the error. See JSON for details on the format.
Administration operations are related to:
the administration category.
the administration dataspaces accessible through the data
category.
administration category and administration dataspaces can only be used by administrators.
The EBX® default directory configuration is manageable with built-in RESTful services. The users and roles tables, the mailing lists and other objects are concerned. For more information, see Users and roles directory.
Triggers are present on the directory's tables, ensuring the data consistency.
The URL format is:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-directory/ebx-directory
The EBX® default directory configuration is manageable like dataset nodes. It can be accessed and modified through the data
category operations. Each field is self-described when metadata is requested.
See select and update operations for more information.
There are two default mailing lists that can be configured in the EBX® directory: one for everybody and one for administrators. These lists can be handled like dataset nodes through the data
category operations.
See select and update operations for more information.
Users can be manipulated like records of the data
category using the operations of the latter. For security purposes, an administrator cannot delete himself. The user's salutation must be chosen among the ones available in the 'salutations' table.
See select, update, insert and delete operations for more information.
Roles are records of the data
category and can be managed with its operations. EBX® roles are assigned to users through the 'usersRoles' association table. 'usersRoles' is automatically fed when the directory is administered through the user interface. However, it is not the case through data services and role assignments require manual operations. Roles inclusions are specified in the 'rolesInclusions' association table. As for the 'usersRoles' table, the management of roles inclusions requires manual operations. Each table is self-descriptive when metadata is requested.
See select, update, insert and delete operations for more information.
The EBX® user interface can be opened or closed to users for maintenance needs. Handled information is similar to what is contained in the UI tab 'Administration' > 'User interface configuration' > 'Advanced perspective' > 'Graphical interface configuration' > 'Application locking'.
URL format is:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-manager/ebx-manager/domain/toolStatus
User interface status and the unavailability message are accessible like dataset nodes.
See Select operation and the JSON example, for more information.
User interface status and the unavailability message can be modified like dataset nodes using the update operation. To open the user interface set the content of toolStatus
to true
, or to false
to close it.
See Update operation and the JSON examples, for more information.
This operation returns system information on the EBX® server. This is accepted for GET
and POST
HTTP methods. Warning: no update will be possible in the POST
HTTP method because the request body is ignored. The information returned is the same as the information contained in the log header kernel.log
or in the UI tab 'Administration' > 'System Information'. The response contains several keys, labels, and values representing the configuration and status of EBX®. The mode of representation of the response may be flat or hierarchical.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/admin/v1/systemInformation
The following parameter is applicable.
Parameter | Description |
---|---|
| Specifies the returned mode:
|
HTTP code | Description |
---|---|
| The system information was successfully returned. |
| The request is not correct, it contains one of the following errors:
|
| The user is not an administrator. |
It is returned, if and only if, the HTTP code is 200 (OK)
. The content structure depends on the provided parameter systemInformationMode
or its default value.
See the JSON example of the flat representation.
See the JSON example of the hierarchical representation.
These operations allow to create or revoke an authentication token. Authentication tokens have a timeout period. If a token is not used to access the EBX® server within this period, it will automatically be revoked. This timeout period is refreshed on each access to EBX® server.
The token timeout is modifiable through the administration property ebx.dataservices.rest.auth.token.timeout (the default value is 30 minutes).
This operation requires using the POST
HTTP method with a request containing the user's credentials and, optionally, session parameters.
URL format is:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/token:create
A message body must be defined in the HTTP request. It necessarily contains one of the following set of data:
A login
and a password
value. Both JSON attributes are mandatory and of String
types.
See Directory.authenticateUserFromLoginPassword
for more information.
The specific
JSON attribute set to true
. When activated, this flag allows to performed a user authentication against the whole HTTP request. Warning, even if login
and password
attributes are defined in the JSON request's body, setting specific
to true
lead to a specific user authentication.
See Directory.authenticateUserFromHttpRequest
for more information.
See the JSON examples of a token creation request.
HTTP code | Description |
---|---|
| The token was successfully created. |
| For one of the following reasons:
|
| For one of the following reasons:
|
| For one of the following reasons:
|
If the HTTP code is 200 (OK)
, the body holds the token value and its type.
See the JSON example of a token creation response.
The token can later be used to authenticate a user by setting the HTTP-Header Authorization
accordingly.
This operation modifies the password of an existing user account. It can be used in an authenticated context: login
parameter, if present, is checked against the current session or taken from it, if absent. It could also be used in an unauthenticated context, for example when the Create token operation aborts with the HTTP code 422
(Unprocessable entity) with reason: PasswordMustChange
.
It requires the use of:
the EBX® default directory
the POST
HTTP method
the message body containing the structure specified below
URL format is:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/user:changePassword
The message body must be defined in the request. It necessarily contains a password
and a passwordNew
, the login
is optional (all are String
).
See the JSON example of a password change and token creation request.
HTTP code | Description |
---|---|
| The password has been changed. |
| For one of the following reasons:
|
| For the following reason:
|
| For one of the following reasons:
|
If HTTP code 204 (No content)
is returned, then the password has been modified.
This operation requires using the POST
HTTP method. No message body is needed.
URL format is:
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/token:revoke
| This field is required, > Authorization: <tokenType> <accessToken> |
HTTP code | Description |
---|---|
| The token has been revoked successfully. |
| For one of the following reasons:
|
| Authentication has failed. |
Operations from the data
operation category concern the datasets, the dataset fields, tables, records or record fields.
Operations from the history
category and concern historized content from datasets, tables, records or the record fields.
Select operation may use one of the following methods:
GET
HTTP method,
POST
HTTP method without message body or
POST
HTTP method with message body and optionally session parameters.
URL formats are:
Dataset tree, depending on operation category:
The data
category returns the hierarchy of the selected dataset, this includes group and table nodes.
The history
category returns the hierarchy of the selected history dataset, this includes the pruned groups for history table nodes only.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}
Terminal nodes and sub-nodes are not included.
Dataset node: the data
category returns the terminal nodes contained in the selected node.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}
Not applicable with the history
category.
Table, depending on operation category:
the data
category returns the table content and/or metadata, current page records and URLs for pagination.
The history
category returns the history table content and/or metadata, current page records and URLs for pagination.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}
Record, depending on operation category:
the data
category returns the record content and/or metadata.
The history
category returns history record content and/or metadata.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}?primaryKey={xpathExpression}
The record access by the primary key (primaryKey
parameter) is limited to its root node. It is recommended to use the encoded primary key, available in the details
field in order to override this limitation. Similarly, for a history record, use the encoded primary key, available in the historyDetails
field.
Field, depending on operation category:
the data
category returns the field record content where structure depends on its type.
The history
category returns the field history record content where structure depends on its type.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}
The field must be either an association node, a selection node, a terminal node or above.
Where:
{category}
corresponds to the operation category.
{dataspace}
corresponds to B
followed by the dataspace identifier or to V
followed by the snapshot identifier.
{dataset}
corresponds to the dataset identifier.
{pathInDataset}
corresponds to the path of the dataset node, that can be a group node or a table node.
{encodedPrimaryKey}
corresponds to the encoded representation of the primary key.
{xpathExpression}
corresponds to the record primary key, using the XPath expression.
{pathInRecord}
corresponds to the path starting from the table node.
The following parameters are applicable to the select operation.
Parameter | Description |
---|---|
| Includes the
|
| Includes the Type See also |
| Includes those fields for a historized content:
NoteThe See also |
| Includes the Possible values are:
NoteThe |
| Includes the
See also |
| Includes the Type See also |
| Includes the The sort criteria parameters are added by using:
Example JSON |
| Includes the internal technical data.
See alsoNoteThis parameter is ignored with the |
| Includes the validation report corresponding to the selection.
NoteThis parameter is ignored with the See also |
The following parameters are applicable to tables, associations and selection nodes.
Parameter | Description |
---|---|
| XPath predicate expression defines the field values to which the request is applied. If empty, all records will be retrieved.
NoteThe history code operation value is usable with |
| Specifies the filter context applied on table.
The default value is See alsoNoteThis parameter is ignored with the |
| Includes the records in occulting mode.
|
| Search a record by a primary key, using the XPath expression. The XPath predicate expression should only contain field(s) of the primary key and all of them. Fields are separated by the operator
Example with a composed primary key: The response will only contain the corresponding record, otherwise an error is returned. Consequently, the other table parameters are ignored (as filter, viewPublication, sort, etc.)
|
| Deprecated since version 5.9.0, replaced by |
| Specifies the record XPath predicate expression filter of the page.
|
| Specifies the pagination action to perform from page defined by
See also |
| Specifies the number of records per page.
|
| Specifies that the operation result will be sorted according to the specified criteria. The criteria are composed of one or more criteria, the result will be sorted by priority from the left. A criterion is composed of the field path and, optionally, the sorting order (ascending or descending, on value or on label). This parameter can be combined with:
The value structure is as follows:
Where:
NoteThe history code operation value is usable with the See also |
| Specifies that the operation result will be sorted according to the record label. This parameter can be combined with:
The value structure is as follows:
Where:
The behavior of this parameter is described in the section defaultLabel.
See also |
| Specifies the name of the published view. This parameter can be combined with:
The behavior of this parameter is described in the section EBX® as a Web Component.
|
The following parameters are only applicable to fields that return an enumeration, foreign key or osd:resource
(Example JSON). By default, a pagination mechanism is enabled.
Parameter | Description |
---|---|
| Specifies whether:
NoteThis parameter is ignored with the |
| Specifies the index of the first element returned by the selector. Must be an integer higher than or equal to
|
| Specifies the number of elements per page.
|
| Specifies the filter of the selector.
|
HTTP code | Description |
---|---|
| The selected resource is successfully retrieved. |
| The request is incorrect. This occurs when:
|
| The selected resource is hidden for the authenticated user. |
| The selected resource is not found. |
After a successful dataset, table, record or field selection, the result is returned in the response body. The content depends on the provided parameters and selected data.
Example: JSON.
Insert operation uses the POST
HTTP method. A body message is required to specify data. This operation supports the insertion of one or more records in a single transaction. Moreover, it is also possible to update record(s) through parameterization.
Record: insert a new record or modify an existing one in the selected table.
Record table: insert or modify one or more records in the selected table, while securing a consistent answer. Operations are executed sequentially, in the order defined on the client side. When an error occurs during a table operation, all updates are cancelled and the client receives an error message with detailed information.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}
Where:
{dataspace}
corresponds to B
followed by the dataspace identifier or to V
followed by the snapshot identifier.
{dataset}
corresponds to the dataset identifier.
{pathInDataset}
corresponds to the path of the table node.
The following parameters are applicable with the insert operation.
Parameter | Description |
---|---|
| Includes the Type NoteOnly applicable on the record table. |
| Includes the
NoteOnly applicable on the record table. |
| Includes the Possible values are:
NoteOnly applicable on the record table. |
| Specifies the behavior when the record to insert already exists:
|
| Specifies the behavior for setting value of nodes that are not defined in the request body. This is described in the Update modes section.
NoteApplicable on record in update mode and if the updateOrInsert parameter is |
| Specifies whether blocking constraints are ignored, if so, the operation is committed regardless of the validation error created, otherwise, the operation would be aborted.
See Blocking and non-blocking constraints for more information. |
The request must define a message body. The format depends on the inserted object type:
Record: similar to the select operation of a record but without the record's header (example JSON).
Record table: Similar to the select operation on a table but without the pagination information (example JSON).
HTTP code | Description |
---|---|
| If the request relates to a record table. The insert request was applied successfully, an optional report is returned in the response body. |
| If the request relates to a record. A new record has been created, in this case, the header field |
| If the request relates to a record. Only available if |
| The request is incorrect. This occurs when the body message structure does not comply with what was mentioned in Message body. |
| Authenticated user is not allowed to create a record or the request body contains a read-only field. |
| The selected resource is not found. |
| Concurrent modification, only available if |
| The request cannot be processed. This occurs when:
|
The response body format depends on the inserted object type:
Record: is empty if the operation was executed successfully. The header field Location
is returned with its URL resource.
Record table: (optional) contains a table of element(s), corresponding to the insert operation report (example JSON). This report is automatically included in the response body, if at least one of the following options is set:
includeForeignKey
includeLabel
includeDetails
This operation allows the modification of a single dataset or record. The PUT
HTTP method must be used. Available URL formats are:
Dataset node: modifies the values of terminal nodes contained in the selected node.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}
Record: modifies the content of selected record.
Also available for POST
HTTP methods. In this case, the URL must correspond to the table by setting the parameter updateOrInsert
to true
.
Field: modifies the field content.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}
The field must be either a terminal node or above.
Where:
{dataspace}
corresponds to B
followed by the dataspace identifier or to V
followed by the snapshot identifier.
{dataset}
corresponds to the dataset identifier.
{pathInDataset}
corresponds to the path of the dataset node:
For dataset node operations, this must be any terminal node or above except table node,
For record and field operations, this corresponds to the table node.
{encodedPrimaryKey}
corresponds to the encoded representation of the primary key.
{pathInRecord}
corresponds to the path starting from the table node.
Here are the parameters applicable with the update operation.
Parameter | Description |
---|---|
| Specifies whether blocking constraints are ignored, if so, the operation is committed regardless of the validation error created, otherwise, the operation would be aborted.
See Blocking and non-blocking constraints for more information. |
| Specifies the behavior for setting value of nodes that are not defined in the request body. This is described in the Update modes section.
|
| Timestamp in datetime format used to ensure that the record has not been modified since the last read. Also see the Optimistic locking section.
|
The request must define a message body.
The structure is the same as for:
depending on the updated scope, by only keeping the content
entry.
HTTP code | Description |
---|---|
| The record, field or dataset node has been successfully updated. |
| The request is incorrect. This occurs when the body request structure does not comply. |
| Authenticated user is not allowed to update the specified resource or the request body contains a read-only field. |
| The selected resource is not found. |
| Concurrent modification, the Optimistic locking is activated and the content has changed in the meantime, it must be reloaded before the update. |
| The request cannot be processed. This occurs when:
|
The operation uses the DELETE
HTTP method.
Two URL formats are available:
Record: delete a record specified in the URL.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}
Record table: deletes several records in the specified table, while providing a consistent answer. This mode requires a body message containing a record table. The deletions are executed sequentially, according to the order defined in the table. When an error occurs during a table operation, all deletions are cancelled and an error message is displayed with detailed information.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}
Where:
{dataspace}
corresponds to B
followed by the dataspace identifier or to V
followed by the snapshot identifier.
{dataset}
corresponds to the dataset identifier.
{pathInDataset}
corresponds to the path of the table node.
{encodedPrimaryKey}
corresponds to the encoded representation of the primary key.
In a child dataset context, this operation modifies the inheritanceMode
property value of the record as follows:
A record with inheritance mode set to inherit
or overwrite
becomes occult
.
A record with inheritance mode set to occult
becomes inherit
if the inheritIfInOccultingMode
operation parameter is set to true
or is undefined, otherwise there is no change.
A record with inheritance mode set to root
is simply deleted.
Here are the following parameters applicable with delete operation.
Parameter | Description |
---|---|
| Includes occulted records.
|
| Deprecated since version 5.8.1 While it remains available for backward compatibility reasons, it will eventually be removed in a future version. Inherits the record if it is in occulting mode.
|
| Timestamp in datetime format used to ensure that the record has not been modified since the last read. Also see the Optimistic locking section.
|
| Specifies whether blocking constraints are ignored, if so, the operation is committed regardless of the validation error created, otherwise, the operation would be aborted.
See Blocking and non-blocking constraints for more information. |
The request must define a message body only when deleting several records:
Record table: The message contains a table of elements related to a record, with for each element one of the following properties:
details
: corresponds to the record URL, it is returned by the select operation.
primaryKey
: corresponds to the primary key of the record, using the XPath expression.
foreignKey
: corresponds to the value that a foreign key would have if it referred to a record.
Example JSON.
HTTP code | Description |
---|---|
| The operation has been executed successfully. A report is returned in the response body. |
| The request is incorrect. This occurs when:
|
| Authenticated user is not allowed to delete or occult the specified record. |
| The selected record is not found. In the child dataset context, it should be necessary to use the |
| Concurrent modification, The Optimistic locking is activated and the content has changed in the meantime, it must be reloaded before deleting the record. The parameter value |
| Only available if |
After a successful record deletion or occulting, a report is returned in the response body. It contains the number of deleted, occulted and inherited record(s).
Example JSON.
Count operation may use one of the following methods:
GET
HTTP method,
POST
HTTP method without message body or
POST
HTTP method with message body but without content
field on root.
The URL formats are:
Dataset node: the data
category returns the number of terminal nodes contained in the selected node.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}?count=true
Not applicable with the history
category.
Table depending on the operation category:
the data
category returns the number of table records.
The history
category returns the number of table history records.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}?count=true
Field depending on the operation category:
the data
category counts the record fields.
The history
category counts the history record field.
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}?count=true
The field must be either an association node, a selection node, a terminal node or above.
Where:
{category}
corresponds to the operation category.
{dataspace}
corresponds to B
followed by the dataspace identifier or to V
followed by the snapshot identifier.
{dataset}
corresponds to the dataset identifier.
{pathInDataset}
corresponds to the path of the dataset node, that can be a group node or a table node.
{encodedPrimaryKey}
corresponds to the encoded representation of the primary key.
{pathInRecord}
corresponds to the path starting from the table node.
The following parameters are applicable to the count operation.
Parameter | Description |
---|---|
| This parameter is used to specify whether this is a count operation or a selection operation.
|
The following parameters are applicable to tables, associations and selection nodes.
Parameter | Description |
---|---|
| XPath predicate expression defines the field values to which the request is applied. If empty, all records will be considered.
NoteThe history code operation value is usable with the |
| Specifies the filter context applied on table.
The default value is See alsoNoteThis parameter is ignored with the |
| Includes the records in occulting mode.
|
| Specifies the name of the published view to be considered during the count execution. This parameter can be combined with:
The behavior of this parameter is described in the section EBX® as a Web Component. |
The following parameters are only applicable to fields that return an enumeration, foreign key or osd:resource
.
Parameter | Description |
---|---|
| Specifies whether:
NoteThis parameter is ignored with the |
| Specifies the filter of the selector.
|
HTTP code | Description |
---|---|
| The selected resource is successfully counted. |
| The request is incorrect. This occurs when:
|
| The selected resource is hidden for the authenticated user. |
| The selected resource is not found. |
To prevent an update or a delete operation on a record that was previously read but may have changed in the meantime, an optimistic locking mechanism is provided.
To enable optimistic locking, a select request must set the parameter includeTechnicals
to true
.
See Technical data for more information.
The value of the lastUpdateDate
property must be included in the following update request. If the record has been changed since the specified time, the update or delete will be cancelled.
Record: update whole or partial content of the selected record.
The property lastUpdateDate
should be added to the request body to prevent update of a modified record.
See the JSON example of a record.
Field: update of a single field of the selected record.
The property value lastUpdateDate
must be declared in the request URL by the checkNotChangedSinceLastUpdateDate
parameter to prevent the update of a modified record.
The property value lastUpdateDate
can also be used in the request URL checkNotChangedSinceLastUpdateDate
parameter to prevent deletion on a modified record.
The checkNotChangedSinceLastUpdateDate
parameter may be used more than once but only on the same record. This implies that if the request URL returns more than one record, the request will fail.
EBX® inheritance features are supported by built-in RESTful services using specific properties and automatic behaviors. In most cases, the inheritance state will be automatically computed by the server according to the record and field definition or content. Every action that modifies a record or a field may have an indirect impact on those states. In order to fully handle the inheritance life cycle, direct modifications of the state are allowed under certain conditions. Forbidden or incoherent explicit alteration attempts are ignored.
The following table describes properties related to the EBX® inheritance features.
Property | Location | Description |
---|---|---|
| record or table metadata | Specifies if dataset inheritance is activated for the table. The value is computed from the data model and cannot be modified through built-in RESTful services. See also |
| field metadata | Specifies the field's value source. The source data are directly taken from the data model and cannot be modified through built-in RESTful services. See also |
| record in child dataset | Specifies the record's inheritance state. To set a record's inheritance from Note Inherited record's fields are necessarily Note Root records in child dataset will always be Possible values are: |
field in | Specifies the field's inheritance state. To set a field's inheritance to Note
Note
Possible values are: | |
| inherited field | Specifies the inherited field's inheritance state. To set a field's inheritance to Note
Note
Possible values are: |
Indexes, in the request URL {pathInDataset}
or {pathInRecord}
, are not supported.
Nested aggregated lists are not supported.
Dataset nodes and field operations applied to nodes that are sub-terminal are not supported.
See Access properties for more information about terminal nodes.
Within the selector
, the pagination context is limited to the nextPage
property.
Within the viewPublication
parameter, the hierarchical view is not supported.
The sortOnLabel
parameter ignores programmatic labels.
The system information response's properties cannot be browsed through the REST URL with the hierarchical representation.
See System information operation for more information.
Association fields cannot be updated, therefore, the list of associated records cannot be modified directly.
Control policy onUserSubmit-checkModifiedValues
of the user interface is not supported. To retrieve validation errors, invoke the select operation on the resource by including the includeValidation
parameter.
See Blocking and non-blocking constraints for more information.
Changing or resetting a password for a user is not supported.