Data export API (v1)

Data export API

postDataExport

Starts the export process

Request Body schema: application/json
required
fileDefinitionId
required
string <uuid>

File definition id

jobProfileId
required
string <uuid>

Related Job profile id

recordType
string
Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY"

Defines a type of records to search by criteria or UUIDs

idType
required
string
Default: "instance"
Enum: "instance" "holding" "authority"

Type of provided uuids

all
boolean
Default: false

True if all IDs of idType need to be exported, otherwise false

quick
boolean
Default: false

True if quick export, otherwise false

deletedRecords
boolean
Default: true

True if need to include deleted records, otherwise false

suppressedFromDiscovery
boolean
Default: false

True if need to include suppressed from discovery records, otherwise false

lastSlice
boolean
Default: false

True if within the current export the current slice from ID to ID is the last one

lastExport
boolean
Default: false

True the current export is the last one

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "fileDefinitionId": "e5f54eb6-6d11-11ea-bc55-0242ac130003",
  • "jobProfileId": "2fd2bf30-9d03-4f7e-9393-df55eaef2c2f",
  • "idType": "instance",
  • "recordType": "INSTANCE",
  • "metadata": {
    }
}

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

postDataExportConfiguration

Adds configuration value

Request Body schema: application/json
required
key
string

Unique name of config data

value
string

Value of config data

Responses

Request samples

Content type
application/json
{
  • "key": "slice_size",
  • "value": "100000"
}

Response samples

Content type
application/json
{
  • "key": "slice_size",
  • "value": "100000"
}

postDataExportQuickExport

Starts quick export process

Request Body schema: application/json
required
jobProfileId
string <uuid>

Job profile id to be used for export

criteria
string

CQL query for records search

uuids
Array of strings <uuid> [ items <uuid > ]

List of UUIDs of records to export

type
required
string
Enum: "cql" "uuid"

Defines a type of searching the records: by UUIDs or CQL query

recordType
required
string
Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY"

Defines a type of records to search by criteria or UUIDs

fileName
string

Name of the generated marc file

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "jobProfileId": "2fd2bf30-9d03-4f7e-9393-df55eaef2c2f",
  • "criteria": "(source==\"MARC\" and discoverySuppress==\"true\")",
  • "uuids": [ ],
  • "type": "cql",
  • "recordType": "INSTANCE",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "jobExecutionId": "5696d7aa-3bae-11eb-adc1-0242ac120002",
  • "jobExecutionHrId": 1
}

getJobExecutionsByQuery

API for getting JobExecutions by query

query Parameters
query
string

A query string to filter rules based on matching criteria in fields.

offset
integer [ 0 .. 2147483647 ]
Default: 0

Skip over a number of elements by specifying an offset value for the query

limit
integer [ 0 .. 2147483647 ]
Default: 10

Limit the number of elements returned in the response

Responses

Response samples

Content type
application/json
{
  • "jobExecutions": [
    ],
  • "totalRecords": 1
}

deleteJobExecutionById

Delete a specific job execution

path Parameters
jobExecutionId
required
string <uuid> (uuid)

Responses

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

getLinkToDownloadFiles

API for getting the link to download files

path Parameters
jobExecutionId
required
string <uuid> (uuid)
exportFileId
required
string <uuid> (uuid)

Responses

postExpireJobExecution

Method to expire long running jobs

Responses

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

postCleanUpFiles

API to start clean up mechanism of file definitions and related generated files

Responses

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

getTransformationFields

API for getting transformation fields

Responses

Response samples

Content type
application/json
{
  • "transformationFields": [
    ],
  • "totalRecords": 1
}

getMappingProfiles

API for getting mapping profiles

query Parameters
query
string

A query string to filter rules based on matching criteria in fields.

offset
integer [ 0 .. 2147483647 ]
Default: 0

Skip over a number of elements by specifying an offset value for the query

limit
integer [ 0 .. 2147483647 ]
Default: 10

