Source Record Storage Source Record API version v2.0
http://localhost
Source Record Storage Source Record API
API for fetching source records
Source Records
API for getting Source Records
Get a list of Source Records
Get a list of Source Records from list of ids
get /source-storage/source-records
Get a list of Source Records
Query Parameters
- recordId: (string)
Filter by Record Id
Example:
876270bc-fbb4-409d-b8b0-3f59b1cb61f2
- snapshotId: (string)
Filter by Snapshot Id
Example:
7a8fbd77-5b2a-496c-93e7-cd04478f4fcc
- externalId: (string)
Filter by external entity Id
Example:
8b07da70-8ea7-4acd-83a0-44d83979c73b
- externalHrid: (string)
Filter by external entity Hrid
Example:
12345
- instanceId: (string)
Filter by Instance Id
Example:
8b07da70-8ea7-4acd-83a0-44d83979c73b
- instanceHrid: (string)
Filter by Instance Hrid
Example:
12345
- holdingsId: (string)
Filter by Holdings Id
Example:
8b07da70-8ea7-4acd-83a0-44d83979c73b
- holdingsHrid: (string)
Filter by Holdings Hrid
Example:
12345
- recordType: required(string - default: MARC_BIB)
Filter by Record Type
Example:
MARC_BIB
- suppressFromDiscovery: (boolean)
Filter by suppress from discovery
Annotations
- ramltojaxrs.types
{"plugins":[{"name":"core.box"}]}
Example:
true
- ramltojaxrs.types
- deleted: required(boolean - default: false)
Filter by records with state ACTUAL OR state DELETED OR leader 05 status d, s, or x
Annotations
- ramltojaxrs.types
{"plugins":[{"name":"core.box"}]}
Example:
true
- ramltojaxrs.types
- leaderRecordStatus: (string - pattern: ^[acdnposx]$)
Filter by MARC leader 05 status
Example:
n
- updatedAfter: (datetime)
Start date to filter after, inclusive
- updatedBefore: (datetime)
End date to filter before, inclusive
- orderBy: (array of )
Sort records
Example:
[ "order,ASC" ]
- totalRecords: (string - default: auto - pattern: exact|estimated|none|auto)
How to calculate the totalRecords property. "exact" for the correct number, "estimated" for an estimation, "auto" to automatically select "exact" or "estimated", "none" for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
none
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Source record DTO",
"type": "object",
"additionalProperties": false,
"properties": {
"sourceRecords": {
"description": "List of Source records",
"type": "array",
"id": "sourceRecordList",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Source record DTO Schema",
"additionalProperties": false,
"properties": {
"recordId": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"snapshotId": {
"description": "Corresponding snapshot id, which is the same as jobExecutionId",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"recordType": {
"description": "Type of record, e.g. MARC",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"MARC_BIB",
"MARC_AUTHORITY",
"MARC_HOLDING",
"EDIFACT"
]
},
"parsedRecord": {
"description": "Parsed record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"content": {
"description": "Parsed record content, e.g. MARC record"
},
"formattedContent": {
"description": "Parsed content represented in human readable form",
"type": "string"
}
},
"excludedFromEqualsAndHashCode": [
"content",
"formattedContent"
],
"required": [
"content"
]
},
"deleted": {
"description": "Flag indicates that the record marked as deleted",
"type": "boolean",
"default": false
},
"order": {
"description": "Order of the record in imported file",
"type": "integer",
"minimum": 0
},
"externalIdsHolder": {
"description": "Container for identifiers of external entities",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"instanceId": {
"description": "instance id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"instanceHrid": {
"description": "instance hrid",
"type": "string"
},
"holdingsId": {
"description": "holdings id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsHrid": {
"description": "holdings hrid",
"type": "string"
},
"authorityId": {
"description": "authority id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"authorityHrid": {
"description": "authority hrid",
"type": "string"
}
}
},
"additionalInfo": {
"description": "Auxiliary data which is not related to MARC type record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"suppressDiscovery": {
"description": "Flag indicates if the record is displayed during a search",
"type": "boolean",
"default": false
}
}
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"recordId",
"snapshotId",
"recordType",
"parsedRecord"
]
}
},
"totalRecords": {
"description": "Total number of Source records",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"sourceRecords",
"totalRecords"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
post /source-storage/source-records
Get a list of Source Records from list of ids
Query Parameters
- idType: required(string - default: RECORD)
Type of id for Record lookup
Example:
INSTANCE
- recordType: required(string - default: MARC_BIB)
Filter by Record Type
Example:
MARC_BIB
- deleted: required(boolean - default: false)
Filter by records with state ACTUAL OR state DELETED OR leader 05 status d, s, or x
Annotations
- ramltojaxrs.types
{"plugins":[{"name":"core.box"}]}
Example:
true
- ramltojaxrs.types
Body
Media type: application/json
Type: array of string
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Source record DTO",
"type": "object",
"additionalProperties": false,
"properties": {
"sourceRecords": {
"description": "List of Source records",
"type": "array",
"id": "sourceRecordList",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Source record DTO Schema",
"additionalProperties": false,
"properties": {
"recordId": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"snapshotId": {
"description": "Corresponding snapshot id, which is the same as jobExecutionId",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"recordType": {
"description": "Type of record, e.g. MARC",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"MARC_BIB",
"MARC_AUTHORITY",
"MARC_HOLDING",
"EDIFACT"
]
},
"parsedRecord": {
"description": "Parsed record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"content": {
"description": "Parsed record content, e.g. MARC record"
},
"formattedContent": {
"description": "Parsed content represented in human readable form",
"type": "string"
}
},
"excludedFromEqualsAndHashCode": [
"content",
"formattedContent"
],
"required": [
"content"
]
},
"deleted": {
"description": "Flag indicates that the record marked as deleted",
"type": "boolean",
"default": false
},
"order": {
"description": "Order of the record in imported file",
"type": "integer",
"minimum": 0
},
"externalIdsHolder": {
"description": "Container for identifiers of external entities",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"instanceId": {
"description": "instance id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"instanceHrid": {
"description": "instance hrid",
"type": "string"
},
"holdingsId": {
"description": "holdings id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsHrid": {
"description": "holdings hrid",
"type": "string"
},
"authorityId": {
"description": "authority id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"authorityHrid": {
"description": "authority hrid",
"type": "string"
}
}
},
"additionalInfo": {
"description": "Auxiliary data which is not related to MARC type record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"suppressDiscovery": {
"description": "Flag indicates if the record is displayed during a search",
"type": "boolean",
"default": false
}
}
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"recordId",
"snapshotId",
"recordType",
"parsedRecord"
]
}
},
"totalRecords": {
"description": "Total number of Source records",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"sourceRecords",
"totalRecords"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
API for getting Source Records via different idTypes
selection condition of sourceRecords by which id will be searched record
get /source-storage/source-records/{id}
selection condition of sourceRecords by which id will be searched record
URI Parameters
- id: required(string)
Query Parameters
- idType: required(string - default: RECORD)
Type of id for record lookup
Example:
INSTANCE
- state: required(string - default: ACTUAL)
State of the looking record
Example:
DELETED
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Source record DTO Schema",
"type": "object",
"additionalProperties": false,
"properties": {
"recordId": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"snapshotId": {
"description": "Corresponding snapshot id, which is the same as jobExecutionId",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"recordType": {
"description": "Type of record, e.g. MARC",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"MARC_BIB",
"MARC_AUTHORITY",
"MARC_HOLDING",
"EDIFACT"
]
},
"parsedRecord": {
"description": "Parsed record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"content": {
"description": "Parsed record content, e.g. MARC record"
},
"formattedContent": {
"description": "Parsed content represented in human readable form",
"type": "string"
}
},
"excludedFromEqualsAndHashCode": [
"content",
"formattedContent"
],
"required": [
"content"
]
},
"deleted": {
"description": "Flag indicates that the record marked as deleted",
"type": "boolean",
"default": false
},
"order": {
"description": "Order of the record in imported file",
"type": "integer",
"minimum": 0
},
"externalIdsHolder": {
"description": "Container for identifiers of external entities",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"instanceId": {
"description": "instance id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"instanceHrid": {
"description": "instance hrid",
"type": "string"
},
"holdingsId": {
"description": "holdings id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsHrid": {
"description": "holdings hrid",
"type": "string"
},
"authorityId": {
"description": "authority id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"authorityHrid": {
"description": "authority hrid",
"type": "string"
}
}
},
"additionalInfo": {
"description": "Auxiliary data which is not related to MARC type record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"suppressDiscovery": {
"description": "Flag indicates if the record is displayed during a search",
"type": "boolean",
"default": false
}
}
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"recordId",
"snapshotId",
"recordType",
"parsedRecord"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 404
Not found
Body
Media type: text/plain
Type: any
Example:
Not found
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error