Source Record Storage Module (v2.2)

http://localhost

Table of contents

Source Record Storage API

API for managing records

/source-storage

POST /source-storage/snapshots

Create a new snapshot item.

POST /source-storage/snapshots
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Snapshot Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "jobExecutionId": {
      "description": "Corresponding jobExecution id",
      "type": "string"
    },
    "status": {
      "description": "Current status",
      "type": "string",
      "$ref": "../common/status.json"
    },
    "processingStartedDate": {
      "description": "Date and time when parsing of records started, set when status is updated to PARSING_IN_PROGRESS",
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "jobExecutionId",
    "status"
  ]
}

Example:

{
  "jobExecutionId": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "status": "NEW"
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created snapshot item

Body

Media type: application/json

Type: any

Example:

{
  "jobExecutionId": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "status": "NEW"
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to add snapshot -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create snapshots -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /source-storage/snapshots

Retrieve a list of snapshot items.

GET /source-storage/snapshots
Query Parameters
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example status=NEW

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    status=NEW
    
  • 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
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of snapshot items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Snapshot collection",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "snapshots": {
      "description": "List of snapshots",
      "type": "array",
      "id": "snapshotList",
      "items": {
        "type": "object",
        "$ref": "snapshot.json"
      }
    },
    "totalRecords": {
      "description": "Total number of snapshots",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "snapshots",
    "totalRecords"
  ]
}

Example:

{
  "snapshots": [
    {
      "jobExecutionId": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
      "status": "NEW"
    },
    {
      "jobExecutionId": "17dfac11-1caf-4470-9ad1-d533f6360bdd",
      "status": "PARSING_IN_PROGRESS"
    },
    {
      "jobExecutionId": "27dfac11-1caf-4470-9ad1-d533f6360bdd",
      "status": "PARSING_IN_PROGRESS"
    }
  ],
  "totalRecords": 3
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

unable to list snapshots -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list snapshots -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /source-storage/snapshots/{jobExecutionId}

Update snapshot item with given {snapshotId}

PUT /source-storage/snapshots/{jobExecutionId}
URI Parameters
  • jobExecutionId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Snapshot Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "jobExecutionId": {
      "description": "Corresponding jobExecution id",
      "type": "string"
    },
    "status": {
      "description": "Current status",
      "type": "string",
      "$ref": "../common/status.json"
    },
    "processingStartedDate": {
      "description": "Date and time when parsing of records started, set when status is updated to PARSING_IN_PROGRESS",
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "jobExecutionId",
    "status"
  ]
}

Example:

{
  "jobExecutionId": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "status": "NEW"
}

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Snapshot Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "jobExecutionId": {
      "description": "Corresponding jobExecution id",
      "type": "string"
    },
    "status": {
      "description": "Current status",
      "type": "string",
      "$ref": "../common/status.json"
    },
    "processingStartedDate": {
      "description": "Date and time when parsing of records started, set when status is updated to PARSING_IN_PROGRESS",
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "jobExecutionId",
    "status"
  ]
}

Response 204

Item successfully updated

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to update snapshot -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"snapshot not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /source-storage/snapshots/{jobExecutionId}

Delete snapshot item with given {snapshotId}

DELETE /source-storage/snapshots/{jobExecutionId}
URI Parameters
  • jobExecutionId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to delete snapshot -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"snapshot not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /source-storage/snapshots/{jobExecutionId}

Retrieve snapshot item with given {snapshotId}

GET /source-storage/snapshots/{jobExecutionId}
URI Parameters
  • jobExecutionId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Snapshot Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "jobExecutionId": {
      "description": "Corresponding jobExecution id",
      "type": "string"
    },
    "status": {
      "description": "Current status",
      "type": "string",
      "$ref": "../common/status.json"
    },
    "processingStartedDate": {
      "description": "Date and time when parsing of records started, set when status is updated to PARSING_IN_PROGRESS",
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "jobExecutionId",
    "status"
  ]
}

Example:

{
  "jobExecutionId": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "status": "NEW"
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"snapshot not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /source-storage/records

Create a new record item.

POST /source-storage/records
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Record DTO Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "type": "string"
    },
    "snapshotId": {
      "description": "Corresponding snapshot id, which is the same as jobExecutionId",
      "type": "string"
    },
    "matchedProfileId": {
      "description": "Id of the matcher profile which is applied for the record",
      "type": "string"
    },
    "matchedId": {
      "description": "Represents relations with another matched records, necessary for saving the history of applying changes for inventory/holding/etc records",
      "type": "string"
    },
    "generation": {
      "description": "Generation from the last record with the same matchedId incremented by 1. Starts from 0.",
      "type": "integer",
      "default": 0
    },
    "recordType": {
      "description": "Type of record, e.g. MARC",
      "type": "string",
      "$ref": "../mod-source-record-storage/recordType.json"
    },
    "rawRecord": {
      "description": "Raw record",
      "type": "object",
      "$ref": "../mod-source-record-storage/rawRecord.json"
    },
    "parsedRecord": {
      "description": "Parsed record",
      "type": "object",
      "$ref": "../mod-source-record-storage/parsedRecord.json"
    },
    "errorRecord": {
      "description": "Error record",
      "type": "object",
      "$ref": "../mod-source-record-storage/errorRecord.json"
    },
    "deleted": {
      "description": "Flag indicates that the record marked as deleted",
      "type": "boolean",
      "default": false
    },
    "additionalInfo": {
      "description": "Auxiliary data which is not related to MARC type record",
      "type": "object",
      "$ref": "../mod-source-record-storage/additionalInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "snapshotId",
    "matchedId",
    "recordType",
    "rawRecord"
  ]
}

Example:

