Skip to main content
Skip table of contents

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

CODE
GET /aip/{packageId}

Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes

enrichers

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.

VALUES: pluginreports, permissions, metadata, breadcrumb

string[]

No

Path Parameters

Name

Description

Type

Required

packageId

Path parameter; unique ID of the package to retrieve

string

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

CODE
GET /fileplan

Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes

enrichers

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.

VALUES: pluginreports, permissions, metadata, breadcrumb

string[]

No

Query Parameters

Name

Description

Default

Type

Required

page

Page number for pagination

0

integer

No

pageSize

Number of items per page

100

integer

No

Response


3. List Subpackages for a Package

Description
Lists all subpackages for a given package ID from the file plan.

Request

CODE
GET /fileplan/{packageId}

Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes

enrichers

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.

VALUES: pluginreports, permissions, metadata, breadcrumb

string[]

No

Path Parameters

Name

Description

Type

Required

packageId

unique ID of the parent package

string

Yes

Query Parameters

Name

Description

Default

Type

Required

page

Page number for pagination

0

integer

No

pageSize

Number of items per page

100

integer

No

Response

  • 200
    Returns a SearchResponse (an AIPList object) with subpackages details. #AIPList-Schema

  • 404
    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

CODE
GET /search

Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes

Query / Body / Path Parameters
(None)

Response


5. Execute Search

Description
Executes a search operation based on a given search configuration, including pagination and optional enrichers for extra details.

Request

CODE
GET /search/{searchConfig}

Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes

enrichers

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.

VALUES: pluginreports, permissions, metadata, breadcrumb, searchcolumns

string[]

No

Path Parameters

Name

Description

Type

Required

searchConfig

Identifier for the search configuration to be used.

string

Yes

Query Parameters

Name

Description

Default

Type

Required

page

Page number for pagination

0

integer

No

pageSize

Number of items per page

100

integer

No

filter.*

Filters applied using the pattern filter.<fieldName>=<value>. Multiple filter parameters can be added.

See filters in the /search response for details on available field names.

string (value)

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 ( See filters 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 both fieldMinName and fieldMaxName

Example: ?filter.ecm_fulltext=michiel&filter.dc:creator=jsmith

Response


Schemas

AIPList Schema

CODE
{
  "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

CODE
{
  "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

CODE
{
  "schema": "exampleSchema",     // Name or identifier of the metadata schema
  "fields": {
    "fieldName": "value"         // Arbitrary key-value pairs for metadata fields
  }
}

Representation Schema

CODE
{
  "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

CODE
{
  "title": "Sample Breadcrumb",     // Title for the breadcrumb navigation element
  "packageId": "uuid-breadcrumb"    // Associated package identifier
}

SearchConfig Schema

CODE
{
  "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
{
  "code": "ERROR_CODE",         // A short code identifying the error
  "message": "Error description"// A detailed description of the error
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.