Entitlement Log Documentation
The Entitlement Log is a log of which resources (from the Agreements Local KB only) have been added to, updated within or removed from a library's collection of electronic resources based on their current active agreements. The purpose of the log is to give an external system (such as a discovery system) the ability to keep up to date with the resources available within a library collection by incrementally consuming events from the log over time. The current state of the collection can kept up to date by accessing all log entries sequentially, from the last time the log was accessed. If necessary the log can be "replayed" from the very start to the very latest entry to get the current representation of the library collection of electronic resources.
Updating the entitlement log
The Entitlement Log is currently automatically updated once every 24 hours by a scheduled task (along with other housekeeping tasks). It can also be updated manually by and API call:
GET /erm/admin/triggerEntitlementLogUpdateAccess to this endpoint requires the `erm.admin.action` permission
The request must be authenticated and include the x-okapi-tenant header (with a valid tenant name)
Retrieving the entitlement log
The current content of the Entitlement Log can be retrieved by:
GET /erm/entitlementLogEntryAccess to this endpoint requires the `erm.entitlements.collection.get` permission
The request must be authenticated and include the x-okapi-tenant header (with a valid tenant name)
Valid parameters that can be used for the endpoint are:
filters
match
term
sort
stats
perPage (number of records per page of results, defaults to 10 and supports a maximum of 100)
page (which page of results to retrieve based on the perPage parameter)
offset (number of records from start of results set to skip)
Using the parameter `stats=true` will wrap the entitlement log entries in a results array and include results stats
totalRecords
pageSize (i.e. number of records per page of results, controlled by the `perPage` parameter)
totalPages
page (i.e. current page)
It is possible to paginate through the results set by either increasing the page or offset parameters appropriately. N.B. The offset parameter must be a multiple of the perPage value.
The `filter` parameter can be used to retrieve a subset of the entire log by applying search filters. The key filter field is `seqid` which is a sequential id for additions to the entitlements log. So given that (for example) the last seen log entry had a 'seqId' == 001628499207853-000000 then the following request can be used to retrieve only log entries after this in the sequence:
GET /erm/entitlementLogEntry?stats=true&filters=seqid%3E001628499207853-000000
Where "%3E" is the percent/url encoded Greater Than symbol '>'.
Note that seqid is a text field and so using > in relation to a seqid will find those entries where the seqid is alphabetically later than the expressed value, not numerically greater. While the seqid is created using an epoch timestamp (in milliseconds) it is intended to be used purely as a way of tracking progress in terms of processing data from the entitlement log, not as a proxy for a date/time. The timestamp used to create the seqid is the timestamp at which the log entry was created.
Generally it is recommended that the results in the entitlement log are sorted by seqid using the parameter sort=seqid;asc (will start with the oldest seqid) or sort=seqid;desc (will start with the most recent seqid) in order to ensure the log events are consumed in order.
Supported filters, match, sort properties
The following properties can be used in the filters or match parameters
id (entitlement log entry UUID)
seqid
startDate
endDate
res (title UUID)
directEntitlement (entitlement UUID where the entitlement aka agreement line leading to the entitlement log entry is for a PCI)
packageEntitlement (entitlement UUID where the entitlement aka agreement line leading to the entitlement log entry is for a package)
eventType (one of ADD, UPDATE, REMOVE)
Entitlement log entries
The content of the a call such as
GET /erm/entitlementLogEntry?stats=true&filters=seqid%3E001628499207853-000000
Is a list of entitlement log entries which consists of the properties:
seqId: a sequential id for additions to the entitlements log
eventType: a property which contains "ADD" or "REMOVE". Sample JSON is provided here (where the `stats` parameter was set to `true` to wrap the entitlement log entries in a results array)
resource_name: name of the resource including platform and package information
title: title for the resource
coverage: array of coverage statements for the resource
identifiers: array of identifiers for the resource
suppress: suppressFromDiscovery value from the resource
type: resource type (serial or monograph)
license: license for the resource (not currently populated)
{
"results": [
{
"seqid": "001628498498612-000000",
"resource_name": "'\"Institutions, industrial upgrading, and economic performance in Ja...' on Platform 'Elgaronline' in Package Edward Elgar:Edward Elgar E-Book Archive in Business & Management, ...",
"title": "\"Institutions, industrial upgrading, and economic performance in Japan: the 'flying-geese' paradigm of catch-up growth\"",
"coverage": [],
"identifiers": [
{
"type": "isbn",
"value": "9781845425678"
}
],
"suppress": false,
"type": "monograph",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628498544017-000000",
"resource_name": "'\"Institutions, industrial upgrading, and economic performance in Ja...' on Platform 'Elgaronline' in Package Edward Elgar:Edward Elgar E-Book Archive in Business & Management, ...",
"title": "\"Institutions, industrial upgrading, and economic performance in Japan: the 'flying-geese' paradigm of catch-up growth\"",
"coverage": [],
"identifiers": [
{
"type": "isbn",
"value": "9781845425678"
}
],
"suppress": false,
"type": "monograph",
"license": null,
"eventType": "REMOVE"
},
{
"seqid": "001628499207853-000000",
"resource_name": "'19th century music' on Platform 'JSTOR' in Package JSTOR : Arts & Sciences III Collection : NK",
"title": "19th century music",
"coverage": [
{
"startDate": "1977-01-01",
"endDate": null,
"startVolume": "1",
"startIssue": "1",
"endVolume": null,
"endIssue": null,
"summary": "v1/i1/1977-01-01 - v*/i*/*"
}
],
"identifiers": [
{
"type": "zdb",
"value": "2052442-0"
},
{
"type": "eissn",
"value": "1533-8606"
},
{
"type": "ezb",
"value": "38504"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000000",
"resource_name": "'Journal of medicinal chemistry' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Journal of medicinal chemistry",
"coverage": [
{
"startDate": "1959-01-01",
"endDate": "1995-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "38",
"endIssue": null,
"summary": "v1/i*/1959-01-01 - v38/i*/1995-12-31"
}
],
"identifiers": [
{
"type": "zdb",
"value": "1491411-6"
},
{
"type": "zdb_ppn",
"value": "019841949"
},
{
"type": "eissn",
"value": "1520-4804"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000001",
"resource_name": "'Organometallics' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Organometallics",
"coverage": [
{
"startDate": "1982-01-01",
"endDate": "1995-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "14",
"endIssue": null,
"summary": "v1/i*/1982-01-01 - v14/i*/1995-12-31"
}
],
"identifiers": [
{
"type": "eissn",
"value": "1520-6041"
},
{
"type": "zdb_ppn",
"value": "020175094"
},
{
"type": "zdb",
"value": "2006302-7"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000002",
"resource_name": "'Industrial & engineering chemistry' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Industrial & engineering chemistry",
"coverage": [
{
"startDate": "1909-01-01",
"endDate": "1970-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "62",
"endIssue": null,
"summary": "v1/i*/1909-01-01 - v62/i*/1970-12-31"
}
],
"identifiers": [
{
"type": "zdb_ppn",
"value": "024391301"
},
{
"type": "zdb",
"value": "2103816-8"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000003",
"resource_name": "'Bioconjugate chemistry' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Bioconjugate chemistry",
"coverage": [
{
"startDate": "1990-01-01",
"endDate": "1995-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "6",
"endIssue": null,
"summary": "v1/i*/1990-01-01 - v6/i*/1995-12-31"
}
],
"identifiers": [
{
"type": "zdb_ppn",
"value": "019927363"
},
{
"type": "eissn",
"value": "1520-4812"
},
{
"type": "zdb",
"value": "1500067-9"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000004",
"resource_name": "'Macromolecules' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Macromolecules",
"coverage": [
{
"startDate": "1968-01-01",
"endDate": "1995-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "28",
"endIssue": null,
"summary": "v1/i*/1968-01-01 - v28/i*/1995-12-31"
}
],
"identifiers": [
{
"type": "zdb",
"value": "1491942-4"
},
{
"type": "eissn",
"value": "1520-5835"
},
{
"type": "zdb_ppn",
"value": "019847157"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000005",
"resource_name": "'Industrial and engineering chemistry / Process design and development' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Industrial and engineering chemistry / Process design and development",
"coverage": [
{
"startDate": "1962-01-01",
"endDate": "1986-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "25",
"endIssue": null,
"summary": "v1/i*/1962-01-01 - v25/i*/1986-12-31"
}
],
"identifiers": [
{
"type": "zdb_ppn",
"value": "024154458"
},
{
"type": "zdb",
"value": "2096933-8"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
},
{
"seqid": "001628499372032-000006",
"resource_name": "'Environmental science & technology' on Platform 'ACS Publications' in Package American Chemical Society: ACS Legacy Archives: NL",
"title": "Environmental science & technology",
"coverage": [
{
"startDate": "1967-01-01",
"endDate": "1995-12-31",
"startVolume": "1",
"startIssue": null,
"endVolume": "29",
"endIssue": null,
"summary": "v1/i*/1967-01-01 - v29/i*/1995-12-31"
}
],
"identifiers": [
{
"type": "zdb_ppn",
"value": "019583990"
},
{
"type": "eissn",
"value": "1520-5851"
},
{
"type": "zdb",
"value": "1465132-4"
}
],
"suppress": false,
"type": "serial",
"license": null,
"eventType": "ADD"
}
],
"pageSize": 10,
"page": 1,
"totalPages": 4,
"meta": {},
"totalRecords": 33,
"total": 33
}