Limit the number of elements returned in the response

Responses

Response samples

Content type
application/json
{
  • "mappingProfiles": [
    ],
  • "totalRecords": 1
}

postMappingProfile

API for uploading mapping profiles

Request Body schema: application/json
required
id
string <uuid>

Unique identifier

name
required
string

Mapping Profile name

default
boolean
Default: false

Is default mapping profile

description
string

Mapping Profile description

recordTypes
required
Array of strings (recordTypes)
Items Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY" "SRS"

Mapping Profile records type

Array of objects (transformations)

List of mapping profile transformations

Array
fieldId
required
string

Field identifier

path
string

JSON path to set mapped value

enabled
boolean
Default: false

Indicates whether field should be mapped

transformation
string

Mapping expression

recordType
required
string (recordTypes)
Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY" "SRS"

Enum of entity (record) types

object

Additional parameters used for mapping

object (userInfo)

User information

firstName
string

User first name

lastName
string

User last name

userName
string

User name (nickname)

outputFormat
string
Value: "MARC"

Mapping Profile output format

fieldsSuppression
string

Fields to suppress

suppress999ff
boolean
Default: false

Supress 999 field rule

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "id": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "name": "Mapping profile",
  • "description": "Mapping profile description",
  • "recordTypes": [
    ],
  • "outputFormat": "MARC",
  • "transformations": [
    ],
  • "userInfo": {
    },
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "id": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "name": "Mapping profile",
  • "description": "Mapping profile description",
  • "recordTypes": [
    ],
  • "outputFormat": "MARC",
  • "transformations": [
    ],
  • "userInfo": {
    },
  • "metadata": {
    }
}

getMappingProfileById

Get specific mapping profile

path Parameters
mappingProfileId
required
string <uuid> (uuid)

Responses

Response samples

Content type
application/json
{
  • "id": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "name": "Mapping profile",
  • "description": "Mapping profile description",
  • "recordTypes": [
    ],
  • "outputFormat": "MARC",
  • "transformations": [
    ],
  • "userInfo": {
    },
  • "metadata": {
    }
}

putMappingProfile

Update specific mapping profile

path Parameters
mappingProfileId
required
string <uuid> (uuid)
Request Body schema: application/json
required
id
string <uuid>

Unique identifier

name
required
string

Mapping Profile name

default
boolean
Default: false

Is default mapping profile

description
string

Mapping Profile description

recordTypes
required
Array of strings (recordTypes)
Items Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY" "SRS"

Mapping Profile records type

Array of objects (transformations)

List of mapping profile transformations

Array
fieldId
required
string

Field identifier

path
string

JSON path to set mapped value

enabled
boolean
Default: false

Indicates whether field should be mapped

transformation
string

Mapping expression

recordType
required
string (recordTypes)
Enum: "INSTANCE" "HOLDINGS" "ITEM" "AUTHORITY" "SRS"

Enum of entity (record) types

object

Additional parameters used for mapping

object (userInfo)

User information

firstName
string

User first name

lastName
string

User last name

userName
string

User name (nickname)

outputFormat
string
Value: "MARC"

Mapping Profile output format

fieldsSuppression
string

Fields to suppress

suppress999ff
boolean
Default: false

Supress 999 field rule

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "id": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "name": "Mapping profile",
  • "description": "Mapping profile description",
  • "recordTypes": [
    ],
  • "outputFormat": "MARC",
  • "transformations": [
    ],
  • "userInfo": {
    },
  • "metadata": {
    }
}

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

deleteMappingProfileById

Delete specific mapping profile

path Parameters
mappingProfileId
required
string <uuid> (uuid)

Responses

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

getErrorLogsByQuery

APIs supporting Error logs

query Parameters
query
string

A query string to filter rules based on matching criteria in fields.

offset
integer [ 0 .. 2147483647 ]
Default: 0

Skip over a number of elements by specifying an offset value for the query