{
  "id": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "snapshotId": "11dfac11-1caf-4470-9ad1-d533f6360bdd",
  "matchedProfileId": "c9db56f4-e1d4-11e8-9f32-f2801f1b9fd1",
  "matchedId": "c9db5b04-e1d4-11e8-9f32-f2801f1b9fd1",
  "generation": 1,
  "recordType": "MARC",
  "rawRecord": {
    "id": "2f390fa6-a2f8-4027-abaf-ee61952668bc",
    "content": "01542ccm a2200361   4500001000700000005001700007008004100024010001900065035002000084035001100104040002300115041001900138045000900157047007500166050001400241100004200255240001000297245016700307246002400474260003600498300002500534505031400559650001600873650002300889650004900912650004200961902002301003905002101026948004201047948002701089948002701116948003701143\u001e393893\u001e20141107001016.0\u001e830419m19559999gw mua   hiz   n    lat  \u001e  \u001fa   55001156/M \u001e  \u001fa(OCoLC)63611770\u001e  \u001fa393893\u001e  \u001fcUPB\u001fdUPB\u001fdNIC\u001fdNIC\u001e0 \u001falatitager\u001fgger\u001e  \u001fav6v9\u001e  \u001facn\u001fact\u001faco\u001fadf\u001fadv\u001faft\u001fafg\u001fams\u001fami\u001fanc\u001faop\u001faov\u001farq\u001fasn\u001fasu\u001fasy\u001favr\u001fazz\u001e0 \u001faM3\u001fb.M896\u001e1 \u001faMozart, Wolfgang Amadeus,\u001fd1756-1791.\u001e10\u001faWorks\u001e10\u001faNeue Ausgabe sämtlicher Werke,\u001fbin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u001fcHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u001e33\u001faNeue Mozart-Ausgabe\u001e  \u001faKassel,\u001fbBärenreiter,\u001fcc1955-\u001e  \u001fav.\u001fbfacsims.\u001fc33 cm.\u001e0 \u001faSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u001e 0\u001faVocal music\u001e 0\u001faInstrumental music\u001e 7\u001faInstrumental music\u001f2fast\u001f0(OCoLC)fst00974414\u001e 7\u001faVocal music\u001f2fast\u001f0(OCoLC)fst01168379\u001e  \u001fapfnd\u001fbAustin Music\u001e  \u001fa19980728120000.0\u001e1 \u001fa20100622\u001fbs\u001fdlap11\u001felts\u001fxToAddCatStat\u001e0 \u001fa20110818\u001fbr\u001fdnp55\u001felts\u001e2 \u001fa20130128\u001fbm\u001fdbmt1\u001felts\u001e2 \u001fa20141106\u001fbm\u001fdbatch\u001felts\u001fxaddfast\u001e\u001d"
  },
  "parsedRecord": {
    "id": "c9db5d7a-e1d4-11e8-9f32-f2801f1b9fd1",
    "content": {
      "leader": "01542ccm a2200361   4500",
      "fields": [
        {
          "001": "393893"
        },
        {
          "005": "20141107001016.0"
        },
        {
          "008": "830419m19559999gw mua   hiz   n    lat  "
        },
        {
          "010": {
            "subfields": [
              {
                "a": "   55001156/M "
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "(OCoLC)63611770"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "393893"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "040": {
            "subfields": [
              {
                "c": "UPB"
              },
              {
                "d": "UPB"
              },
              {
                "d": "NIC"
              },
              {
                "d": "NIC"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "041": {
            "subfields": [
              {
                "a": "latitager"
              },
              {
                "g": "ger"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "045": {
            "subfields": [
              {
                "a": "v6v9"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "047": {
            "subfields": [
              {
                "a": "cn"
              },
              {
                "a": "ct"
              },
              {
                "a": "co"
              },
              {
                "a": "df"
              },
              {
                "a": "dv"
              },
              {
                "a": "ft"
              },
              {
                "a": "fg"
              },
              {
                "a": "ms"
              },
              {
                "a": "mi"
              },
              {
                "a": "nc"
              },
              {
                "a": "op"
              },
              {
                "a": "ov"
              },
              {
                "a": "rq"
              },
              {
                "a": "sn"
              },
              {
                "a": "su"
              },
              {
                "a": "sy"
              },
              {
                "a": "vr"
              },
              {
                "a": "zz"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "050": {
            "subfields": [
              {
                "a": "M3"
              },
              {
                "b": ".M896"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "100": {
            "subfields": [
              {
                "a": "Mozart, Wolfgang Amadeus,"
              },
              {
                "d": "1756-1791."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "240": {
            "subfields": [
              {
                "a": "Works"
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "245": {
            "subfields": [
              {
                "a": "Neue Ausgabe sa\\u0308mtlicher Werke, "
              },
              {
                "b": "in Verbindung mit den Mozartsta\\u0308dten, Augsburg, Salzburg und Wien."
              },
              {
                "c": "Hrsg. von der Internationalen Stiftung Mozarteum, Salzburg."
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "246": {
            "subfields": [
              {
                "a": "Neue Mozart-Ausgabe"
              }
            ],
            "ind1": "3",
            "ind2": "3"
          }
        },
        {
          "260": {
            "subfields": [
              {
                "a": "Kassel,"
              },
              {
                "b": "Ba\\u0308renreiter,"
              },
              {
                "c": "c1955-"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "300": {
            "subfields": [
              {
                "a": "v."
              },
              {
                "b": "facsims."
              },
              {
                "c": "33 cm."
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "505": {
            "subfields": [
              {
                "a": "Ser. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesa\\u0308nge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik fu\\u0308r gro\\u0308ssere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement."
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst00974414"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst01168379"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "902": {
            "subfields": [
              {
                "a":"pfnd"
              },
              {
                "b":"Austin Music"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "905": {
            "subfields": [
              {
                "a":"19980728120000.0"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20100622"
              },
              {
                "b": "s"
              },
              {
                "d": "lap11"
              },
              {
                "e": "lts"
              },
              {
                "x": "ToAddCatStat"
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20110818"
              },
              {
                "b": "r"
              },
              {
                "d": "np55"
              },
              {
                "e": "lts"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20130128"
              },
              {
                 "b": "m"
              },
              {
                 "d": "bmt1"
              },
              {
                 "e": "lts"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20141106"
              },
              {
                 "b": "m"
              },
              {
                 "d": "batch"
              },
              {
                 "e": "lts"
              },
              {
                 "x": "addfast"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        }
      ],
      "formattedContent": "LEADER 01542ccm a2200361   4500\u000a001 393893\u000a005 20141107001016.0\u000a008 830419m19559999gw mua   hiz   n    lat  \u000a010   \u0024a   55001156/M \u000a035   \u0024a(OCoLC)63611770\u000a035   \u0024a393893\u000a040   \u0024cUPB\u0024dUPB\u0024dNIC\u0024dNIC\u000a041 0 \u0024alatitager\u0024gger\u000a045   \u0024av6v9\u000a047   \u0024acn\u0024act\u0024aco\u0024adf\u0024adv\u0024aft\u0024afg\u0024ams\u0024ami\u0024anc\u0024aop\u0024aov\u0024arq\u0024asn\u0024asu\u0024asy\u0024avr\u0024azz\u000a050 0 \u0024aM3\u0024b.M896\u000a100 1 \u0024aMozart, Wolfgang Amadeus,\u0024d1756-1791.\u000a240 10\u0024aWorks\u000a245 10\u0024aNeue Ausgabe sämtlicher Werke,\u0024bin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u0024cHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u000a246 33\u0024aNeue Mozart-Ausgabe\u000a260   \u0024aKassel,\u0024bBärenreiter,\u0024cc1955-\u000a300   \u0024av.\u0024bfacsims.\u0024c33 cm.\u000a505 0 \u0024aSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u000a650  0\u0024aVocal music\u000a650  0\u0024aInstrumental music\u000a650  7\u0024aInstrumental music\u00242fast\u00240(OCoLC)fst00974414\u000a650  7\u0024aVocal music\u00242fast\u00240(OCoLC)fst01168379\u000a902   \u0024apfnd\u0024bAustin Music\u000a905   \u0024a19980728120000.0\u000a948 1 \u0024a20100622\u0024bs\u0024dlap11\u0024elts\u0024xToAddCatStat\u000a948 0 \u0024a20110818\u0024br\u0024dnp55\u0024elts\u000a948 2 \u0024a20130128\u0024bm\u0024dbmt1\u0024elts\u000a948 2 \u0024a20141106\u0024bm\u0024dbatch\u0024elts\u0024xaddfas"
    }
  },
  "deleted": false,
  "additionalInfo": {
    "suppressDiscovery": false
  }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created record item

Body

Media type: application/json

Type: any

Example:

{
  "id": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "snapshotId": "11dfac11-1caf-4470-9ad1-d533f6360bdd",
  "matchedProfileId": "c9db56f4-e1d4-11e8-9f32-f2801f1b9fd1",
  "matchedId": "c9db5b04-e1d4-11e8-9f32-f2801f1b9fd1",
  "generation": 1,
  "recordType": "MARC",
  "rawRecord": {
    "id": "2f390fa6-a2f8-4027-abaf-ee61952668bc",
    "content": "01542ccm a2200361   4500001000700000005001700007008004100024010001900065035002000084035001100104040002300115041001900138045000900157047007500166050001400241100004200255240001000297245016700307246002400474260003600498300002500534505031400559650001600873650002300889650004900912650004200961902002301003905002101026948004201047948002701089948002701116948003701143\u001e393893\u001e20141107001016.0\u001e830419m19559999gw mua   hiz   n    lat  \u001e  \u001fa   55001156/M \u001e  \u001fa(OCoLC)63611770\u001e  \u001fa393893\u001e  \u001fcUPB\u001fdUPB\u001fdNIC\u001fdNIC\u001e0 \u001falatitager\u001fgger\u001e  \u001fav6v9\u001e  \u001facn\u001fact\u001faco\u001fadf\u001fadv\u001faft\u001fafg\u001fams\u001fami\u001fanc\u001faop\u001faov\u001farq\u001fasn\u001fasu\u001fasy\u001favr\u001fazz\u001e0 \u001faM3\u001fb.M896\u001e1 \u001faMozart, Wolfgang Amadeus,\u001fd1756-1791.\u001e10\u001faWorks\u001e10\u001faNeue Ausgabe sämtlicher Werke,\u001fbin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u001fcHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u001e33\u001faNeue Mozart-Ausgabe\u001e  \u001faKassel,\u001fbBärenreiter,\u001fcc1955-\u001e  \u001fav.\u001fbfacsims.\u001fc33 cm.\u001e0 \u001faSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u001e 0\u001faVocal music\u001e 0\u001faInstrumental music\u001e 7\u001faInstrumental music\u001f2fast\u001f0(OCoLC)fst00974414\u001e 7\u001faVocal music\u001f2fast\u001f0(OCoLC)fst01168379\u001e  \u001fapfnd\u001fbAustin Music\u001e  \u001fa19980728120000.0\u001e1 \u001fa20100622\u001fbs\u001fdlap11\u001felts\u001fxToAddCatStat\u001e0 \u001fa20110818\u001fbr\u001fdnp55\u001felts\u001e2 \u001fa20130128\u001fbm\u001fdbmt1\u001felts\u001e2 \u001fa20141106\u001fbm\u001fdbatch\u001felts\u001fxaddfast\u001e\u001d"
  },
  "parsedRecord": {
    "id": "c9db5d7a-e1d4-11e8-9f32-f2801f1b9fd1",
    "content": {
      "leader": "01542ccm a2200361   4500",
      "fields": [
        {
          "001": "393893"
        },
        {
          "005": "20141107001016.0"
        },
        {
          "008": "830419m19559999gw mua   hiz   n    lat  "
        },
        {
          "010": {
            "subfields": [
              {
                "a": "   55001156/M "
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "(OCoLC)63611770"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "393893"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "040": {
            "subfields": [
              {
                "c": "UPB"
              },
              {
                "d": "UPB"
              },
              {
                "d": "NIC"
              },
              {
                "d": "NIC"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "041": {
            "subfields": [
              {
                "a": "latitager"
              },
              {
                "g": "ger"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "045": {
            "subfields": [
              {
                "a": "v6v9"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "047": {
            "subfields": [
              {
                "a": "cn"
              },
              {
                "a": "ct"
              },
              {
                "a": "co"
              },
              {
                "a": "df"
              },
              {
                "a": "dv"
              },
              {
                "a": "ft"
              },
              {
                "a": "fg"
              },
              {
                "a": "ms"
              },
              {
                "a": "mi"
              },
              {
                "a": "nc"
              },
              {
                "a": "op"
              },
              {
                "a": "ov"
              },
              {
                "a": "rq"
              },
              {
                "a": "sn"
              },
              {
                "a": "su"
              },
              {
                "a": "sy"
              },
              {
                "a": "vr"
              },
              {
                "a": "zz"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "050": {
            "subfields": [
              {
                "a": "M3"
              },
              {
                "b": ".M896"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "100": {
            "subfields": [
              {
                "a": "Mozart, Wolfgang Amadeus,"
              },
              {
                "d": "1756-1791."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "240": {
            "subfields": [
              {
                "a": "Works"
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "245": {
            "subfields": [
              {
                "a": "Neue Ausgabe sa\\u0308mtlicher Werke, "
              },
              {
                "b": "in Verbindung mit den Mozartsta\\u0308dten, Augsburg, Salzburg und Wien."
              },
              {
                "c": "Hrsg. von der Internationalen Stiftung Mozarteum, Salzburg."
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "246": {
            "subfields": [
              {
                "a": "Neue Mozart-Ausgabe"
              }
            ],
            "ind1": "3",
            "ind2": "3"
          }
        },
        {
          "260": {
            "subfields": [
              {
                "a": "Kassel,"
              },
              {
                "b": "Ba\\u0308renreiter,"
              },
              {
                "c": "c1955-"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "300": {
            "subfields": [
              {
                "a": "v."
              },
              {
                "b": "facsims."
              },
              {
                "c": "33 cm."
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "505": {
            "subfields": [
              {
                "a": "Ser. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesa\\u0308nge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik fu\\u0308r gro\\u0308ssere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement."
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst00974414"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst01168379"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "902": {
            "subfields": [
              {
                "a":"pfnd"
              },
              {
                "b":"Austin Music"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "905": {
            "subfields": [
              {
                "a":"19980728120000.0"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20100622"
              },
              {
                "b": "s"
              },
              {
                "d": "lap11"
              },
              {
                "e": "lts"
              },
              {
                "x": "ToAddCatStat"
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20110818"
              },
              {
                "b": "r"
              },
              {
                "d": "np55"
              },
              {
                "e": "lts"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20130128"
              },
              {
                 "b": "m"
              },
              {
                 "d": "bmt1"
              },
              {
                 "e": "lts"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20141106"
              },
              {
                 "b": "m"
              },
              {
                 "d": "batch"
              },
              {
                 "e": "lts"
              },
              {
                 "x": "addfast"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        }
      ],
      "formattedContent": "LEADER 01542ccm a2200361   4500\u000a001 393893\u000a005 20141107001016.0\u000a008 830419m19559999gw mua   hiz   n    lat  \u000a010   \u0024a   55001156/M \u000a035   \u0024a(OCoLC)63611770\u000a035   \u0024a393893\u000a040   \u0024cUPB\u0024dUPB\u0024dNIC\u0024dNIC\u000a041 0 \u0024alatitager\u0024gger\u000a045   \u0024av6v9\u000a047   \u0024acn\u0024act\u0024aco\u0024adf\u0024adv\u0024aft\u0024afg\u0024ams\u0024ami\u0024anc\u0024aop\u0024aov\u0024arq\u0024asn\u0024asu\u0024asy\u0024avr\u0024azz\u000a050 0 \u0024aM3\u0024b.M896\u000a100 1 \u0024aMozart, Wolfgang Amadeus,\u0024d1756-1791.\u000a240 10\u0024aWorks\u000a245 10\u0024aNeue Ausgabe sämtlicher Werke,\u0024bin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u0024cHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u000a246 33\u0024aNeue Mozart-Ausgabe\u000a260   \u0024aKassel,\u0024bBärenreiter,\u0024cc1955-\u000a300   \u0024av.\u0024bfacsims.\u0024c33 cm.\u000a505 0 \u0024aSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u000a650  0\u0024aVocal music\u000a650  0\u0024aInstrumental music\u000a650  7\u0024aInstrumental music\u00242fast\u00240(OCoLC)fst00974414\u000a650  7\u0024aVocal music\u00242fast\u00240(OCoLC)fst01168379\u000a902   \u0024apfnd\u0024bAustin Music\u000a905   \u0024a19980728120000.0\u000a948 1 \u0024a20100622\u0024bs\u0024dlap11\u0024elts\u0024xToAddCatStat\u000a948 0 \u0024a20110818\u0024br\u0024dnp55\u0024elts\u000a948 2 \u0024a20130128\u0024bm\u0024dbmt1\u0024elts\u000a948 2 \u0024a20141106\u0024bm\u0024dbatch\u0024elts\u0024xaddfas"
    }
  },
  "deleted": false,
  "additionalInfo": {
    "suppressDiscovery": false
  }
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to add record -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create records -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /source-storage/records

Retrieve a list of record items.

GET /source-storage/records
Query Parameters
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example recordType=MARC

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    recordType=MARC
    
  • 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
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of record items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of record DTO",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "records": {
      "description": "List of records",
      "type": "array",
      "id": "recordList",
      "items": {
        "type": "object",
        "$ref": "record.json"
      }
    },
    "errorMessages": {
      "description": "List of error messages",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "totalRecords": {
      "description": "Total number of records",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "records",
    "totalRecords"
  ]
}

Example:

{
  "records": [
    {
      "id": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
      "snapshotId": "11dfac11-1caf-4470-9ad1-d533f6360bdd",
      "matchedProfileId": "c9db56f4-e1d4-11e8-9f32-f2801f1b9fd1",
      "matchedId": "c9db5b04-e1d4-11e8-9f32-f2801f1b9fd1",
      "generation": 1,
      "recordType": "MARC",
      "rawRecord": {
        "id": "2f390fa6-a2f8-4027-abaf-ee61952668bc",
        "content": "01542ccm a2200361   4500001000700000005001700007008004100024010001900065035002000084035001100104040002300115041001900138045000900157047007500166050001400241100004200255240001000297245016700307246002400474260003600498300002500534505031400559650001600873650002300889650004900912650004200961902002301003905002101026948004201047948002701089948002701116948003701143\u001e393893\u001e20141107001016.0\u001e830419m19559999gw mua   hiz   n    lat  \u001e  \u001fa   55001156/M \u001e  \u001fa(OCoLC)63611770\u001e  \u001fa393893\u001e  \u001fcUPB\u001fdUPB\u001fdNIC\u001fdNIC\u001e0 \u001falatitager\u001fgger\u001e  \u001fav6v9\u001e  \u001facn\u001fact\u001faco\u001fadf\u001fadv\u001faft\u001fafg\u001fams\u001fami\u001fanc\u001faop\u001faov\u001farq\u001fasn\u001fasu\u001fasy\u001favr\u001fazz\u001e0 \u001faM3\u001fb.M896\u001e1 \u001faMozart, Wolfgang Amadeus,\u001fd1756-1791.\u001e10\u001faWorks\u001e10\u001faNeue Ausgabe sämtlicher Werke,\u001fbin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u001fcHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u001e33\u001faNeue Mozart-Ausgabe\u001e  \u001faKassel,\u001fbBärenreiter,\u001fcc1955-\u001e  \u001fav.\u001fbfacsims.\u001fc33 cm.\u001e0 \u001faSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u001e 0\u001faVocal music\u001e 0\u001faInstrumental music\u001e 7\u001faInstrumental music\u001f2fast\u001f0(OCoLC)fst00974414\u001e 7\u001faVocal music\u001f2fast\u001f0(OCoLC)fst01168379\u001e  \u001fapfnd\u001fbAustin Music\u001e  \u001fa19980728120000.0\u001e1 \u001fa20100622\u001fbs\u001fdlap11\u001felts\u001fxToAddCatStat\u001e0 \u001fa20110818\u001fbr\u001fdnp55\u001felts\u001e2 \u001fa20130128\u001fbm\u001fdbmt1\u001felts\u001e2 \u001fa20141106\u001fbm\u001fdbatch\u001felts\u001fxaddfast\u001e\u001d"
      },
      "parsedRecord": {
        "id": "c9db5d7a-e1d4-11e8-9f32-f2801f1b9fd1",
        "content": {
          "leader": "01542ccm a2200361   4500",
          "fields": [
            {
              "001": "393893"
            },
            {
              "005": "20141107001016.0"
            },
            {
              "008": "830419m19559999gw mua   hiz   n    lat  "
            },
            {
              "010": {
                "subfields": [
                  {
                    "a": "   55001156/M "
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "035": {
                "subfields": [
                  {
                    "a": "(OCoLC)63611770"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "035": {
                "subfields": [
                  {
                    "a": "393893"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "040": {
                "subfields": [
                  {
                    "c": "UPB"
                  },
                  {
                    "d": "UPB"
                  },
                  {
                    "d": "NIC"
                  },
                  {
                    "d": "NIC"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "041": {
                "subfields": [
                  {
                    "a": "latitager"
                  },
                  {
                    "g": "ger"
                  }
                ],
                "ind1": "0",
                "ind2": " "
              }
            },
            {
              "045": {
                "subfields": [
                  {
                    "a": "v6v9"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "047": {
                "subfields": [
                  {
                    "a": "cn"
                  },
                  {
                    "a": "ct"
                  },
                  {
                    "a": "co"
                  },
                  {
                    "a": "df"
                  },
                  {
                    "a": "dv"
                  },
                  {
                    "a": "ft"
                  },
                  {
                    "a": "fg"
                  },
                  {
                    "a": "ms"
                  },
                  {
                    "a": "mi"
                  },
                  {
                    "a": "nc"
                  },
                  {
                    "a": "op"
                  },
                  {
                    "a": "ov"
                  },
                  {
                    "a": "rq"
                  },
                  {
                    "a": "sn"
                  },
                  {
                    "a": "su"
                  },
                  {
                    "a": "sy"
                  },
                  {
                    "a": "vr"
                  },
                  {
                    "a": "zz"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "050": {
                "subfields": [
                  {
                    "a": "M3"
                  },
                  {
                    "b": ".M896"
                  }
                ],
                "ind1": "0",
                "ind2": " "
              }
            },
            {
              "100": {
                "subfields": [
                  {
                    "a": "Mozart, Wolfgang Amadeus,"
                  },
                  {
                    "d": "1756-1791."
                  }
                ],
                "ind1": "1",
                "ind2": " "
              }
            },
            {
              "240": {
                "subfields": [
                  {
                    "a": "Works"
                  }
                ],
                "ind1": "1",
                "ind2": "0"
              }
            },
            {
              "245": {
                "subfields": [
                  {
                    "a": "Neue Ausgabe sa\\u0308mtlicher Werke, "
                  },
                  {
                    "b": "in Verbindung mit den Mozartsta\\u0308dten, Augsburg, Salzburg und Wien."
                  },
                  {
                    "c": "Hrsg. von der Internationalen Stiftung Mozarteum, Salzburg."
                  }
                ],
                "ind1": "1",
                "ind2": "0"
              }
            },
            {
              "246": {
                "subfields": [
                  {
                    "a": "Neue Mozart-Ausgabe"
                  }
                ],
                "ind1": "3",
                "ind2": "3"
              }
            },
            {
              "260": {
                "subfields": [
                  {
                    "a": "Kassel,"
                  },
                  {
                    "b": "Ba\\u0308renreiter,"
                  },
                  {
                    "c": "c1955-"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "300": {
                "subfields": [
                  {
                    "a": "v."
                  },
                  {
                    "b": "facsims."
                  },
                  {
                    "c": "33 cm."
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "505": {
                "subfields": [
                  {
                    "a": "Ser. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesa\\u0308nge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik fu\\u0308r gro\\u0308ssere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement."
                  }
                ],
                "ind1": "0",
                "ind2": " "
              }
            },
            {
              "650": {
                "subfields": [
                  {
                    "a": "Vocal music"
                  }
                ],
                "ind1": " ",
                "ind2": "0"
              }
            },
            {
              "650": {
                "subfields": [
                  {
                    "a": "Instrumental music"
                  }
                ],
                "ind1": " ",
                "ind2": "0"
              }
            },
            {
              "650": {
                "subfields": [
                  {
                    "a": "Instrumental music"
                  },
                  {
                    "2": "fast"
                  },
                  {
                    "0": "(OCoLC)fst00974414"
                  }
                ],
                "ind1": " ",
                "ind2": "7"
              }
            },
            {
              "650": {
                "subfields": [
                  {
                    "a": "Vocal music"
                  },
                  {
                    "2": "fast"
                  },
                  {
                    "0": "(OCoLC)fst01168379"
                  }
                ],
                "ind1": " ",
                "ind2": "7"
              }
            },
            {
              "902": {
                "subfields": [
                  {
                    "a": "pfnd"
                  },
                  {
                    "b": "Austin Music"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "905": {
                "subfields": [
                  {
                    "a": "19980728120000.0"
                  }
                ],
                "ind1": " ",
                "ind2": " "
              }
            },
            {
              "948": {
                "subfields": [
                  {
                    "a": "20100622"
                  },
                  {
                    "b": "s"
                  },
                  {
                    "d": "lap11"
                  },
                  {
                    "e": "lts"
                  },
                  {
                    "x": "ToAddCatStat"
                  }
                ],
                "ind1": "1",
                "ind2": " "
              }
            },
            {
              "948": {
                "subfields": [
                  {
                    "a": "20110818"
                  },
                  {
                    "b": "r"
                  },
                  {
                    "d": "np55"
                  },
                  {
                    "e": "lts"
                  }
                ],
                "ind1": "0",
                "ind2": " "
              }
            },
            {
              "948": {
                "subfields": [
                  {
                    "a": "20130128"
                  },
                  {
                    "b": "m"
                  },
                  {
                    "d": "bmt1"
                  },
                  {
                    "e": "lts"
                  }
                ],
                "ind1": "2",
                "ind2": " "
              }
            },
            {
              "948": {
                "subfields": [
                  {
                    "a": "20141106"
                  },
                  {
                    "b": "m"
                  },
                  {
                    "d": "batch"
                  },
                  {
                    "e": "lts"
                  },
                  {
                    "x": "addfast"
                  }
                ],
                "ind1": "2",
                "ind2": " "
              }
            }
          ]
        }
      },
      "deleted": false,
      "additionalInfo": {
        "suppressDiscovery": false
      }
    }
  ],
  "errorMessages": "Couldn't find snapshot with id 42acadce-7cda-4d0e-9a8a-92cccb6bc682",
  "totalRecords": 1
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

unable to list records -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list records -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /source-storage/records/{id}

Update record item with given {recordId}

PUT /source-storage/records/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Record DTO Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "type": "string"
    },
    "snapshotId": {
      "description": "Corresponding snapshot id, which is the same as jobExecutionId",
      "type": "string"
    },
    "matchedProfileId": {
      "description": "Id of the matcher profile which is applied for the record",
      "type": "string"
    },
    "matchedId": {
      "description": "Represents relations with another matched records, necessary for saving the history of applying changes for inventory/holding/etc records",
      "type": "string"
    },
    "generation": {
      "description": "Generation from the last record with the same matchedId incremented by 1. Starts from 0.",
      "type": "integer",
      "default": 0
    },
    "recordType": {
      "description": "Type of record, e.g. MARC",
      "type": "string",
      "$ref": "../mod-source-record-storage/recordType.json"
    },
    "rawRecord": {
      "description": "Raw record",
      "type": "object",
      "$ref": "../mod-source-record-storage/rawRecord.json"
    },
    "parsedRecord": {
      "description": "Parsed record",
      "type": "object",
      "$ref": "../mod-source-record-storage/parsedRecord.json"
    },
    "errorRecord": {
      "description": "Error record",
      "type": "object",
      "$ref": "../mod-source-record-storage/errorRecord.json"
    },
    "deleted": {
      "description": "Flag indicates that the record marked as deleted",
      "type": "boolean",
      "default": false
    },
    "additionalInfo": {
      "description": "Auxiliary data which is not related to MARC type record",
      "type": "object",
      "$ref": "../mod-source-record-storage/additionalInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "snapshotId",
    "matchedId",
    "recordType",
    "rawRecord"
  ]
}

Example:

{
  "id": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "snapshotId": "11dfac11-1caf-4470-9ad1-d533f6360bdd",
  "matchedProfileId": "c9db56f4-e1d4-11e8-9f32-f2801f1b9fd1",
  "matchedId": "c9db5b04-e1d4-11e8-9f32-f2801f1b9fd1",
  "generation": 1,
  "recordType": "MARC",
  "rawRecord": {
    "id": "2f390fa6-a2f8-4027-abaf-ee61952668bc",
    "content": "01542ccm a2200361   4500001000700000005001700007008004100024010001900065035002000084035001100104040002300115041001900138045000900157047007500166050001400241100004200255240001000297245016700307246002400474260003600498300002500534505031400559650001600873650002300889650004900912650004200961902002301003905002101026948004201047948002701089948002701116948003701143\u001e393893\u001e20141107001016.0\u001e830419m19559999gw mua   hiz   n    lat  \u001e  \u001fa   55001156/M \u001e  \u001fa(OCoLC)63611770\u001e  \u001fa393893\u001e  \u001fcUPB\u001fdUPB\u001fdNIC\u001fdNIC\u001e0 \u001falatitager\u001fgger\u001e  \u001fav6v9\u001e  \u001facn\u001fact\u001faco\u001fadf\u001fadv\u001faft\u001fafg\u001fams\u001fami\u001fanc\u001faop\u001faov\u001farq\u001fasn\u001fasu\u001fasy\u001favr\u001fazz\u001e0 \u001faM3\u001fb.M896\u001e1 \u001faMozart, Wolfgang Amadeus,\u001fd1756-1791.\u001e10\u001faWorks\u001e10\u001faNeue Ausgabe sämtlicher Werke,\u001fbin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u001fcHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u001e33\u001faNeue Mozart-Ausgabe\u001e  \u001faKassel,\u001fbBärenreiter,\u001fcc1955-\u001e  \u001fav.\u001fbfacsims.\u001fc33 cm.\u001e0 \u001faSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u001e 0\u001faVocal music\u001e 0\u001faInstrumental music\u001e 7\u001faInstrumental music\u001f2fast\u001f0(OCoLC)fst00974414\u001e 7\u001faVocal music\u001f2fast\u001f0(OCoLC)fst01168379\u001e  \u001fapfnd\u001fbAustin Music\u001e  \u001fa19980728120000.0\u001e1 \u001fa20100622\u001fbs\u001fdlap11\u001felts\u001fxToAddCatStat\u001e0 \u001fa20110818\u001fbr\u001fdnp55\u001felts\u001e2 \u001fa20130128\u001fbm\u001fdbmt1\u001felts\u001e2 \u001fa20141106\u001fbm\u001fdbatch\u001felts\u001fxaddfast\u001e\u001d"
  },
  "parsedRecord": {
    "id": "c9db5d7a-e1d4-11e8-9f32-f2801f1b9fd1",
    "content": {
      "leader": "01542ccm a2200361   4500",
      "fields": [
        {
          "001": "393893"
        },
        {
          "005": "20141107001016.0"
        },
        {
          "008": "830419m19559999gw mua   hiz   n    lat  "
        },
        {
          "010": {
            "subfields": [
              {
                "a": "   55001156/M "
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "(OCoLC)63611770"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "393893"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "040": {
            "subfields": [
              {
                "c": "UPB"
              },
              {
                "d": "UPB"
              },
              {
                "d": "NIC"
              },
              {
                "d": "NIC"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "041": {
            "subfields": [
              {
                "a": "latitager"
              },
              {
                "g": "ger"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "045": {
            "subfields": [
              {
                "a": "v6v9"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "047": {
            "subfields": [
              {
                "a": "cn"
              },
              {
                "a": "ct"
              },
              {
                "a": "co"
              },
              {
                "a": "df"
              },
              {
                "a": "dv"
              },
              {
                "a": "ft"
              },
              {
                "a": "fg"
              },
              {
                "a": "ms"
              },
              {
                "a": "mi"
              },
              {
                "a": "nc"
              },
              {
                "a": "op"
              },
              {
                "a": "ov"
              },
              {
                "a": "rq"
              },
              {
                "a": "sn"
              },
              {
                "a": "su"
              },
              {
                "a": "sy"
              },
              {
                "a": "vr"
              },
              {
                "a": "zz"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "050": {
            "subfields": [
              {
                "a": "M3"
              },
              {
                "b": ".M896"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "100": {
            "subfields": [
              {
                "a": "Mozart, Wolfgang Amadeus,"
              },
              {
                "d": "1756-1791."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "240": {
            "subfields": [
              {
                "a": "Works"
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "245": {
            "subfields": [
              {
                "a": "Neue Ausgabe sa\\u0308mtlicher Werke, "
              },
              {
                "b": "in Verbindung mit den Mozartsta\\u0308dten, Augsburg, Salzburg und Wien."
              },
              {
                "c": "Hrsg. von der Internationalen Stiftung Mozarteum, Salzburg."
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "246": {
            "subfields": [
              {
                "a": "Neue Mozart-Ausgabe"
              }
            ],
            "ind1": "3",
            "ind2": "3"
          }
        },
        {
          "260": {
            "subfields": [
              {
                "a": "Kassel,"
              },
              {
                "b": "Ba\\u0308renreiter,"
              },
              {
                "c": "c1955-"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "300": {
            "subfields": [
              {
                "a": "v."
              },
              {
                "b": "facsims."
              },
              {
                "c": "33 cm."
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "505": {
            "subfields": [
              {
                "a": "Ser. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesa\\u0308nge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik fu\\u0308r gro\\u0308ssere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement."
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst00974414"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst01168379"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "902": {
            "subfields": [
              {
                "a":"pfnd"
              },
              {
                "b":"Austin Music"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "905": {
            "subfields": [
              {
                "a":"19980728120000.0"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20100622"
              },
              {
                "b": "s"
              },
              {
                "d": "lap11"
              },
              {
                "e": "lts"
              },
              {
                "x": "ToAddCatStat"
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20110818"
              },
              {
                "b": "r"
              },
              {
                "d": "np55"
              },
              {
                "e": "lts"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20130128"
              },
              {
                 "b": "m"
              },
              {
                 "d": "bmt1"
              },
              {
                 "e": "lts"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20141106"
              },
              {
                 "b": "m"
              },
              {
                 "d": "batch"
              },
              {
                 "e": "lts"
              },
              {
                 "x": "addfast"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        }
      ],
      "formattedContent": "LEADER 01542ccm a2200361   4500\u000a001 393893\u000a005 20141107001016.0\u000a008 830419m19559999gw mua   hiz   n    lat  \u000a010   \u0024a   55001156/M \u000a035   \u0024a(OCoLC)63611770\u000a035   \u0024a393893\u000a040   \u0024cUPB\u0024dUPB\u0024dNIC\u0024dNIC\u000a041 0 \u0024alatitager\u0024gger\u000a045   \u0024av6v9\u000a047   \u0024acn\u0024act\u0024aco\u0024adf\u0024adv\u0024aft\u0024afg\u0024ams\u0024ami\u0024anc\u0024aop\u0024aov\u0024arq\u0024asn\u0024asu\u0024asy\u0024avr\u0024azz\u000a050 0 \u0024aM3\u0024b.M896\u000a100 1 \u0024aMozart, Wolfgang Amadeus,\u0024d1756-1791.\u000a240 10\u0024aWorks\u000a245 10\u0024aNeue Ausgabe sämtlicher Werke,\u0024bin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u0024cHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u000a246 33\u0024aNeue Mozart-Ausgabe\u000a260   \u0024aKassel,\u0024bBärenreiter,\u0024cc1955-\u000a300   \u0024av.\u0024bfacsims.\u0024c33 cm.\u000a505 0 \u0024aSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u000a650  0\u0024aVocal music\u000a650  0\u0024aInstrumental music\u000a650  7\u0024aInstrumental music\u00242fast\u00240(OCoLC)fst00974414\u000a650  7\u0024aVocal music\u00242fast\u00240(OCoLC)fst01168379\u000a902   \u0024apfnd\u0024bAustin Music\u000a905   \u0024a19980728120000.0\u000a948 1 \u0024a20100622\u0024bs\u0024dlap11\u0024elts\u0024xToAddCatStat\u000a948 0 \u0024a20110818\u0024br\u0024dnp55\u0024elts\u000a948 2 \u0024a20130128\u0024bm\u0024dbmt1\u0024elts\u000a948 2 \u0024a20141106\u0024bm\u0024dbatch\u0024elts\u0024xaddfas"
    }
  },
  "deleted": false,
  "additionalInfo": {
    "suppressDiscovery": false
  }
}

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Record DTO Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "type": "string"
    },
    "snapshotId": {
      "description": "Corresponding snapshot id, which is the same as jobExecutionId",
      "type": "string"
    },
    "matchedProfileId": {
      "description": "Id of the matcher profile which is applied for the record",
      "type": "string"
    },
    "matchedId": {
      "description": "Represents relations with another matched records, necessary for saving the history of applying changes for inventory/holding/etc records",
      "type": "string"
    },
    "generation": {
      "description": "Generation from the last record with the same matchedId incremented by 1. Starts from 0.",
      "type": "integer",
      "default": 0
    },
    "recordType": {
      "description": "Type of record, e.g. MARC",
      "type": "string",
      "$ref": "../mod-source-record-storage/recordType.json"
    },
    "rawRecord": {
      "description": "Raw record",
      "type": "object",
      "$ref": "../mod-source-record-storage/rawRecord.json"
    },
    "parsedRecord": {
      "description": "Parsed record",
      "type": "object",
      "$ref": "../mod-source-record-storage/parsedRecord.json"
    },
    "errorRecord": {
      "description": "Error record",
      "type": "object",
      "$ref": "../mod-source-record-storage/errorRecord.json"
    },
    "deleted": {
      "description": "Flag indicates that the record marked as deleted",
      "type": "boolean",
      "default": false
    },
    "additionalInfo": {
      "description": "Auxiliary data which is not related to MARC type record",
      "type": "object",
      "$ref": "../mod-source-record-storage/additionalInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "snapshotId",
    "matchedId",
    "recordType",
    "rawRecord"
  ]
}

Response 204

Item successfully updated

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to update record -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"record not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /source-storage/records/{id}

Delete record item with given {recordId}

DELETE /source-storage/records/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to delete record -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"record not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /source-storage/records/{id}

Retrieve record item with given {recordId}

GET /source-storage/records/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Record DTO Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "type": "string"
    },
    "snapshotId": {
      "description": "Corresponding snapshot id, which is the same as jobExecutionId",
      "type": "string"
    },
    "matchedProfileId": {
      "description": "Id of the matcher profile which is applied for the record",
      "type": "string"
    },
    "matchedId": {
      "description": "Represents relations with another matched records, necessary for saving the history of applying changes for inventory/holding/etc records",
      "type": "string"
    },
    "generation": {
      "description": "Generation from the last record with the same matchedId incremented by 1. Starts from 0.",
      "type": "integer",
      "default": 0
    },
    "recordType": {
      "description": "Type of record, e.g. MARC",
      "type": "string",
      "$ref": "../mod-source-record-storage/recordType.json"
    },
    "rawRecord": {
      "description": "Raw record",
      "type": "object",
      "$ref": "../mod-source-record-storage/rawRecord.json"
    },
    "parsedRecord": {
      "description": "Parsed record",
      "type": "object",
      "$ref": "../mod-source-record-storage/parsedRecord.json"
    },
    "errorRecord": {
      "description": "Error record",
      "type": "object",
      "$ref": "../mod-source-record-storage/errorRecord.json"
    },
    "deleted": {
      "description": "Flag indicates that the record marked as deleted",
      "type": "boolean",
      "default": false
    },
    "additionalInfo": {
      "description": "Auxiliary data which is not related to MARC type record",
      "type": "object",
      "$ref": "../mod-source-record-storage/additionalInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "snapshotId",
    "matchedId",
    "recordType",
    "rawRecord"
  ]
}

Example:

{
  "id": "67dfac11-1caf-4470-9ad1-d533f6360bdd",
  "snapshotId": "11dfac11-1caf-4470-9ad1-d533f6360bdd",
  "matchedProfileId": "c9db56f4-e1d4-11e8-9f32-f2801f1b9fd1",
  "matchedId": "c9db5b04-e1d4-11e8-9f32-f2801f1b9fd1",
  "generation": 1,
  "recordType": "MARC",
  "rawRecord": {
    "id": "2f390fa6-a2f8-4027-abaf-ee61952668bc",
    "content": "01542ccm a2200361   4500001000700000005001700007008004100024010001900065035002000084035001100104040002300115041001900138045000900157047007500166050001400241100004200255240001000297245016700307246002400474260003600498300002500534505031400559650001600873650002300889650004900912650004200961902002301003905002101026948004201047948002701089948002701116948003701143\u001e393893\u001e20141107001016.0\u001e830419m19559999gw mua   hiz   n    lat  \u001e  \u001fa   55001156/M \u001e  \u001fa(OCoLC)63611770\u001e  \u001fa393893\u001e  \u001fcUPB\u001fdUPB\u001fdNIC\u001fdNIC\u001e0 \u001falatitager\u001fgger\u001e  \u001fav6v9\u001e  \u001facn\u001fact\u001faco\u001fadf\u001fadv\u001faft\u001fafg\u001fams\u001fami\u001fanc\u001faop\u001faov\u001farq\u001fasn\u001fasu\u001fasy\u001favr\u001fazz\u001e0 \u001faM3\u001fb.M896\u001e1 \u001faMozart, Wolfgang Amadeus,\u001fd1756-1791.\u001e10\u001faWorks\u001e10\u001faNeue Ausgabe sämtlicher Werke,\u001fbin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u001fcHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u001e33\u001faNeue Mozart-Ausgabe\u001e  \u001faKassel,\u001fbBärenreiter,\u001fcc1955-\u001e  \u001fav.\u001fbfacsims.\u001fc33 cm.\u001e0 \u001faSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u001e 0\u001faVocal music\u001e 0\u001faInstrumental music\u001e 7\u001faInstrumental music\u001f2fast\u001f0(OCoLC)fst00974414\u001e 7\u001faVocal music\u001f2fast\u001f0(OCoLC)fst01168379\u001e  \u001fapfnd\u001fbAustin Music\u001e  \u001fa19980728120000.0\u001e1 \u001fa20100622\u001fbs\u001fdlap11\u001felts\u001fxToAddCatStat\u001e0 \u001fa20110818\u001fbr\u001fdnp55\u001felts\u001e2 \u001fa20130128\u001fbm\u001fdbmt1\u001felts\u001e2 \u001fa20141106\u001fbm\u001fdbatch\u001felts\u001fxaddfast\u001e\u001d"
  },
  "parsedRecord": {
    "id": "c9db5d7a-e1d4-11e8-9f32-f2801f1b9fd1",
    "content": {
      "leader": "01542ccm a2200361   4500",
      "fields": [
        {
          "001": "393893"
        },
        {
          "005": "20141107001016.0"
        },
        {
          "008": "830419m19559999gw mua   hiz   n    lat  "
        },
        {
          "010": {
            "subfields": [
              {
                "a": "   55001156/M "
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "(OCoLC)63611770"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "035": {
            "subfields": [
              {
                "a": "393893"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "040": {
            "subfields": [
              {
                "c": "UPB"
              },
              {
                "d": "UPB"
              },
              {
                "d": "NIC"
              },
              {
                "d": "NIC"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "041": {
            "subfields": [
              {
                "a": "latitager"
              },
              {
                "g": "ger"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "045": {
            "subfields": [
              {
                "a": "v6v9"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "047": {
            "subfields": [
              {
                "a": "cn"
              },
              {
                "a": "ct"
              },
              {
                "a": "co"
              },
              {
                "a": "df"
              },
              {
                "a": "dv"
              },
              {
                "a": "ft"
              },
              {
                "a": "fg"
              },
              {
                "a": "ms"
              },
              {
                "a": "mi"
              },
              {
                "a": "nc"
              },
              {
                "a": "op"
              },
              {
                "a": "ov"
              },
              {
                "a": "rq"
              },
              {
                "a": "sn"
              },
              {
                "a": "su"
              },
              {
                "a": "sy"
              },
              {
                "a": "vr"
              },
              {
                "a": "zz"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "050": {
            "subfields": [
              {
                "a": "M3"
              },
              {
                "b": ".M896"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "100": {
            "subfields": [
              {
                "a": "Mozart, Wolfgang Amadeus,"
              },
              {
                "d": "1756-1791."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "240": {
            "subfields": [
              {
                "a": "Works"
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "245": {
            "subfields": [
              {
                "a": "Neue Ausgabe sa\\u0308mtlicher Werke, "
              },
              {
                "b": "in Verbindung mit den Mozartsta\\u0308dten, Augsburg, Salzburg und Wien."
              },
              {
                "c": "Hrsg. von der Internationalen Stiftung Mozarteum, Salzburg."
              }
            ],
            "ind1": "1",
            "ind2": "0"
          }
        },
        {
          "246": {
            "subfields": [
              {
                "a": "Neue Mozart-Ausgabe"
              }
            ],
            "ind1": "3",
            "ind2": "3"
          }
        },
        {
          "260": {
            "subfields": [
              {
                "a": "Kassel,"
              },
              {
                "b": "Ba\\u0308renreiter,"
              },
              {
                "c": "c1955-"
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "300": {
            "subfields": [
              {
                "a": "v."
              },
              {
                "b": "facsims."
              },
              {
                "c": "33 cm."
              }
            ],
            "ind1": " ",
            "ind2": " "
          }
        },
        {
          "505": {
            "subfields": [
              {
                "a": "Ser. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesa\\u0308nge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik fu\\u0308r gro\\u0308ssere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement."
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              }
            ],
            "ind1": " ",
            "ind2": "0"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Instrumental music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst00974414"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "650": {
            "subfields": [
              {
                "a": "Vocal music"
              },
              {
                "2": "fast"
              },
              {
                "0": "(OCoLC)fst01168379"
              }
            ],
            "ind1": " ",
            "ind2": "7"
          }
        },
        {
          "902": {
            "subfields": [
              {
                "a":"pfnd"
              },
              {
                "b":"Austin Music"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "905": {
            "subfields": [
              {
                "a":"19980728120000.0"
              }
            ],
            "ind1":" ",
            "ind2":" "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20100622"
              },
              {
                "b": "s"
              },
              {
                "d": "lap11"
              },
              {
                "e": "lts"
              },
              {
                "x": "ToAddCatStat"
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                "a": "20110818"
              },
              {
                "b": "r"
              },
              {
                "d": "np55"
              },
              {
                "e": "lts"
              }
            ],
            "ind1": "0",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20130128"
              },
              {
                 "b": "m"
              },
              {
                 "d": "bmt1"
              },
              {
                 "e": "lts"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        },
        {
          "948": {
            "subfields": [
              {
                 "a": "20141106"
              },
              {
                 "b": "m"
              },
              {
                 "d": "batch"
              },
              {
                 "e": "lts"
              },
              {
                 "x": "addfast"
              }
            ],
            "ind1": "2",
            "ind2": " "
          }
        }
      ],
      "formattedContent": "LEADER 01542ccm a2200361   4500\u000a001 393893\u000a005 20141107001016.0\u000a008 830419m19559999gw mua   hiz   n    lat  \u000a010   \u0024a   55001156/M \u000a035   \u0024a(OCoLC)63611770\u000a035   \u0024a393893\u000a040   \u0024cUPB\u0024dUPB\u0024dNIC\u0024dNIC\u000a041 0 \u0024alatitager\u0024gger\u000a045   \u0024av6v9\u000a047   \u0024acn\u0024act\u0024aco\u0024adf\u0024adv\u0024aft\u0024afg\u0024ams\u0024ami\u0024anc\u0024aop\u0024aov\u0024arq\u0024asn\u0024asu\u0024asy\u0024avr\u0024azz\u000a050 0 \u0024aM3\u0024b.M896\u000a100 1 \u0024aMozart, Wolfgang Amadeus,\u0024d1756-1791.\u000a240 10\u0024aWorks\u000a245 10\u0024aNeue Ausgabe sämtlicher Werke,\u0024bin Verbindung mit den Mozartstädten, Augsburg, Salzburg und Wien.\u0024cHrsg. von der Internationalen Stiftung Mozarteum, Salzburg.\u000a246 33\u0024aNeue Mozart-Ausgabe\u000a260   \u0024aKassel,\u0024bBärenreiter,\u0024cc1955-\u000a300   \u0024av.\u0024bfacsims.\u0024c33 cm.\u000a505 0 \u0024aSer. I. Geistliche Gesangswerke -- Ser. II. Opern -- Ser. III. Lieder, mehrstimmige Gesänge, Kanons -- Ser. IV. Orchesterwerke -- Ser. V. Konzerte -- Ser. VI. Kirchensonaten -- Ser. VII. Ensemblemusik für grössere Solobesetzungen -- Ser. VIII. Kammermusik -- Ser. IX. Klaviermusik -- Ser. X. Supplement.\u000a650  0\u0024aVocal music\u000a650  0\u0024aInstrumental music\u000a650  7\u0024aInstrumental music\u00242fast\u00240(OCoLC)fst00974414\u000a650  7\u0024aVocal music\u00242fast\u00240(OCoLC)fst01168379\u000a902   \u0024apfnd\u0024bAustin Music\u000a905   \u0024a19980728120000.0\u000a948 1 \u0024a20100622\u0024bs\u0024dlap11\u0024elts\u0024xToAddCatStat\u000a948 0 \u0024a20110818\u0024br\u0024dnp55\u0024elts\u000a948 2 \u0024a20130128\u0024bm\u0024dbmt1\u0024elts\u000a948 2 \u0024a20141106\u0024bm\u0024dbatch\u0024elts\u0024xaddfas"
    }
  },
  "deleted": false,
  "additionalInfo": {
    "suppressDiscovery": false
  }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"record not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

GET /source-storage/sourceRecords

Get a list of Source Records

GET /source-storage/sourceRecords
Query Parameters
  • deleted: (boolean - default: false)

    selection condition of sourceRecords by field 'deleted'

    Example:

    false
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example recordType=MARC

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    recordType=MARC
    
  • 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

Response 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",
        "$ref": "sourceRecord.json"
      }
    },
    "totalRecords": {
      "description": "Total number of Source records",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "sourceRecords",
    "totalRecords"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /source-storage/populate-test-marc-records

A non-production endpoint to populate MARC records for testing purposes. Available only in case "test.mode" environment variable is set to true

POST /source-storage/populate-test-marc-records
Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Marc records collection for testing",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "rawRecords": {
      "description": "List of raw marc records",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "rawRecord.json"
      }
    }
  }
}

Response 204

Body

Media type: text/plain

Type: any

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 422

Unprocessable Entity

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /source-storage/formattedRecords/{id}

Get Formatted Record by sourceRecordId or by instanceId

GET /source-storage/formattedRecords/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • identifier: (one of INSTANCE, SRS - default: SRS)

    specifies by which id the record should be retrieved

    Example:

    INSTANCE

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Record DTO Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "type": "string"
    },
    "snapshotId": {
      "description": "Corresponding snapshot id, which is the same as jobExecutionId",
      "type": "string"
    },
    "matchedProfileId": {
      "description": "Id of the matcher profile which is applied for the record",
      "type": "string"
    },
    "matchedId": {
      "description": "Represents relations with another matched records, necessary for saving the history of applying changes for inventory/holding/etc records",
      "type": "string"
    },
    "generation": {
      "description": "Generation from the last record with the same matchedId incremented by 1. Starts from 0.",
      "type": "integer",
      "default": 0
    },
    "recordType": {
      "description": "Type of record, e.g. MARC",
      "type": "string",
      "$ref": "../mod-source-record-storage/recordType.json"
    },
    "rawRecord": {
      "description": "Raw record",
      "type": "object",
      "$ref": "../mod-source-record-storage/rawRecord.json"
    },
    "parsedRecord": {
      "description": "Parsed record",
      "type": "object",
      "$ref": "../mod-source-record-storage/parsedRecord.json"
    },
    "errorRecord": {
      "description": "Error record",
      "type": "object",
      "$ref": "../mod-source-record-storage/errorRecord.json"
    },
    "deleted": {
      "description": "Flag indicates that the record marked as deleted",
      "type": "boolean",
      "default": false
    },
    "additionalInfo": {
      "description": "Auxiliary data which is not related to MARC type record",
      "type": "object",
      "$ref": "../mod-source-record-storage/additionalInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "snapshotId",
    "matchedId",
    "recordType",
    "rawRecord"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 404

Not found

Body

Media type: text/plain

Type: any

Example:

Not found

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error