Retrieve an annotation
fiskaly SAFE flex (1.2.5)
Download OpenAPI specification:
Imprint: fiskaly.com/impressum
Privacy Policy: fiskaly.com/datenschutz
Service Details: fiskaly.com/
Developer Guide: workspace.fiskaly.com/
The fiskaly SAFE flex service provides a RESTful API.
SAFE flex provides a test environment for integration and testing purposes as well as a dedicated live environment. In order to access the live environment, please contact our sales team.
The fiskaly SAFE flex is a platform-independent and software-only solution. Since this is a cloud-based API, the only requirement to integrate the fiskaly SAFE flex is a stable Internet connection.
SAFE flex API is based on several country-specific requirements in terms of securely archiving data in a tamper-proof manner. The relevant legal documents will be added soon.
The fiskaly SAFE flex service provides a country independent way to perform fiscal archiving in a single API.
To ensure a smooth implementation of SAFE flex API, we highly recommend that you first have a look at our integration guide.
The up-to-date information below is organized in a change log format which is available in the following subscribable feed formats as well: RSS, Atom, and JSON.
1.2.5 [2026-01-23] Bug fixes
- Include Content-Length and Content-Type header in response for single file download
- Fix a bug related to automatic archival
1.2.4 [2025-12-10] Documentation updates and custom identifier pattern with hyphen support
- Updated the product name from SAFE to SAFE flex in the API documentation
- Updated the documentation to reflect the current UUID version in use
- The custom identifier for the archive file endpoint now accepts hyphens (
-)- UUID identifiers can now be used for this field
- Fixed a bug that prevents users to create default system Annotations for the Automatic Archival feature
- Minor fixes and improvements
1.2.3 [2025-11-06] Automatic Archival Monitoring Fixes
- Fixed a minor internal bug that prevented the Automatic Archival Monitoring from being executed
1.2.2 [2025-11-05] Automatic Archival Improvements
- Added monitoring to the Automatic Archival feature
- Increased the number of annotations that a tenant can create to 40 in
PROD-TEST - Fixed a bug that caused the Automatic Archival feature to fetch all products regardless of the configuration
- Minor fixes and improvements
1.2.1 [2025-10-22] Automatic Archival Improvements
- Fixed a bug that caused the
createAnnotationoperation count the default annotations created by the Automatic Archival in the check of the number of annotations created by a tenant, causing the operation to fail if the combination of number of customer created annotations and automatic archival annotations exceeded the maximum limit of annotations per tenant - Fixed a bug that caused the enabling of the Automatic Archival feature to fail if the tenant reached the maximum limit of annotations that can create
1.2.0 [2025-10-20] Automatic Archival
- Introduced automatic archival functionality
- Removed the requirement for
Configurationto be set before start using the service
1.1.0 [2025-08-28] File Class
- Added optional
classfield toarchiveFileoperation. If not providedOTHERwill be set as a default class for this file, keeping compatibility with previous API versions- All responses containing a
Fileresource will return this new field as well
- All responses containing a
1.0.7 [2025-08-27] System Improvements
- Internal improvements
1.0.6 [2025-08-27] Performance Improvements
- Improves performance of search query execution
1.0.5 [2025-08-07] Internal Improvements
- Improvements to system stability
1.0.4 [2025-07-09] Internal Improvements
- Enhanced future integration with internal services
1.0.3 [2025-07-08] Bug Fixing
- Fixed a bug that caused the service not to startup when running the migrations
1.0.2 [2025-07-07] Internal Improvements
- Improved operational stability of search and export processing
- Fixed a bug that caused error
500when downloading several files at the same time
1.0.1 [2025-07-01] Internal Improvements
- Enhanced system monitoring
1.0.0 [2025-05-20] Initial Release
- Introduce Slovakia to
updateConfigurationoperation
0.7.1 [2025-05-05]
- Fix 500 error when archiving files with annotations that include an extra property alongside a string array property
- Fix 500 error when retrieving files without data for non-required annotation properties
- Improve the performance of the processing of a
SearchQuery
0.7.0 [2025-04-16]
- Limit the number of
Annotationresources that can be created from a Tenant
0.6.2 [2025-04-08]
- Increase the limit to permit up to 10 annotations when archiving a file through the
archiveFileendpoint. - The file retrieval by custom identifier endpoint (
retrieveFilesWithQuery) now returns a paginated set of files
0.6.1 [2025-04-02] Include Results From Fixes
- Fixed a bug that caused list operations to return global's results when no
include_results_fromparameter is included
0.6.0 [2025-03-26] Include Results Option
- From now on list operations will have an optional query parameter
include_results_fromthat can be of two values:subtreewill return current scope's results and subtree's results that are authorized to do soglobalwill return the whole tenant's results of those nodes that are authorized to do so
- Updated the behavior of the export creation endpoint: If any of the specified files does not exist, the endpoint now returns a
404 Not Founderror
0.5.3 [2025-03-17] Fixes and improvements
- Updated list operations to return resources owned by the current scope identifier set within the request.
- Fixed a
500error being returned when invoking thecreateExportendpoint withFileidentifiers that belong to a different Tenant. Now a404 Not Founderror is returned. - Fixed a
500error being returned when invoking thedownloadFileendpoint with an unexistingFileidentifier.
0.5.2 [2025-03-06] Fixes and improvements
- Added CORS configuration that allows the
Serviceto be fetch from any origin - Fixed a bug that prevent the
createConfigurationoperation to check user's authorization - Renamed several
AuditLogoperation identifiers:Filefile-archived→file-created
Exportmulti-file-export-triggered→export-triggeredmulti-file-export-downloaded→export-downloaded
SearchQuerysearch-query-status-viewed→search-query-viewedsearch-query-results-viewed→search-query-results-listed
Configurationconfiguration-changed→configuration-updated
AuditLogtimestamp-acquired→audit-log-timestamp-createdaudit-logs-downloaded→audit-log-results-listed
0.5.1-hf0 [2025-03-05] Hotfix
- Fixed a bug in the
archiveFileoperation that made anAnnotationbeing unable to be fetched
0.5.1 [2025-02-27] Fixes and improvements
createConfigurationandretrieveConfigurationoperations have been fixed so they can useX-Scope-Identifierheader
0.5.0 [2025-02-18] Scope identifier header, custom file identifier, idempotency implementation and POST endpoints
- Allows passing a scope identifier representing the current scope under which an operation shall be performed using the
X-Scope-Identifierheader - Custom file identifier:
- Add a custom file identifier field to the file creation endpoint
- Add a
retrieveFileWithQueryendpoint that allows to retrieve a file by its custom file identifier
- Implement idempotency based on the new
X-Idempotency-Keyheader, which is required in resources creation endpoints but the file upload one - Modify PUT endpoints that require unique identifiers to use POST instead, with autogenerated identifiers
0.4.2 [2025-02-17] Internal server fix
- Fix for error 500 arising when using the operations
createAnnotationandarchiveFile
0.4.1 [2025-02-12] Fix OpenAPI specification rendering
- Fixed a bug that caused the OpenAPI specification to not be rendered
0.4.0 [2025-02-10] String Array Annotation Property Type
- Fixed a bug that caused
archiveFileoperation to fail with a500 Internal Server Errorwhen trying to archive aFilewith anAnnotationproperty that does not exist within itsAnnotationSchema - The
createAnnotationandarchiveFileoperation now support string array property types- When creating an
Annotationa newstring_arrayproperty type can be selected now - Only array of strings will be handled when archiving a
Filewith anAnnotationdata property of this type
- When creating an
- The
createSearchoperation now supports array contains expressions- A new
CONTAINSoperator has been introduced CONTAINSoperator shall only be used for array operands
- A new
0.3.1 [2025-01-24] Fixes and Improvements
- The
createAnnotationrequest schema now requires at least 1 property and allows a maximum of 15 properties. - The
archiveFilerequest schema restricts now to a maximum of 5 annotations, with each annotation having up to 15 properties. - The following fields have been changed to consistently use snake case everywhere:
AnnotationPropertyStringmaxLengthandminLengthare nowmax_lengthandmin_lengthAnnotationPropertyIntegerandAnnotationPropertyDateTimeminValueandmaxValueare nowmin_valueandmax_value
- Several OAS examples have been changed to be so they are displayed in snake case
- The
createConfigurationandretrieveConfigurationoperations are now usingcontentwrapper at the top level in their responses - List operation responses are not wrapped in content anymore and the items in the results array are wrapped in a
contentobject
0.3.0 [2025-01-10] Internal Improvements
createSearchQueryoperation now returns a400 Bad Requesterror when setting a danglinglogical_operatorwhen writing the query- Authorization and Authentication operations now handles the response more precisely:
- Errors now return more meaningful messages
- Return a
409 Conflicterror whenarchiveFileoperation is triggered with aFileidentifier that already exists in the system Annotationoperations are being audited nowSearchQueryoperations are being audited nowConfigurationoperations are being audited now- Fixed a bug that caused
archiveFileoperation to fail with a500 Internal Server Errorinstead of a400 Bad RequestwhenFile's annotation data was incorrect for these scenarios- Missing a required property
- Using a value out of range when using
minValueandmaxValuefor an integer property type - Using a value out of range when using
minLengthandmaxlengthfor a string property type
- Fixed a bug that caused
archiveFileoperation to fail with a500 Internal Server Errorinstead of a404 Not Foundwhen aConfigurationis not set for the currentScope - Fixed a bug that cause
createAnnotationoperation to fail with a500 Internal Server Errorinstead of a409 Resource Conflictwhen theidentifieralready exists
The fiskaly SAFE flex follows Semantic Versioning.
The version number has a pattern of MAJOR.MINOR.PATCH.
We increment the
MAJORversion when we make incompatible API changes,MINORversion when we add functionality in a backwards-compatible manner, andPATCHversion when we make backwards-compatible bug fixes.
Idempotency ensures that identical requests produce the same result, even when retried due to network issues, timeouts, or other transient failures. This prevents duplicate resource creation or unintended side effects in APIs handling requests.
The X-Idempotency-Key HTTP header, used in this API, follows the Internet Engineering Task Force (IETF) idempotency specification. It allows clients to uniquely identify requests, enabling the API to track and manage their outcomes across retries.
Key Usage
- The
X-Idempotency-Keyis recommended to be a unique, case-insensitive UUID generated by the client for each idempotent request. - This key is required for all
POSTandPUTrequests, except for the following cases (as of now, subject to change):- The
POSTauthentication endpoint - The
POSTfile upload endpoint
- The
- It is ignored for all
GETrequests.
Idempotency Mechanism
The API caches X-Idempotency-Key values along with their associated processing status, request payload and response. These cached key-value pairs expire 24 hours after creation.
If the API receives a request with the same HTTP method, payload, and X-Idempotency-Key as a previous request, it returns the cached response rather than reprocessing the request. If the HTTP method or payload differs from the cached values, the API responds with a 422 Unprocessable Content error. If the original request is still in progress, the API responds with a 409 Conflict error.
The FAQs of SAFE flex are provided at the fiskaly support page.
We have a Postman collection available for testing, which will soon be published in this section. If you would like to start testing now, please contact us at dev-support@fiskaly.com, and we will send you the Postman collection directly.
The fiskaly APIs use a JWT based security mechanism to authenticate API requests.
API requests without authentication will fail with an unauthorized access HTTP error.
The fiskaly APIs process only https based request.
Plain http based requests are redirected to https.
A JSON Web Token (JWT) used for access control and authorization. The JWT can be obtained through a retrieve authentication token API request.
Retrieve access token
To access a fiskaly API, you need to have a valid JWT access_token.
This endpoint creates the access token with your api_key and api_secret.
If you do not have an api_key, you can create one via Management API endpoint createApiKey or the fiskaly dashboard.
The api_secret will be generated for you after you create the api_key.
The access_token token must be sent with every following request in the Authorization header field using the Bearer authentication scheme.
See details here.
Request Body schema: application/jsonrequired
required | ApiKeySecretAuthentication (object) or RefreshTokenAuthentication (object) |
Responses
Request samples
- Payload
{- "content": {
- "api_key": "string",
- "api_secret": "string",
- "scope_id": "1c81cb86-c2e8-4074-afc3-a0601b2bf063"
}
}Response samples
- 200
- 400
- 401
- 500
{- "content": {
- "access_token": {
- "bearer": "string",
- "expires_at": 1577833200,
- "expires_in": 1577833200
}, - "refresh_token": {
- "bearer": "string",
- "expires_at": 1577833200,
- "expires_in": 1577833200
}, - "claims": {
- "scope_id": "2454c79a-ba52-4cc8-96d1-f30eb762328e",
- "tenant_id": "1c81cb86-c2e8-4074-afc3-a0601b2bf063",
- "environment": "TEST"
}
}
}Download a file's data for a custom country
This endpoint is used to download a File through a stream using its identifier or custom identifier.
path Parameters
| internal_file_identifier required | string non-empty Internal file identifier. It can represent either the file identifier or the custom identifier provided when archived. Custom identifiers must be encoded in Base64 (as defined RFC 4648). |
query Parameters
| offset | integer <int64> >= 0 Default: 0 |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 401
- 404
- 500
{- "content": {
- "status": 401,
- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation."
}
}Archive a file
This endpoint is used to archive a file.
The request is a multi-part form data submission, where the first part must include archive_file_request with the file details, and the second part must contain the file itself.
Authorizations:
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Request Body schema: multipart/form-datarequired
required | object (ArchiveFileRequest) File information |
| file required | any (File) Octet-stream file |
Responses
Response samples
- 200
- 400
- 401
- 409
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "name": "my_file.pdf",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "download_url": "string",
- "archived_at": "2019-08-24T14:15:22Z",
- "retention_period_days": 365,
- "expires_at": "2019-08-24",
- "storage_type": "COLD",
- "size_bytes": 1048576,
- "mime_type": "application/xml",
- "created_at": "2019-08-24T14:15:22Z",
- "annotations": [
- {
- "name": "my_annotation_name",
- "properties": {
- "my_property_1": "my property string",
- "my_property_2": 123,
- "my_property_3": "2017-07-21T17:32:28Z",
- "my_property_4": [
- "my",
- "string",
- "array"
]
}
}
], - "custom_identifier": "string",
- "file_checksum": "string",
- "class": "TSS_EXPORT",
- "integrity": {
- "type": "FR",
- "data": {
- "jws": "string"
}
}
}
}Retrieves files using a query
This endpoint is used to retrieve all files that match a query and are accessible based on permissions.
Authorizations:
query Parameters
| custom_identifier required | string <base64> non-empty Customer internal file identifier. Encoded in Base64 (as defined RFC 4648) |
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| include_results_from | string Enum: "subtree" "global" Specifies the level of the tree to include the results from |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "results": [
- {
- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "name": "my_file.pdf",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "download_url": "string",
- "archived_at": "2019-08-24T14:15:22Z",
- "retention_period_days": 365,
- "expires_at": "2019-08-24",
- "storage_type": "COLD",
- "size_bytes": 1048576,
- "mime_type": "application/xml",
- "created_at": "2019-08-24T14:15:22Z",
- "annotations": [
- {
- "name": "my_annotation_name",
- "properties": {
- "my_property_1": "my property string",
- "my_property_2": 123,
- "my_property_3": "2017-07-21T17:32:28Z",
- "my_property_4": [
- "my",
- "string",
- "array"
]
}
}
], - "custom_identifier": "string",
- "file_checksum": "string",
- "class": "TSS_EXPORT",
- "integrity": {
- "type": "FR",
- "data": {
- "jws": "string"
}
}
}
}
], - "pagination": {
- "next": "string",
- "token": "string",
- "limit": 10
}
}Retrieve a File resource
This endpoint is used to retrieve information about a File using its identifier.
Authorizations:
path Parameters
| file_id required | string <uuid> (FileIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a file resource by using a randomized UUIDv7 format. |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "name": "my_file.pdf",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "download_url": "string",
- "archived_at": "2019-08-24T14:15:22Z",
- "retention_period_days": 365,
- "expires_at": "2019-08-24",
- "storage_type": "COLD",
- "size_bytes": 1048576,
- "mime_type": "application/xml",
- "created_at": "2019-08-24T14:15:22Z",
- "annotations": [
- {
- "name": "my_annotation_name",
- "properties": {
- "my_property_1": "my property string",
- "my_property_2": 123,
- "my_property_3": "2017-07-21T17:32:28Z",
- "my_property_4": [
- "my",
- "string",
- "array"
]
}
}
], - "custom_identifier": "string",
- "file_checksum": "string",
- "class": "TSS_EXPORT",
- "integrity": {
- "type": "FR",
- "data": {
- "jws": "string"
}
}
}
}Download a file's data
This endpoint is used to download a file through a stream using its identifier.
Authorizations:
path Parameters
| file_id required | string <uuid> (FileIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a file resource by using a randomized UUIDv7 format. |
query Parameters
| offset | integer <int64> >= 0 Default: 0 |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 401
- 404
- 500
{- "content": {
- "status": 401,
- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation."
}
}Retrieve annotations
This endpoint is used to retrieve all annotations that are accessible based on permissions.
Authorizations:
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| include_results_from | string Enum: "subtree" "global" Specifies the level of the tree to include the results from |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 401
- 500
{- "results": [
- {
- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "name": "my_annotation_name",
- "properties": [
- {
- "name": "my_property",
- "display_name": "my_display_name",
- "type": "string",
- "min_length": 0,
- "max_length": 0,
- "required": true,
- "description": "example_description"
}
]
}
}
], - "pagination": {
- "next": "string",
- "token": "string",
- "limit": 10
}
}Create an annotation
This endpoint is used to create an annotation. The limit of annotations that a tenant can have is 20 by default.
Authorizations:
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
| X-Idempotency-Key required | string A unique identifier for the request to ensure idempotency. This key must be unique for each new request but must be reused when retrying the same operation. Using a UUID is recommended. |
Request Body schema: application/jsonrequired
required | object (CreateAnnotationContent) |
Responses
Request samples
- Payload
{- "content": {
- "name": "my_annotation_name",
- "properties": [
- {
- "name": "my_property",
- "display_name": "my_display_name",
- "type": "string",
- "min_length": 0,
- "max_length": 0,
- "required": true,
- "description": "example_description"
}
]
}
}Response samples
- 200
- 400
- 401
- 409
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "name": "my_annotation_name",
- "properties": [
- {
- "name": "my_property",
- "display_name": "my_display_name",
- "type": "string",
- "min_length": 0,
- "max_length": 0,
- "required": true,
- "description": "example_description"
}
]
}
}Retrieve an annotation
This endpoint is used to retrieve information about an Annotation using its identifier.
Authorizations:
path Parameters
| annotation_id required | string <uuid> (AnnotationIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies an annotation resource by using a randomized UUIDv7 format. |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 400
- 401
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "name": "my_annotation_name",
- "properties": [
- {
- "name": "my_property",
- "display_name": "my_display_name",
- "type": "string",
- "min_length": 0,
- "max_length": 0,
- "required": true,
- "description": "example_description"
}
]
}
}Create a Configuration
This endpoint creates a Configuration resource specific to the request scope. A Configuration must be created before accessing other endpoints of this API with the same scope.
Authorizations:
header Parameters
| X-Idempotency-Key required | string A unique identifier for the request to ensure idempotency. This key must be unique for each new request but must be reused when retrying the same operation. Using a UUID is recommended. |
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Request Body schema: application/jsonrequired
Request body to create a Configuration
required | object (CreateConfigurationContent) |
Responses
Request samples
- Payload
{- "content": {
- "configuration": {
- "country_code": "AT"
}
}
}Response samples
- 200
- 400
- 401
- 500
{- "content": {
- "country_code": "AT"
}
}Retrieve a Configuration
This endpoint returns a Configuration.
Authorizations:
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "content": {
- "country_code": "AT"
}
}Search files
This endpoint is used to generate a Search using a query to retrieve all matching files accessible based on permissions. The search will be processed asynchronously. Searchs are initially created with their state set to PENDING. The state of an search can be checked using the search retrieval endpoint before retrieving its results via the search results retrieval endpoint.
Authorizations:
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
| X-Idempotency-Key required | string A unique identifier for the request to ensure idempotency. This key must be unique for each new request but must be reused when retrying the same operation. Using a UUID is recommended. |
Request Body schema: application/jsonrequired
required | object (SearchContent) An array of query arguments, which are all connected via a logical operator. The last element must not have a logical operator. |
Responses
Request samples
- Payload
{- "content": {
- "query": [
- {
- "a": "annotation.another_annotation_property",
- "operator": "=",
- "b": 1,
- "logical_operator": "AND"
}, - {
- "a": "annotation.another_annotation_property2",
- "operator": "=",
- "b": 2
}
]
}
}Response samples
- 200
- 400
- 401
- 409
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
}
}Retrieve the details of a SearchQuery
This endpoint retrieves the information details of a SearchQuery, including its state
Authorizations:
path Parameters
| search_query_id required | string <uuid> (SearchQueryIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "state": "PENDING",
- "pending_at": "2021-12-30T10:00:00.123z",
- "processing_at": "2021-12-30T10:00:00.123z",
- "processed_at": "2021-12-30T10:00:00.123z",
- "expires_at": "2021-12-30T10:00:00.123z"
}
}Retrieve the results of a `SearchQuery`
This endpoint is used to retrieve the results of a Search. If the search is in any state other than PROCESSED it will return an error.
Authorizations:
path Parameters
| search_query_id required | string <uuid> (SearchQueryIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a |
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
| include_results_from | string Enum: "subtree" "global" Specifies the level of the tree to include the results from |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "results": [
- {
- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "name": "my_file.pdf",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "download_url": "string",
- "archived_at": "2019-08-24T14:15:22Z",
- "retention_period_days": 365,
- "expires_at": "2019-08-24",
- "storage_type": "COLD",
- "size_bytes": 1048576,
- "mime_type": "application/xml",
- "created_at": "2019-08-24T14:15:22Z",
- "annotations": [
- {
- "name": "my_annotation_name",
- "properties": {
- "my_property_1": "my property string",
- "my_property_2": 123,
- "my_property_3": "2017-07-21T17:32:28Z",
- "my_property_4": [
- "my",
- "string",
- "array"
]
}
}
], - "custom_identifier": "string",
- "file_checksum": "string",
- "class": "TSS_EXPORT",
- "integrity": {
- "type": "FR",
- "data": {
- "jws": "string"
}
}
}
}
], - "pagination": {
- "next": "string",
- "token": "string",
- "limit": 10
}
}Create an Export
This endpoint is used to generate an export that will be processed asynchronously.
Exports are initially created with their state set to PENDING. The state of an export can be checked using the export retrieval endpoint before downloading it via the export downloading endpoint.
Authorizations:
query Parameters
| include_results_from | string Enum: "subtree" "global" Specifies the level of the tree to include the results from |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
| X-Idempotency-Key required | string A unique identifier for the request to ensure idempotency. This key must be unique for each new request but must be reused when retrying the same operation. Using a UUID is recommended. |
Request Body schema: application/jsonrequired
Request body to create an Export
required | object (CreateExportContent) |
Responses
Request samples
- Payload
{- "content": {
- "file_identifiers": [
- "0195ccdc-9045-74a8-84da-ce019dbeb3934"
], - "archive_type": "application/zip"
}
}Response samples
- 200
- 400
- 401
- 409
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "file_identifiers": [
- "0195ccdc-9045-74a8-84da-ce019dbeb3934"
], - "archive_type": "application/zip",
- "state": "PENDING",
- "pending_at": "2021-12-30T10:00:00.123z",
- "processing_at": "2021-12-30T10:00:00.123z",
- "processed_at": "2021-12-30T10:00:00.123z",
- "failed_at": "2021-12-30T10:00:00.123z"
}
}Retrieve an export
This endpoint is used to retrieve information about an Export using its identifier.
Authorizations:
path Parameters
| export_id required | string <uuid> (ExportIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a export resource by using a randomized UUIDv7 format. |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "content": {
- "identifier": "0195ccdc-9045-74a8-84da-ce019dbeb3934",
- "owned_by": "357d5363-b1ba-450c-abab-fc95cb1b39d4",
- "file_identifiers": [
- "0195ccdc-9045-74a8-84da-ce019dbeb3934"
], - "archive_type": "application/zip",
- "state": "PENDING",
- "pending_at": "2021-12-30T10:00:00.123z",
- "processing_at": "2021-12-30T10:00:00.123z",
- "processed_at": "2021-12-30T10:00:00.123z",
- "failed_at": "2021-12-30T10:00:00.123z"
}
}Download an export's data
This endpoint is used to download an export. If the export is in any state other than PROCESSED it will return an error.
Authorizations:
path Parameters
| export_id required | string <uuid> (ExportIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?7[a-f0-9]{3}-?[a-f0... Example: 0189f7ea-ae2c-7809-8aeb-b819cf5e9e7f Uniquely identifies a export resource by using a randomized UUIDv7 format. |
query Parameters
| offset | integer <int64> >= 0 Default: 0 |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 401
- 404
- 500
{- "content": {
- "status": 401,
- "code": "E_UNAUTHORIZED_ACCESS",
- "error": "Unauthorized Access",
- "message": "Not authorized to perform this operation."
}
}Audit log
This endpoint is used to retrieve the audit logs for the request scope
Authorizations:
query Parameters
| limit | integer (PaginationLimit) [ 1 .. 100 ] Default: 10 Represents the pagination limit of the results set of a listing endpoint. |
| token | string (PaginationToken) <= 1024 characters ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-... Represents the pagination token, which is used as an index pointer to the next page relative to the current page in Base64 encoding. |
header Parameters
| X-Scope-Identifier | string <uuid> (ScopeIdentifier) [a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab... Example: 1c81cb86-c2e8-4074-afc3-a0601b2bf063 Allows passing a scope identifier representing the current scope under which an operation shall be performed |
Responses
Response samples
- 200
- 401
- 500
{- "results": [
- {
- "content": {
- "number": 35,
- "operation_identifier": "file-created",
- "operation_timestamp": "2021-12-30T10:00:00.123z",
- "previous_hash": "50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c",
- "current_hash": "50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c",
- "hash_algorithm": "SHA3-512",
- "user_identifier": "1c81cb86-c2e8-4074-afc3-a0601b2bf063",
- "event": { }
}
}
], - "pagination": {
- "next": "string",
- "token": "string",
- "limit": 10
}
}Was this page helpful?