limit
integer [ 0 .. 2147483647 ]
Default: 10

Limit the number of elements returned in the response

Responses

Response samples

Content type
application/json
{
  • "errorLogs": [
    ],
  • "totalRecords": "1"
}

getJobProfiles

API for getting job profiles

query Parameters
used
boolean
Default: false

true if need already used profiles

query
string

A query string to filter rules based on matching criteria in fields.

offset
integer [ 0 .. 2147483647 ]
Default: 0

Skip over a number of elements by specifying an offset value for the query

limit
integer [ 0 .. 2147483647 ]
Default: 10

Limit the number of elements returned in the response

Responses

Response samples

Content type
application/json
{
  • "jobProfiles": [
    ],
  • "totalRecords": 1
}

postJobProfile

API for uploading job profiles

Request Body schema: application/json
required
id
string <uuid>

Unique identifier

name
required
string

Job Profile name

default
boolean
Default: false

Is default job profile

destination
string

Final destination place where to send file

description
string

Job Profile description

object (userInfo)

User information

firstName
string

User first name

lastName
string

User last name

userName
string

User name (nickname)

mappingProfileId
required
string <uuid>

Associated mapping profile id

object (protocol)

TCP/IP

name
string

TCP/IP name

host
string

The host

port
string

The port

authentication
string

The authentication

description
string

The description

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
  • "name": "job profile name",
  • "destination": "fileSystem",
  • "description": "Job profile description",
  • "userInfo": {
    },
  • "mappingProfileId": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
  • "name": "job profile name",
  • "destination": "fileSystem",
  • "description": "Job profile description",
  • "userInfo": {
    },
  • "mappingProfileId": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "metadata": {
    }
}

getJobProfileById

Get specific job profile

path Parameters
jobProfileId
required
string <uuid> (uuid)

Responses

Response samples

Content type
application/json
{
  • "id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
  • "name": "job profile name",
  • "destination": "fileSystem",
  • "description": "Job profile description",
  • "userInfo": {
    },
  • "mappingProfileId": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "metadata": {
    }
}

putJobProfile

Update specific job profile

path Parameters
jobProfileId
required
string <uuid> (uuid)
Request Body schema: application/json
required
id
string <uuid>

Unique identifier

name
required
string

Job Profile name

default
boolean
Default: false

Is default job profile

destination
string

Final destination place where to send file

description
string

Job Profile description

object (userInfo)

User information

firstName
string

User first name

lastName
string

User last name

userName
string

User name (nickname)

mappingProfileId
required
string <uuid>

Associated mapping profile id

object (protocol)

TCP/IP

name
string

TCP/IP name

host
string

The host

port
string

The port

authentication
string

The authentication

description
string

The description

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
  • "name": "job profile name",
  • "destination": "fileSystem",
  • "description": "Job profile description",
  • "userInfo": {
    },
  • "mappingProfileId": "3798f546-7afb-11ea-bc55-0242ac130003",
  • "metadata": {
    }
}

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

deleteJobProfileById

Delete specific job profile

path Parameters
jobProfileId
required
string <uuid> (uuid)

Responses

Response samples

Content type
text/plain
malformed parameter 'query', syntax error at column 6

postFileDefinition

API for uploading files

Request Body schema: application/json
required
id
string <uuid>

UUID of this File Definition

fileName
required
string

File name

jobExecutionId
string <uuid>

Job execution id

sourcePath
string

Path to the file

status
string
Enum: "NEW" "IN_PROGRESS" "COMPLETED" "ERROR"

Status of file upload

size
integer

Size of the file in Kbyte

uploadFormat
string
Default: "csv"
Enum: "csv" "cql"

Format of upload file

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "id": "88dfac11-1caf-4470-9ad1-d533f6360bdd",
  • "fileName": "marc.csv",
  • "status": "COMPLETED",
  • "size": 200,
  • "uploadFormat": "csv",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "id": "88dfac11-1caf-4470-9ad1-d533f6360bdd",
  • "fileName": "marc.csv",
  • "status": "COMPLETED",
  • "size": 200,
  • "uploadFormat": "csv",
  • "metadata": {
    }
}

