The cataloging interface enables the retrieval and modification of bibliographic records. The interface has been developed using the HTTP REST software architecture model.

This cataloging interface should not be used with new integrations, because it's heavily based on the Melinda's current library system.

Contact melinda-posti(at)helsinki.fi for details, if you're planning a new Melinda integration.

Connection addresses

Test environment

URL: https://melinda-test.kansalliskirjasto.fi/API/v1/

Protocols: https

Authentication

The implementation is compliant with HTTP Basic Access authentication and employs username-password identification. The credentials can be ordered by email: [email protected].

Requests using the GET method do not require authentication.

Resources

/bib

Method
Description
Parameters
Request content types
Response content types
Example
POSTCreate a new record

check (boolean) : Validate content, do not store the record

bypass_low_validation (boolean) : Save the record even if the user doesn't have permissions to all of the edited LOW-fields

bypass_index_check (boolean): Save the record without making duplicate detection check based on standard numbers

text/xml text/xml
POST /API/v1/bib/ HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxx
Host: melinda-test.kansalliskirjasto.fi
Content-Type:text/xml
Content-Length: 1601

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8

<response>
  <message>[0018] Document: 00XXXXXXX was updated successfully.</message>
  <session-id>XXXXXXXXXXXXXXXX</session-id>
</response>

/bib/:id

Method
Description
Parameters
Request content types
Response content types
Example
GETRetrieve a record

handle_deleted (boolean): Retrieve the record even if it is marked as deleted in the database

no_rerouting (boolean): If the record is marked deleted in the database, do not retrieve superseding record even if one can be found


text/xml
GET /API/v1/bib/1234 HTTP/1.1
Host: melinda-test.kansalliskirjasto.fi
          
HTTP/1.1 200 OK


Content-Type: text/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<record><leader>00000cam^a22002177i^4500</leader><controlfield tag="001">000001234</controlfield>
<controlfield tag="003">FI-MELINDA</controlfield><controlfield tag="005">20141229140637.0</controlfield>
<controlfield tag="008">900214s1980^^^^sw^||||||m^^^|||||||eng||</controlfield>
...
PUTUpdate a record

check (boolean) : Validate content, do not store the record

bypass_low_validation (boolean) : Save the record even if the user doesn't have permissions to all of the LOW-fields

bypass_index_check (boolean): Save the record without making duplicate detection check based on standard numbers

handle_deleted (boolean): Save the record, even if it is marked deleted in the database

text/xml text/xml
PUT /API/v1/bib/1234 HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxx
Host: melinda-test.kansalliskirjasto.fi
Content-Type:text/xml
Content-Length: 1601

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8

<response>
  <message>[0018] Document: 00XXXXXXX was updated successfully.</message>
  <session-id>XXXXXXXXXXXXXXXX</session-id>
</response>

/bib/:id/children

Method
Description
Parameters
Request content types
Response content types
Example
GET

Retrieve constituent units of a record

Note: As default API returns only those constituent units that are physically part of the parent. (In MARC 21 LDR/07 = 'a')

limit (number) : Maximum number of constituent units to retrieve. The total number of constituent units is stored in the allRecordsCount property of the collection element.

start (number) : Index from which to start retrieving constituent units (unit count starts at 0). The chosen index is stored in the firstRecordNumber property of the collection element.

include_parent (boolean) : Retrieve parent record along with its constituent units.

include_nonmono (boolean): Include also constituent units that are not physically part of the parent (in MARC 21 LDR/07 != 'a')

07 text/xml
GET /API/v1/bib/1234/children HTTP/1.1
Host: melinda-test.kansalliskirjasto.fi

HTTP/1.1 200 OK


<collection allRecordsCount="0">
</collection>


Parameter types follow the name declaration:

parameter (string): string parameter


Optional parameters are written in italics:

mandatory (string) : mandatory parameter

optional (boolean) : optional parameter

Response codes

Response codes returned by the library system