Dissemination API
The Dissemination Service is designed to retrieve documents previously ingested into the Docbyte Vault.
1. Retrieve Package
Description
Retrieves package details (AIP) for a given package ID. Optional enrichers allows you to get extra details (e.g., plugin reports, permissions, metadata, breadcrumb).
Request
GET /aip/{packageId}
Headers
Name | Description | Type | Required |
---|---|---|---|
| Bearer token (e.g., |
| Yes |
| Optional list to specify what information should be part of the result. If no value is provided only the basic information of a package is returned.
|
| No |
Path Parameters
Name | Description | Type | Required |
---|---|---|---|
| Path parameter; unique ID of the package to retrieve |
| Yes |
Response
200
Returns the package details (AIP) as defined in the AIP schema.404
Package with the specified ID was not found.default
An error response, see ErrorResponse Schema.
2. List Root Packages
Description
Lists all root packages from the file plan.
Request
GET /fileplan
Headers
Name | Description | Type | Required |
---|---|---|---|
| Bearer token (e.g., |
| Yes |
| Optional list to specify what information should be part of the result. If no value is provided only the basic information of a package is returned.
|
| No |
Query Parameters
Name | Description | Default | Type | Required |
---|---|---|---|---|
| Page number for pagination | 0 |
| No |
| Number of items per page | 100 |
| No |
Response
200
Returns a Search Response (an AIPList object) containing a list of root packages.default
An error response, see ErrorResponse Schema.
3. List Subpackages for a Package
Description
Lists all subpackages for a given package ID from the file plan.
Request
GET /fileplan/{packageId}
Headers
Name | Description | Type | Required |
---|---|---|---|
| Bearer token (e.g., |
| Yes |
| Optional list to specify what information should be part of the result. If no value is provided only the basic information of a package is returned.
|
| No |
Path Parameters
Name | Description | Type | Required |
---|---|---|---|
| unique ID of the parent package |
| Yes |
Query Parameters
Name | Description | Default | Type | Required |
---|---|---|---|---|
| Page number for pagination | 0 |
| No |
| Number of items per page | 100 |
| No |
Response
200
Returns a SearchResponse (an AIPList object) with subpackages details. #AIPList-Schema404
Package with the specified ID was not found.default
An error response, see ErrorResponse Schema.
4. List Search Configurations
Description
Retrieves a list of all search configurations.
Request
GET /search
Headers
Name | Description | Type | Required |
---|---|---|---|
| Bearer token (e.g., |
| Yes |
Query / Body / Path Parameters
(None)
Response
200
Returns a JSON object matching the SearchConfig Schema containing the search configurations.default
An error response, see ErrorResponse Schema.
5. Execute Search
Description
Executes a search operation based on a given search configuration, including pagination and optional enrichers for extra details.
Request
GET /search/{searchConfig}
Headers
Name | Description | Type | Required |
---|---|---|---|
| Bearer token (e.g., |
| Yes |
| Optional list to specify what information should be part of the result. If no value is provided only the basic information of a package is returned.
|
| No |
Path Parameters
Name | Description | Type | Required |
---|---|---|---|
| Identifier for the search configuration to be used. |
| Yes |
Query Parameters
Name | Description | Default | Type | Required |
---|---|---|---|---|
| Page number for pagination | 0 |
| No |
| Number of items per page | 100 |
| No |
| Filters applied using the pattern See |
| No |
Filtering
To filter the search results, add query parameters using the following format:
filter.<fieldName>=<value>
Replace
<fieldName>
with the actual field you want to filter on ( Seefilters
in the/search
response for details on available field names).Replace
<value>
with the value you want to filter by.You can include multiple
filter.<fieldName>=<value>
parameters to apply multiple filters (these are typically combined with an AND logic).For the
BETWEEN
operator, you need to specify bothfieldMinName
andfieldMaxName
Example: ?filter.ecm_fulltext=michiel&filter.dc:creator=jsmith
Response
200
Returns a SearchResponse (an AIPList object) with search results.default
An error response, see ErrorResponse Schema.
Schemas
AIPList Schema
{
"totalResults": 123, // Total number of packages matching the query
"page": 0, // Current page number
"pageSize": 100, // Number of items per page
"items": [
{
// Each item is an AIP object, see AIP Schema below
}
]
}
AIP Schema
{
"packageId": "uuid-1234", // Unique identifier for the package
"packageType": "AIP", // Type of the package (e.g., AIP)
"pluginReports": [ // List of plugin execution reports
{
"executionDate": "2023-01-01T00:00:00Z", // Date/time of plugin execution
"pluginName": "examplePlugin", // Name of the plugin
"message": "Plugin executed successfully", // Execution message
"status": "SUCCESS" // Plugin status (SUCCESS, WARNING, FAILURE)
}
],
"permissions": [ // Permissions available to the current user
],
"title": "Sample Package", // Title of the package
"searchcolumns": { // Key Value pairs of all the columns from search config
"hr-doc:category": "Contract",
"hr-doc:expiryDate": "2025-11-05T23:00:00.000Z",
"hr-doc:department": "CSS",
"hr-doc:employeeId": "mark.janssens",
"hr-doc:title": "Contract Mark Janssens - 2019-07-13"
},
"metadata": {
// See MetadataSection Schema below
"schema": "exampleSchema", // Metadata schema name
"fields": { // Key-value pairs containing metadata
"key": "value" // Example field
}
},
"representations": [
{
"id": "rep-1", // Unique identifier for the representation
"metadata": {
// See MetadataSection Schema
"schema": "repSchema", // Representation metadata schema name
"fields": {} // Representation metadata fields
},
"data": [
{
"url": "https://example.com/file", // URL for the representation data
"format": "pdf" // Format of the file (e.g., pdf, jpg)
}
]
}
],
"breadcrumb": [
{
"title": "Home", // Breadcrumb title
"packageId": "uuid-home" // Package ID referenced in the breadcrumb
}
]
}
MetadataSection Schema
{
"schema": "exampleSchema", // Name or identifier of the metadata schema
"fields": {
"fieldName": "value" // Arbitrary key-value pairs for metadata fields
}
}
Representation Schema
{
"id": "rep-1", // Unique identifier for the representation
"metadata": {
"schema": "repSchema", // Name or identifier for the representation metadata schema
"fields": {
"field": "value" // Representation metadata field
}
},
"data": [
{
"url": "https://example.com/file", // URL of the representation data
"format": "pdf" // Format of the file (e.g., pdf, jpg)
}
]
}
Breadcrumb Schema
{
"title": "Sample Breadcrumb", // Title for the breadcrumb navigation element
"packageId": "uuid-breadcrumb" // Associated package identifier
}
SearchConfig Schema
{
"name": "defaultSearch", // Name of the search configuration
"limit": "100", // Limit for the search results
"offset": "0", // Offset for search results
"columns": [
{
"xpath": "field1", // Key used to identify the column in the search results
"label": "Field 1", // Human-readable label for the column
"dataType": "string", // Data type for the column (string, number, boolean, date, datetime, object)
"sortable": true, // Indicates if the column is sortable
"hidden": false, // Indicates if the column should be hidden in the UI
"visibleByDefault": true // Indicates if the column should be visible by default in the UI ( useful if you have a column selector )
}
],
"filters": [
{
"filterName": "name", // Key used to identify the filter ( this is what you should use in the search api )
"filterMinName": "min_name" // Key used as an identifier for the filter's min value ( only applicable when the Operator is "BETWEEN" )
"filterMaxName": "max_name". // Key used as an identifier for the filter's max value ( only applicable when the Operator is "BETWEEN" )
"fields": [ // Columns this filter applies to
"field1", "field2"
],
"label": "label1", // Label for UI
"dataType": "string", // Possible Values : string, integer, decimal, date, datetime, boolean
"operator": "FULLTEXT" // Possible Values : FULLTEXT, LIKE, ILIKE, EQ, GT, GTEQ, LT, LTEQ, BETWEEN, AGGREGATE
},
...
]
}
ErrorResponse Schema
{
"code": "ERROR_CODE", // A short code identifying the error
"message": "Error description"// A detailed description of the error
}