getFileDefinitionById

Get specific file definition

path Parameters
fileDefinitionId
required
string <uuid> (uuid)

Responses

Response samples

Content type
application/json
{
  • "id": "88dfac11-1caf-4470-9ad1-d533f6360bdd",
  • "fileName": "marc.csv",
  • "status": "COMPLETED",
  • "size": 200,
  • "uploadFormat": "csv",
  • "metadata": {
    }
}

uploadFile

Upload file definition

path Parameters
fileDefinitionId
required
string <uuid> (uuid)
Request Body schema: application/octet-stream
optional
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "88dfac11-1caf-4470-9ad1-d533f6360bdd",
  • "fileName": "marc.csv",
  • "status": "COMPLETED",
  • "size": 200,
  • "uploadFormat": "csv",
  • "metadata": {
    }
}

postExportAll

Export all records of the specific type

Request Body schema: application/json
required
jobProfileId
string <uuid>

Related Job profile id

idType
string
Default: "instance"
Enum: "instance" "holding" "authority"

Type of provided uuids

deletedRecords
boolean
Default: true

True if need to include deleted records, otherwise false

suppressedFromDiscovery
boolean
Default: false

True if need to include suppressed from discovery records, otherwise false

object (Metadata Schema)

Metadata about creation and changes to records, provided by the server (client should not provide)

createdDate
required
string <date-time>

Date and time when the record was created

createdByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who created the record (when available)

createdByUsername
string

Username of the user who created the record (when available)

updatedDate
string <date-time>

Date and time when the record was last updated

updatedByUserId
string^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}...

ID of the user who last updated the record (when available)

updatedByUsername
string

Username of the user who last updated the record (when available)

Responses

Request samples

Content type
application/json
{
  • "jobProfileId": "2fd2bf30-9d03-4f7e-9393-df55eaef2c2f",
  • "idType": "instance",
  • "deletedRecords": true,
  • "suppressedFromDiscovery": false,
  • "metadata": {
    }
}

Response samples

Content type
text/plain
invalid request parameters

getRelatedUsers

Get only users who have ever started export

Responses

Response samples

Content type
application/json
{
  • "relatedUsers": [
    ],
  • "totalRecords": 1
}

postExportDeletedMarcIds

Export of deleted MARC IDs

Request Body schema: application/json
optional
from
string <date>

Starting date to search deleted

to
string <date>

Ending date to search deleted

Responses

Request samples

Content type
application/json
{
  • "from": "2024-04-26",
  • "to": "2024-04-26"
}

Response samples

Content type
application/json
{
  • "jobExecutionId": "5696d7aa-3bae-11eb-adc1-0242ac120002"
}

postExportDeletedAuthority

Export of deleted authority records

Request Body schema: application/json
optional
offset
integer [ 0 .. 2147483647 ]
Default: 0

Skip over a number of elements by specifying an offset value for the query.

limit
integer [ 0 .. 2000 ]
Default: 100

Limit the number of elements returned in the response.

query
string

A query expressed as a CQL string

Responses

Request samples

Content type
application/json
{
  • "offset": "0",
  • "limit": 10,
  • "query": "headingType=personalName&createdDate>2021-10-25T12:00:00.0"
}

Response samples

Content type
application/json
{
  • "jobExecutionId": "5696d7aa-3bae-11eb-adc1-0242ac120002"
}

downloadRecordById

Download single authority or instance record by id

path Parameters
recordId
required
string <uuid> (uuid)
query Parameters
idType
required
string (idType)
Enum: "AUTHORITY" "INSTANCE"

Specifies the type of record to download.

utf
boolean
Default: true

Specify whether to encode the file in UTF-8.

Responses

Response samples

Content type
text/plain
Internal server error