mod-kb-ebsco API documentation version v1
https://github.com/folio-org/mod-kb-ebsco
mod-kb-ebsco (category)
Implements the eholdings interface using the EBSCO kb as a backend.
Packages
Retrieve a collection of packages
Create a custom package
get /eholdings/packages
Retrieve a collection of packages
Query Parameters
- q: (string)
String to search for to get a collection of packages
Example:
ABC-CLIO - page: (integer - minimum: 1 - maximum: 2147483647)
Page offset to retrieve results from Ebsco KB
Example:
1 - count: (integer - default: 25 - minimum: 0 - maximum: 100)
Count of number of results to retrieve from Ebsco KB
Example:
100 - sort: (one of name, relevance)
Option by which results are sorted
Example:
name - filter[selected]: (one of true, false, ebsco, all)
Filter to narrow down results based on selection status
Example:
false - filter[type]: (one of all, aggregatedfulltext, abstractandindex, ebook, ejournal, print, onlinereference, unknown)
Filter to narrow down results based on content type
Example:
print - filter[custom]: (true)
Filter to get list of custom packages
Example:
true
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [{
"id": "0-1117849",
"type": "packages",
"attributes": {
"contentType": "Unknown",
"customCoverage": {
"beginCoverage": "",
"endCoverage": ""
},
"isCustom": false,
"isSelected": false,
"name": "",
"packageId": 1117849,
"packageType": "Complete",
"providerId": 0,
"providerName": "System Account",
"selectedCount": 0,
"titleCount": 0,
"vendorId": 0,
"vendorName": "System Account",
"visibilityData": {
"isHidden": false,
"reason": ""
}
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
}]
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Invalid filter parameter"
}],
"jsonapi": {
"version": "1.0"
}
}post /eholdings/packages
Create a custom package
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- name: required (string)
Name of the custom package to be created
Example:
My test package - contentType: required (one of Aggregated Full Text, Abstract and Index, E-Book, E-Journal, Print, Online Reference, Unknown)
Content type of the custom package to be created
Example:
Unknown - customCoverage: (object)
Coverage dates of the custom package to be created
- beginCoverage: required (string)
- endCoverage: required (string)
Example:
{ "beginCoverage": "2003-01-01", "endCoverage": "2003-12-01" }
- name: required (string)
Example:
{
"data": {
"type": "packages",
"attributes": {
"name": "yet another custom package",
"contentType": "Unknown",
"customCoverage": {
"beginCoverage": "2003-01-01",
"endCoverage": "2004-01-01"
}
}
}
}HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "123355-2880981",
"type": "packages",
"attributes": {
"contentType": "E-Book",
"customCoverage": {
"beginCoverage": "2003-01-01",
"endCoverage": "2004-01-01"
},
"isCustom": true,
"isSelected": true,
"name": "yet another custom package again",
"packageId": 2880981,
"packageType": "Custom",
"providerId": 123355,
"providerName": "API DEV CORPORATE CUSTOMER",
"selectedCount": 0,
"titleCount": 0,
"vendorId": 123355,
"vendorName": "API DEV CORPORATE CUSTOMER",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"allowKbToAddTitles": false
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": {
"errors": [{
"code": 1009,
"subCode": 0,
"message": "Custom Package with the provided name already exists"
}]
}
}],
"jsonapi": {
"version": "1.0"
}
}Retrieve a specific package given packageId. Note that packageId is providerId-packageId
Update a managed or custom package using packageId Note that packageId is providerId-packageId
Delete a specific custom package using packageId. Note that packageId is providerId-packageId
get /eholdings/packages/{packageId}
Retrieve a specific package given packageId. Note that packageId is providerId-packageId
URI Parameters
- packageId: required (string)
Query Parameters
- include: (one of resources, provider)
Include resources or provider in response
Example:
resources
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "123355-2848228",
"attributes": {
"contentType": "E-Journal",
"customCoverage": {
"beginCoverage": "2003-01-01",
"endCoverage": "2004-01-01"
},
"isCustom": true,
"isSelected": true,
"name": "test package for documentation again",
"packageId": 2848228,
"packageType": "Custom",
"providerId": 123355,
"providerName": "API DEV CORPORATE CUSTOMER",
"selectedCount": 0,
"titleCount": 0,
"vendorId": 123355,
"vendorName": "API DEV CORPORATE CUSTOMER",
"visibilityData": {
"isHidden": true,
"reason": ""
},
"allowKbToAddTitles": false,
"packageToken": {
"factName":"siteid",
"prompt":"/itweb/",
"helpText":"<ul><li>Enter your token</li></ul>",
"value": "123456"
},
"proxy": {
"id": "<n>",
"inherited": true
}
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": {
"errors": [{
"code": 1006,
"subCode": 0,
"message": "Invalid value for orderby. Acceptable values are: Relevance, 0, PackageName, 1"
}, {
"code": 1005,
"subCode": 0,
"message": "Parameter Count is missing."
}, {
"code": 1005,
"subCode": 0,
"message": "Parameter Offset is missing."
}, {
"code": 1005,
"subCode": 0,
"message": "Parameter OrderBy is missing."
}]
}
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": {
"errors": [{
"code": 1001,
"subCode": 0,
"message": "Vendor not found"
}]
}
}],
"jsonapi": {
"version": "1.0"
}
}put /eholdings/packages/{packageId}
Update a managed or custom package using packageId Note that packageId is providerId-packageId
URI Parameters
- packageId: required (string)
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- name: required (string)
Name of the custom package to be updated. Note that this attribute can be updated ONLY FOR A CUSTOM PACKAGE.
Example:
My test package - contentType: required (one of Aggregated Full Text, Abstract and Index, E-Book, E-Journal, Print, Online Reference, Unknown)
Content type of the custom package to be updated. Note that this attribute can be updated ONLY FOR A CUSTOM PACKAGE.
Example:
Unknown - customCoverage: (object)
Coverage dates of the custom or managed package to be updated. Note that this attribute can be updated BOTH FOR CUSTOM PACKAGES AND MANAGED PACKAGES.
- beginCoverage: required (string)
- endCoverage: required (string)
Example:
{ "beginCoverage": "2003-01-01", "endCoverage": "2003-12-01" } - isSelected: (boolean)
Selection of the managed or custom package to be updated. Note that selection can be updated for BOTH CUSTOM AND MANAGED PACKAGES. For custom packages, if this is set to false, it deletes the package.
Example:
true - allowKbToAddTitles: (boolean)
Automatically allow KB to add titles for a managed package. Note that this attribute can be updated ONLY FOR A MANAGED PACKAGE.
Example:
true - visibilityData: (object)
Indicates whether package should be hidden or visible to patrons. Note that this attribute can be updated both for CUSTOM AND MANAGED PACKAGES.
- isHidden: required (boolean)
Example:
{ "isHidden": true } - packageToken: (object)
Tokens are variables in content URLs that identify the customer. The token is text within the URL that needs to be replaced with an institute-specific value.
Example:
{ "value": "hellotoken" } - proxy: (object)
- id: required (string)
Example:
{ "id": "EZ_Proxy" }
- name: required (string)
Example:
{
"data": {
"type": "packages",
"attributes": {
"name": "test package for documentation",
"contentType": "Unknown",
"customCoverage": {
"beginCoverage": "2003-01-01",
"endCoverage": "2003-12-01"
},
"isSelected": true,
"visibilityData": {
"isHidden": true
},
"packageToken": {
"value": "hellotoken"
},
"proxy": {
"id": "EZProxy"
}
}
}
}
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "123355-2880981",
"type": "packages",
"attributes": {
"contentType": "E-Book",
"customCoverage": {
"beginCoverage": "2003-01-01",
"endCoverage": "2004-01-01"
},
"isCustom": true,
"isSelected": true,
"name": "yet another custom package again",
"packageId": 2880981,
"packageType": "Custom",
"providerId": 123355,
"providerName": "API DEV CORPORATE CUSTOMER",
"selectedCount": 0,
"titleCount": 0,
"vendorId": 123355,
"vendorName": "API DEV CORPORATE CUSTOMER",
"visibilityData": {
"isHidden": true,
"reason": ""
},
"allowKbToAddTitles": true
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": {
"errors": [{
"code": 1005,
"subCode": 0,
"message": "Attribute IsSelected is missing."
}]
}
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": {
"errors": [{
"code": 1001,
"subCode": 0,
"message": "Vendor not found"
}]
}
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 422
Unprocessable Entity
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Invalid beginCoverage",
"detail": "Begincoverage must be blank",
"source": {}
},
{
"title": "Invalid endCoverage",
"detail": "Endcoverage must be blank",
"source": {}
}
],
"jsonapi": {
"version": "1.0"
}
}Include all resources belonging to a specific package
get /eholdings/packages/{packageId}/resources
Include all resources belonging to a specific package
URI Parameters
- packageId: required (string)
Query Parameters
- sort: (one of name, relevance)
Option by which results are sorted. Defaults to relevance if query or name if no query.
Example:
name - filter[selected]: (one of true, false, ebsco, all)
Filter to narrow down results based on selection status. Defaults to all.
Example:
false - filter[type]: (one of all, audiobook, book, bookseries, database, journal, newsletter, newspaper, proceedings, report, streamingaudio, streamingvideo, thesisdissertation, website, unspecified)
Filter to narrow down results based on resource type. Defaults to all.
Example:
book - filter[name]: (string)
String to search title name to get a collection of titles
Example:
War and Peace - filter[isxn]: (string)
String to search ISSN and ISBN to get a collection of titles
Example:
1050-3331 - filter[subject]: (string)
String to search subjects to get a collection of titles
Example:
history - filter[publisher]: (string)
String to search publishers to get a collection of titles
Example:
academic
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [{
"id": "19-6581-581242",
"type": "resources",
"attributes": {
"description": null,
"edition": null,
"isPeerReviewed": null,
"isTitleCustom": false,
"publisherName": "Wroclaw University of Environmental & Life Sciences",
"titleId": 581242,
"contributors": [],
"identifiers": [{
"id": "1644-065X",
"type": "ISSN",
"subtype": "Print"
},
{
"id": "2083-8654",
"type": "ISSN",
"subtype": "Online"
},
{
"id": "97C7",
"type": "Mid",
"subtype": "Empty"
},
{
"id": "581242",
"type": "BHM",
"subtype": "Empty"
}
],
"name": "Acta Scientiarum Polonorum. Biotechnologia",
"publicationType": "Journal",
"subjects": [{
"type": "TLI",
"subject": "Biological Engineering"
}],
"coverageStatement": null,
"customEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"isPackageCustom": false,
"isSelected": false,
"isTokenNeeded": false,
"locationId": 4829613,
"managedEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"packageId": "19-6581",
"packageName": "EBSCO Biotechnology Collection: India",
"url": "http://search.ebscohost.com/direct.asp?db=bti&jid=97C7&scope=site",
"vendorId": 19,
"vendorName": "EBSCO",
"providerId": 19,
"providerName": "EBSCO",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"managedCoverages": [{
"beginCoverage": "2008-12-01",
"endCoverage": ""
}],
"customCoverages": [],
"proxy": null
},
"relationships": {
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
},
"title": {
"meta": {
"included": false
}
},
"package": {
"meta": {
"included": false
}
}
}
},
{
"id": "19-6581-2467485",
"type": "resources",
"attributes": {
"description": null,
"edition": null,
"isPeerReviewed": null,
"isTitleCustom": false,
"publisherName": "AVS: Science & Technology of Materials, Interfaces, and Processing",
"titleId": 2467485,
"contributors": [],
"identifiers": [{
"id": "1934-8630",
"type": "ISSN",
"subtype": "Print"
},
{
"id": "1559-4106",
"type": "ISSN",
"subtype": "Online"
},
{
"id": "102667066",
"type": "SPID",
"subtype": "Empty"
},
{
"id": "122153798",
"type": "SPID",
"subtype": "Empty"
},
{
"id": "714936",
"type": "EjsJournalID",
"subtype": "Empty"
},
{
"id": "2F7L",
"type": "Mid",
"subtype": "Empty"
},
{
"id": "2248363",
"type": "BHM",
"subtype": "Empty"
}
],
"name": "Biointerphases",
"publicationType": "Journal",
"subjects": [{
"type": "TLI",
"subject": "Physics"
}],
"coverageStatement": null,
"customEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"isPackageCustom": false,
"isSelected": false,
"isTokenNeeded": false,
"locationId": 4829582,
"managedEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"packageId": "19-6581",
"packageName": "EBSCO Biotechnology Collection: India",
"url": "http://search.ebscohost.com/direct.asp?db=bti&jid=2F7L&scope=site",
"vendorId": 19,
"vendorName": "EBSCO",
"providerId": 19,
"providerName": "EBSCO",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"managedCoverages": [{
"beginCoverage": "2006-12-01",
"endCoverage": ""
}],
"customCoverages": [],
"proxy": null
},
"relationships": {
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
},
"title": {
"meta": {
"included": false
}
},
"package": {
"meta": {
"included": false
}
}
}
}
],
"meta": {
"totalResults": 157
},
"jsonapi": {
"version": "1.0"
}
}Providers
Collection of available providers in eholdings.
Get a list of providers based on the search field.
get /eholdings/providers
Get a list of providers based on the search field.
Query Parameters
- q: (string)
Text entered in search field
Example:
Basket Weaving - page: (number - minimum: 1)
Page offset from which results are retrieved
Example:
1 - count: (number - default: 25 - minimum: 0 - maximum: 100)
The maximum number of results to return in the response.
Example:
10 - sort: (one of name, relevance - default: relevance)
Option by which results are sorted
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [{
"id": "19",
"type": "providers",
"attributes": {
"name": "EBSCO",
"packagesTotal": 627,
"packagesSelected": 49,
"providerToken": null,
"supportsCustomPackages": false
},
"relationships": {
"packages": {
"meta": {
"included": false
}
}
}
},
{
"id": "273",
"type": "providers",
"attributes": {
"name": "EBSCO Open Access Lists",
"packagesTotal": 23,
"packagesSelected": 6,
"providerToken": null,
"supportsCustomPackages": false
},
"relationships": {
"packages": {
"meta": {
"included": false
}
}
}
}
],
"meta": {
"totalResults": 2
},
"jsonapi": {
"version": "1.0"
}
}Entity representing a provider
Get the provider with providerId = {provider_id}
This operation allows you to update provider proxy and token values for a specific provider ID.
get /eholdings/providers/{provider_id}
Get the provider with providerId = {provider_id}
URI Parameters
- provider_id: required (string)
Query Parameters
- include: (packages - default: packages)
Name of nested resource to include
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "419",
"type": "providers",
"attributes": {
"name": "ecch",
"packagesTotal": 2,
"packagesSelected": 0,
"supportsCustomPackages": false,
"providerToken": {
"factName":"siteid",
"prompt":"/itweb/",
"helpText":"<ul><li>Enter your token</li></ul>",
"value": "123456"
},
"proxy": {
"id": "EZProxy",
"inherited": true
}
},
"relationships": {
"packages": {
"data": [{
"type": "packages",
"id": "419-3402"
},
{
"type": "packages",
"id": "419-3291"
}
]
}
}
},
"included": [{
"id": "419-3402",
"type": "packages",
"attributes": {
"contentType": "Abstract and Index",
"customCoverage": {
"beginCoverage": "",
"endCoverage": ""
},
"isCustom": false,
"isSelected": false,
"name": "Case Online Information System - COLIS",
"packageId": 3402,
"packageType": "Complete",
"providerId": 419,
"providerName": "ecch",
"selectedCount": 0,
"titleCount": 1,
"vendorId": 419,
"vendorName": "ecch",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"allowKbToAddTitles": null
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
},
{
"id": "419-3291",
"type": "packages",
"attributes": {
"contentType": "Abstract and Index",
"customCoverage": {
"beginCoverage": "",
"endCoverage": ""
},
"isCustom": false,
"isSelected": false,
"name": "European Case Clearing House Collection",
"packageId": 3291,
"packageType": "Complete",
"providerId": 419,
"providerName": "ecch",
"selectedCount": 0,
"titleCount": 1,
"vendorId": 419,
"vendorName": "ecch",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"allowKbToAddTitles": null
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
}
],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Provider not found"
}],
"jsonapi": {
"version": "1.0"
}
}put /eholdings/providers/{provider_id}
This operation allows you to update provider proxy and token values for a specific provider ID.
URI Parameters
- provider_id: required (string)
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- providerToken: (object)
Tokens are variables in content URLs that identify the customer. The token is text within the URL that needs to be replaced with an institute-specific value.
Example:
{ "value": "hellotoken" } - proxy: (object)
- id: required (string)
Example:
{ "id": "EZ_Proxy" }
- providerToken: (object)
Example:
{
"data": {
"type": "providers",
"attributes": {
"providerToken": {
"value": "hellotoken"
},
"proxy": {
"id": "EZProxy"
}
}
}
}HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "18",
"type": "providers",
"attributes": {
"name": "Gale | Cengage",
"packagesTotal": 243,
"packagesSelected": 18,
"providerToken": {
"factName": "[[galesiteid]]",
"prompt": "/itweb/",
"helpText": "\u003cul\u003e\r\n \u003cli\u003eEnter your Gale\u003csup\u003e®\u003c/sup\u003e site ID in the space provided below. The site ID may contain a combination of alpha/numeric characters, varying in length. \u003cblockquote style=\"margin-right: 0px;\" dir=\"ltr\"\u003e\r\n \u003cp\u003e Example: The site ID immediately follows /itweb/ in a URL. The site ID in the following URL is \u003ci\u003eaa11bb22\u003c/i\u003e. \u003c/p\u003e\r\n \u003c/blockquote\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003cblockquote style=\"margin-right: 0px;\" dir=\"ltr\"\u003e\u003cblockquote style=\"margin-right: 0px;\" dir=\"ltr\"\u003e\r\n\u003cp\u003e\u003cspan style=\"text-decoration: underline;\"\u003ehttp://infotrac.galegroup.com/itweb/aa11bb22?db=AIM\u003c/span\u003e\u003c/p\u003e\r\n\u003c/blockquote\u003e\u003c/blockquote\u003e\u003cbr /\u003e\r\n\u003cul\u003e\r\n \u003cli\u003eIf no site ID is specified, your Gale Group links may not function properly, as Gale Group requires this information for authentication. \u003c/li\u003e\r\n \u003cli\u003eIf you are unable to locate the site ID, please contact Gale Group. For contact information, visit: \u003ca href=\"http://access.gale.com/authentication/\"\u003ehttp://access.gale.com/authentication/\u003c/a\u003e. \u003c/li\u003e\r\n\u003c/ul\u003e\r\n",
"value": "hellotoken"
},
"supportsCustomPackages": false,
"proxy": {
"id": "EZProxy",
"inherited": false
}
},
"relationships": {
"packages": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 500
Body
Media type: application/vnd.api+json
Type: any
This operation allows you to retrieve a list of packages from EPKB for a provider including customer context.
get /eholdings/providers/{provider_id}/packages
This operation allows you to retrieve a list of packages from EPKB for a provider including customer context.
URI Parameters
- provider_id: required (string)
Query Parameters
- q: (string)
Text entered in search field
Example:
Basket Weaving - page: (number - minimum: 1)
Page offset from which results are retrieved
Example:
1 - count: (number - default: 25 - minimum: 0 - maximum: 100)
The maximum number of results to return in the response.
Example:
10 - sort: (one of name, relevance - default: relevance)
Option by which results are sorted
- filter[selected]: (one of true, false, ebsco)
Filter to narrow down results based on selection status
- filter[type]: (one of all, aggregatefulltext, abstractandindex, ebook, ejournal, print, unknown, onlinereference - default: all)
Filter to narrow down results based on content type
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [{
"id": "0-1117849",
"type": "packages",
"attributes": {
"contentType": "Unknown",
"customCoverage": {
"beginCoverage": "",
"endCoverage": ""
},
"isCustom": false,
"isSelected": false,
"name": "",
"packageId": 1117849,
"packageType": "Complete",
"providerId": 0,
"providerName": "System Account",
"selectedCount": 0,
"titleCount": 0,
"vendorId": 0,
"vendorName": "System Account",
"visibilityData": {
"isHidden": false,
"reason": ""
}
},
"relationships": {
"resources": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
}
}
}]
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Resources
Create a relation between an existing custom package and an existing custom/managed title.
post /eholdings/resources
Create a relation between an existing custom package and an existing custom/managed title.
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- packageId: required (string)
Id of the custom package to which the managed/custom title is to be associated. Note that packageId is a combination of vendorId-packageId.
Example:
123355-2845510 - titleId: required (string)
Id of the managed/custom title that needs to be associated to a custom package.
Example:
17059786 - url: (string)
Custom URL displaying the relationship between the custom package and custom/managed title.
Example:
https://hello.io
- packageId: required (string)
Example:
{
"data": {
"type": "resources",
"attributes": {
"packageId": "123355-2845510",
"titleId": "17059786",
"url": "https://hello.io"
}
}
}HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "123355-2845510-17059786",
"type": "resources",
"attributes": {
"description": null,
"edition": null,
"isPeerReviewed": false,
"isTitleCustom": true,
"publisherName": null,
"titleId": 17059786,
"contributors": [],
"identifiers": [],
"name": "SD custom title",
"publicationType": "Book",
"subjects": [],
"coverageStatement": null,
"customEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"isPackageCustom": true,
"isSelected": true,
"isTokenNeeded": false,
"locationId": 0,
"managedEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"packageId": "123355-2845510",
"packageName": "Testing2",
"url": null,
"vendorId": 123355,
"vendorName": "API DEV CORPORATE CUSTOMER",
"providerId": 123355,
"providerName": "API DEV CORPORATE CUSTOMER",
"visibilityData": {
"isHidden": false,
"reason": ""
},
"managedCoverages": [],
"customCoverages": [],
"proxy": {
"id": "<n>",
"inherited": true
}
},
"relationships": {
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
},
"title": {
"meta": {
"included": false
}
},
"package": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
HTTP status code 422
Unprocessable Entity
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Invalid PackageId",
"detail": "Packageid Cannot associate Title with a managed Package",
"source": {}
}],
"jsonapi": {
"version": "1.0"
}
}Retrieve a specific resource given resourceId. Note that a resource is a managed/custom title associated with a managed/custom package. resourceId is providerId-packageId-titleId
Update a managed or custom resource using resourceId Note that resourceId is providerId-packageId-titleId
Delete the association between a custom/managed title and a custom package using resourceId. Note that resourceId is providerId-packageId-titleId If the title is custom and is not associated with any other package, then the title will be deleted from the knowledge base.
get /eholdings/resources/{resourceId}
Retrieve a specific resource given resourceId. Note that a resource is a managed/custom title associated with a managed/custom package. resourceId is providerId-packageId-titleId
URI Parameters
- resourceId: required (string)
Query Parameters
- include: (one of provider, package, title)
Include provider, package or title in response
Example:
provider
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "22-1887786-1440285",
"type": "resources",
"attributes": {
"description": null,
"edition": null,
"isPeerReviewed": false,
"isTitleCustom": false,
"publisherName": "Elsevier",
"titleId": 1440285,
"contributors": [{
"type": "Author",
"contributor": "Havard, Margaret"
},
{
"type": "Author",
"contributor": "Tiziani, Adriana."
}
],
"identifiers": [{
"id": "1440285",
"type": "BHM",
"subtype": "Empty"
},
{
"id": "475765",
"type": "EPBookID",
"subtype": "Empty"
},
{
"id": "978-0-7295-3913-5",
"type": "ISBN",
"subtype": "Print"
},
{
"id": "978-0-7295-7913-1",
"type": "ISBN",
"subtype": "Online"
}
],
"name": "Havard's Nursing Guide to Drugs (Nursing Guide to Drugs)",
"publicationType": "Book",
"subjects": [{
"type": "BISAC",
"subject": "MEDICAL / Nursing / Pharmacology"
}],
"coverageStatement": "Only 2000s issues available.",
"customEmbargoPeriod": {
"embargoUnit": "Days",
"embargoValue": 7
},
"isPackageCustom": false,
"isSelected": true,
"isTokenNeeded": true,
"locationId": 17545807,
"managedEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"packageId": "22-1887786",
"packageName": "ProQuest Ebook Central",
"url": "https://ebookcentral.proquest.com/lib/[[SiteID]]/detail.action?docID=1722033",
"vendorId": 22,
"vendorName": "Proquest Info & Learning Co",
"providerId": 22,
"providerName": "Proquest Info & Learning Co",
"visibilityData": {
"isHidden": true,
"reason": ""
},
"managedCoverages": [{
"beginCoverage": "2010-01-01",
"endCoverage": "2010-12-31"
}],
"customCoverages": [{
"beginCoverage": "2003-01-01",
"endCoverage": "2004-01-01"
}],
"proxy": {
"id": "EZProxy",
"inherited": false
}
},
"relationships": {
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"data": {
"type": "providers",
"id": "22"
}
},
"title": {
"meta": {
"included": false
}
},
"package": {
"meta": {
"included": false
}
}
}
},
"included": [{
"id": "22",
"type": "providers",
"attributes": {
"name": "Proquest Info & Learning Co",
"packagesTotal": 840,
"packagesSelected": 30,
"providerToken": null,
"supportsCustomPackages": false,
"proxy": {
"id": "EZProxy",
"inherited": true
}
},
"relationships": {
"packages": {
"meta": {
"included": false
}
}
}
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Title not found"
}],
"jsonapi": {
"version": "1.0"
}
}put /eholdings/resources/{resourceId}
Update a managed or custom resource using resourceId Note that resourceId is providerId-packageId-titleId
URI Parameters
- resourceId: required (string)
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- url: (string)
Custom URL of a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
https://hello.io - name: (string)
Title name for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
Sample Title - isPeerReviewed: (boolean)
Peer review indicator for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
true - publicationType: (one of Audiobook, Book, Book Series, Database, Journal, Newsletter, Newspaper, Proceedings, Report, Streaming Audio, Streaming Video, Thesis & Dissertation, Website, Unspecified)
Publication Type for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
Newspaper - publisherName: (string)
Publisher Name for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
ABC Publishing - edition: (string)
Edition for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
5 - description: (string)
Description for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Example:
Sample title description - contributors: (array of object)
Contributors for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Items: contributor
- type: required (one of Author, Editor, Illustrator)
Example:
Author - contributor: required (string)
Example:
{ "type": "Author", "contributor": "Tiziani, Adriana." }Example:
[ { "type": "Author", "contributor": "Havard, Margaret" }, { "type": "Illustrator", "contributor": "Tiziani, Adriana" } ] - type: required (one of Author, Editor, Illustrator)
- identifiers: (array of object)
Identifiers for a custom resource. Note that this attribute can be updated ONLY FOR A CUSTOM RESOURCE.
Items: identifier
- id: required (string)
- type: required (one of ISSN, ISBN)
Example:
ISSN - subtype: required (one of Print, Online)
Example:
Print
Example:
{ "id": "978-0-7295-3913-5", "type": "ISBN", "subtype": "Print" }Example:
[ { "id": "978-0-7295-3913-5", "type": "ISBN", "subtype": "Print" }, { "id": "1996-0794", "type": "ISSN", "subtype": "Print" } ] - customCoverages: (array of object)
Coverage dates of the custom or managed resource to be updated. Note that this attribute can be updated BOTH FOR CUSTOM RESOURCES AND MANAGED RESOURCES.
Items: customCoverage
- beginCoverage: required (string)
- endCoverage: required (string)
Example:
{ "beginCoverage": "2003-01-01", "endCoverage": "2003-12-01" }Example:
[ { "beginCoverage": "2018-06-03", "endCoverage": "2018-06-04" }, { "beginCoverage": "2018-06-05", "endCoverage": "2018-06-06" } ] - isSelected: required (boolean)
Selection of the managed or custom resource to be updated. Note that selection can be updated for BOTH CUSTOM AND MANAGED RESOURCES. For custom resources, if this is set to false, it disassociates the resource from the contained custom package. If the title is custom and is not associated with any other package, then the title will be deleted from the knowledge base. This param is required for a custom resource and is optional for a managed resource.
Example:
true - visibilityData: (object)
Indicates whether resource should be hidden or visible to patrons. Note that this attribute can be updated both for CUSTOM AND MANAGED RESOURCES.
- isHidden: required (boolean)
Example:
{ "isHidden": true } - coverageStatement: (string)
Coverage Statement of a managed or custom resource. Note that this attribute can be updated both for CUSTOM AND MANAGED RESOURCES.
Example:
Sample coverage statement - customEmbargoPeriod: (object)
Custom Embargo of a managed or custom resource. Note that this attribute can be updated both for CUSTOM AND MANAGED RESOURCES.
- embargoValue: required (number)
- embargoUnit: required (string)
Example:
{ "embargoValue": 4, "embargoUnit": "Weeks" } - proxy: (object)
Ability to update selection of proxy for a custom or managed resource. Note that this attribute can be updated both for CUSTOM AND MANAGED RESOURCES.
- id: required (string)
Example:
{ "id": "EZ_Proxy" }
- url: (string)
Example:
{
"data": {
"type": "resources",
"attributes": {
"name": "Updated Custom Title Name",
"isPeerReviewed": true,
"publicationType": "Newspaper",
"publisherName": "Updated Publisher",
"edition": "5",
"description": "Updated Description",
"url": "https://hello.io",
"contributors": [
{
"type":"Author",
"contributor":"smith, john"
},
{
"type":"Illustrator",
"contributor":"smith, ralph"
}
],
"identifiers": [
{
"id":"11-2222-3333",
"type":"ISSN",
"subtype":"Online"
}
],
"isSelected": true,
"visibilityData": {
"isHidden" : false
},
"customEmbargoPeriod": {
"embargoUnit" : "Months",
"embargoValue" : 5
},
"customCoverages" : [
{
"beginCoverage" : "2001-01-01",
"endCoverage" : "2004-02-01"
}
],
"coverageStatement": "Updated Coverage Statement",
"proxy" : {
"id" : "<n>"
}
}
}
}HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "123355-2845510-17059786",
"type": "resources",
"attributes": {
"description": null,
"edition": null,
"isPeerReviewed": false,
"isTitleCustom": true,
"publisherName": null,
"titleId": 17059786,
"contributors": [],
"identifiers": [],
"name": "SD custom title",
"publicationType": "Book",
"subjects": [],
"coverageStatement": "hello",
"customEmbargoPeriod": {
"embargoUnit": "Weeks",
"embargoValue": 4
},
"isPackageCustom": true,
"isSelected": true,
"isTokenNeeded": false,
"locationId": 39248032,
"managedEmbargoPeriod": {
"embargoUnit": null,
"embargoValue": 0
},
"packageId": "123355-2845510",
"packageName": "\"Testing2\"",
"url": "https://hello.io",
"vendorId": 123355,
"vendorName": "API DEV CORPORATE CUSTOMER",
"providerId": 123355,
"providerName": "API DEV CORPORATE CUSTOMER",
"visibilityData": {
"isHidden": true,
"reason": ""
},
"managedCoverages": [],
"customCoverages": [{
"beginCoverage": "2018-06-05",
"endCoverage": "2018-06-07"
},
{
"beginCoverage": "2018-06-08",
"endCoverage": "2018-06-10"
}
],
"proxy": {
"id": "<n>",
"inherited": true
}
},
"relationships": {
"vendor": {
"meta": {
"included": false
}
},
"provider": {
"meta": {
"included": false
}
},
"title": {
"meta": {
"included": false
}
},
"package": {
"meta": {
"included": false
}
}
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "CoverageList cannot contain overlapping dates."
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Title not found"
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 422
Unprocessable Entity
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Invalid beginCoverage",
"detail": "Begincoverage must be blank",
"source": {}
},
{
"title": "Invalid endCoverage",
"detail": "Endcoverage must be blank",
"source": {}
}
],
"jsonapi": {
"version": "1.0"
}
}delete /eholdings/resources/{resourceId}
Delete the association between a custom/managed title and a custom package using resourceId. Note that resourceId is providerId-packageId-titleId If the title is custom and is not associated with any other package, then the title will be deleted from the knowledge base.
URI Parameters
- resourceId: required (string)
HTTP status code 204
No Content
HTTP status code 400
Bad Request
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Invalid resource",
"detail": "Resource cannot be deleted",
"source": {}
}],
"jsonapi": {
"version": "1.0"
}
}HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [{
"title": "Title not found"
}],
"jsonapi": {
"version": "1.0"
}
}Titles
Collection of available titles in eholdings.
Get a set of titles matching the given search criteria.
Create a new Custom Title.
get /eholdings/titles
Get a set of titles matching the given search criteria.
Query Parameters
- page: (integer - minimum: 1 - maximum: 2147483647)
Page offset to retrieve results from Ebsco KB
Example:
1 - count: (integer - default: 25 - minimum: 0 - maximum: 100)
Count of number of results to retrieve from Ebsco KB
Example:
100 - sort: (one of name, relevance)
Option by which results are sorted. Defaults to relevance if query or name if no query.
Example:
name - filter[selected]: (one of true, false, ebsco, all)
Filter to narrow down results based on selection status. Defaults to all.
Example:
false - filter[type]: (one of all, audiobook, book, bookseries, database, journal, newsletter, newspaper, proceedings, report, streamingaudio, streamingvideo, thesisdissertation, website, unspecified)
Filter to narrow down results based on resource type. Defaults to all.
Example:
book - filter[name]: (string)
String to search title name to get a collection of titles
Example:
War and Peace - filter[isxn]: (string)
String to search ISSN and ISBN to get a collection of titles
Example:
1050-3331 - filter[subject]: (string)
String to search subjects to get a collection of titles
Example:
history - filter[publisher]: (string)
String to search publishers to get a collection of titles
Example:
academic
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [
{
"attributes": {
"identifiers": [
{
"id": "100130",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A call to action: Changing the culture of drinking at U.S. colleges",
"publicationType": "Journal",
"publisherName": "National Institute on Alcohol Abuse and Alcoholism",
"subjects": [
{
"subject": "Social Services",
"type": "TLI"
}
]
},
"id": "100130",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "125590",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "1093-9253",
"subtype": "Print",
"type": "ISSN"
}
],
"isTitleCustom": false,
"name": "A and WMA Environmental Compliance News",
"publicationType": "Journal",
"publisherName": "Elsevier",
"subjects": [
{
"subject": "Pollution Control & Waste Management",
"type": "TLI"
}
]
},
"id": "125590",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "169441",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-92-64-18255-4",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-1-280-03078-9",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-92-64-18256-1",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Better World for All: Progress Towards the International Development Goals",
"publicationType": "Book",
"publisherName": "OECD Publications Centre",
"subjects": [
{
"subject": "Development Economics",
"type": "TLI"
}
]
},
"id": "169441",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "169442",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-92-64-17007-0",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-1-280-08397-6",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-92-64-17259-3",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Caring World: The New Social Policy Agenda",
"publicationType": "Book",
"publisherName": "OECD Publications Centre",
"subjects": [
{
"subject": "Social Services",
"type": "TLI"
}
]
},
"id": "169442",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "200200065",
"subtype": "Empty",
"type": "Mid"
},
{
"id": "183204",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-1-55798-843-0",
"subtype": "Print",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A beginner's guide to the MCMI-III",
"publicationType": "Book",
"publisherName": "American Psychological Association",
"subjects": []
},
"id": "183204",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "149900",
"subtype": "Empty",
"type": "EPBookID"
},
{
"id": "2S63",
"subtype": "Empty",
"type": "Mid"
},
{
"id": "210886",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-0-471-65128-4",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-0-471-75812-9",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-0-471-75813-6",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-1-280-34968-3",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Basic Introduction to Pollutant Fate and Transport: An Integrated Approach with Chemistry, Modeling, Risk Assessment, and Environmental Legislation",
"publicationType": "Book",
"publisherName": "John Wiley & Sons Incorporated",
"subjects": [
{
"subject": "Environmental Engineering",
"type": "TLI"
},
{
"subject": "SCIENCE / Chemistry / Organic",
"type": "BISAC"
}
]
},
"id": "210886",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "517665",
"subtype": "Empty",
"type": "EPBookID"
},
{
"id": "2R31",
"subtype": "Empty",
"type": "Mid"
},
{
"id": "210887",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-0-471-22490-7",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-0-471-22758-8",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-0-471-46118-0",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-1-280-55646-3",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Biologist's Guide to Analysis of DNA Microarray Data",
"publicationType": "Book",
"publisherName": "John Wiley & Sons Incorporated",
"subjects": [
{
"subject": "Physiology",
"type": "TLI"
},
{
"subject": "SCIENCE / Life Sciences / Molecular Biology",
"type": "BISAC"
}
]
},
"id": "210887",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "ZCAA",
"subtype": "Empty",
"type": "NewsbankID"
},
{
"id": "272942",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A & G Information Service",
"publicationType": "Newspaper",
"publisherName": "New World Publishing",
"subjects": [
{
"subject": "News",
"type": "TLI"
}
]
},
"id": "272942",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "286087",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A bill to amend the law relating to the employment of waitresses in restaurants.",
"publicationType": "Book",
"publisherName": "London, Eyre & Spottiswoode",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "286087",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287713",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A bill to limit the hours of employment of women as bar assistants on premises where intoxicating liquors may be sold for consumption on the premises.",
"publicationType": "Book",
"publisherName": "London, Eyre & Spottiswoode",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287713",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287714",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A boarding home for working girls.",
"publicationType": "Book",
"publisherName": "Unspecified",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287714",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287715",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A book of duchesses : studies in personality",
"publicationType": "Book",
"publisherName": "A. Melrose",
"subjects": [
{
"subject": "Personality",
"type": "TLI"
}
]
},
"id": "287715",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287716",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A book of noble women",
"publicationType": "Book",
"publisherName": "Small, Maynard",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287716",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287717",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief history of the movement for woman suffrage in the United States",
"publicationType": "Book",
"publisherName": "National Woman Suffrage Pub. Co.",
"subjects": [
{
"subject": "United States History",
"type": "TLI"
},
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287717",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287718",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief history of the Rhode Island Woman Suffrage Association during twenty-four years, from 1868 to 1893.",
"publicationType": "Book",
"publisherName": "E.L. Freeman",
"subjects": [
{
"subject": "United States History",
"type": "TLI"
},
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287718",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287719",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief memoir of Maria Fox, late of Tottenham.",
"publicationType": "Book",
"publisherName": "Association of Friends for the Diffusion of Religious and Useful Knowledge",
"subjects": [
{
"subject": "Christianity",
"type": "TLI"
}
]
},
"id": "287719",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "2882",
"subtype": "Empty",
"type": "Mid"
},
{
"id": "287720",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief memoir with portions of the diary, letters, and other remains, of Eliza Southall, late of Birmingham, England.",
"publicationType": "Book",
"publisherName": "Book Association of Friends",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287720",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287721",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief summary, in plain language, of the most important laws concerning women : together with a few observations thereon.",
"publicationType": "Book",
"publisherName": "J. Chapman",
"subjects": [
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287721",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "287722",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A brief summary, in plain language, of the most important laws of England concerning women : together with a few observations thereon",
"publicationType": "Book",
"publisherName": "Trubner",
"subjects": [
{
"subject": "Law",
"type": "TLI"
},
{
"subject": "Women's Interest",
"type": "TLI"
}
]
},
"id": "287722",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "305515",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-1-885073-83-9",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-1-60780-124-5",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A basic guide to exporting, 3rd edition",
"publicationType": "Book",
"publisherName": "World Trade Press",
"subjects": [
{
"subject": "Exportation & Importation",
"type": "TLI"
}
]
},
"id": "305515",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "309698",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-1-60566-500-9",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-1-60566-500-9",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Case Study on a Security Maturity Assessment of a Business-to-Business Electronic Commerce Organization",
"publicationType": "Book",
"publisherName": "IGI Global",
"subjects": [
{
"subject": "Electronic Commerce",
"type": "TLI"
}
]
},
"id": "309698",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "309725",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-1-59904-434-7",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Case Study on Assessing the Readiness of Professional Services Company to Build an Organizational Memory Information Systems",
"publicationType": "Book",
"publisherName": "IGI Global",
"subjects": [
{
"subject": "Information Technology",
"type": "TLI"
},
{
"subject": "Knowledge Management",
"type": "TLI"
}
]
},
"id": "309725",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "403769",
"subtype": "Empty",
"type": "EPBookID"
},
{
"id": "315155",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-0-7735-2694-5",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-0-7735-7182-2",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-1-282-86176-3",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Bare and Impolitic Right: Internment and Ukrainian-Canadian Redress",
"publicationType": "Book",
"publisherName": "McGill-Queen's University Press",
"subjects": [
{
"subject": "World War I",
"type": "TLI"
},
{
"subject": "HISTORY / Canada / General",
"type": "BISAC"
}
]
},
"id": "315155",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "317428",
"subtype": "Empty",
"type": "BHM"
}
],
"isTitleCustom": false,
"name": "A Case Study of Sustainable Development: Brownfields",
"publicationType": "Book",
"publisherName": "Environmental Law Institute",
"subjects": [
{
"subject": "Land Use Planning",
"type": "TLI"
}
]
},
"id": "317428",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
{
"attributes": {
"identifiers": [
{
"id": "142423",
"subtype": "Empty",
"type": "EPBookID"
},
{
"id": "318444",
"subtype": "Empty",
"type": "BHM"
},
{
"id": "978-1-349-50750-4",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-1-4039-0112-5",
"subtype": "Print",
"type": "ISBN"
},
{
"id": "978-0-230-00589-1",
"subtype": "Online",
"type": "ISBN"
},
{
"id": "978-1-280-28270-6",
"subtype": "Online",
"type": "ISBN"
}
],
"isTitleCustom": false,
"name": "A Brontë Family Chronology (Author Chronologies)",
"publicationType": "Book",
"publisherName": "Institute for Urban Design (US)",
"subjects": [
{
"subject": "English Literature",
"type": "TLI"
},
{
"subject": "Women Authors",
"type": "TLI"
},
{
"subject": "LITERARY CRITICISM / European / English, Irish, Scottish, Welsh",
"type": "BISAC"
}
]
},
"id": "318444",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
}
],
"jsonapi": {
"version": "1.0"
},
"meta": {
"totalResults": 8987
}
}
post /eholdings/titles
Create a new Custom Title.
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- name: required (string)
Name of the new title that is to be created.
Example:
A New Title For You - publicationType: required (one of All, Audiobook, Book, Book Series, Database, Journal, Newsletter, Newspaper, Proceedings, Report, Streaming Audio, Streaming Video, Thesis & Dissertation, Website, Unspecified)
Publication type for new title.
Example:
Book
- name: required (string)
- included: required (array of object)
Resource used to create new title.
Items: includedPackageId
- type: required (string)
- attributes: required (object)
- packageId: required (string)
Example:
{ "type": "resources", "attributes": { "packageId": "123-456" } }
Example:
{
"data": {
"type": "titles",
"attributes": {
"name": "Your Brand New Title",
"publicationType": "Book"
}
},
"included": [
{
"type": "resources",
"attributes": {
"packageId": "123355-2868997"
}
}
]
}
HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"attributes": {
"contributors": [],
"description": null,
"edition": null,
"identifiers": [],
"isPeerReviewed": false,
"isTitleCustom": true,
"name": "Your Brand New Title",
"publicationType": "Book",
"publisherName": null,
"subjects": []
},
"id": "17649810",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
"jsonapi": {
"version": "1.0"
}
}
HTTP status code 400
Bad
Entity representing a title
Get the title by its unique identifier.
get /eholdings/titles/{title_id}
Get the title by its unique identifier.
URI Parameters
- title_id: required (string)
Query Parameters
- include: (resources)
Include related resource obects, each representing a partnering of this title with a package. Any bogus value, like
include=deciduousTrees, will be silently ignored.Example:
resources
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"attributes": {
"contributors": [],
"description": null,
"edition": null,
"identifiers": [
{
"id": "100130",
"subtype": "Empty",
"type": "BHM"
}
],
"isPeerReviewed": false,
"isTitleCustom": false,
"name": "A call to action: Changing the culture of drinking at U.S. colleges",
"publicationType": "Journal",
"publisherName": "National Institute on Alcohol Abuse and Alcoholism",
"subjects": [
{
"subject": "Social Services",
"type": "TLI"
}
]
},
"id": "100130",
"relationships": {
"resources": {
"meta": {
"included": false
}
}
},
"type": "titles"
},
"jsonapi": {
"version": "1.0"
}
}
HTTP status code 404
Not Found
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [
{
"title": "Title not found"
}
],
"jsonapi": {
"version": "1.0"
}
}
Proxy Types
List of supported root proxy types.
Get a list of supported root proxy types.
get /eholdings/proxy-types
Get a list of supported root proxy types.
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": [
{
"id": "<n>",
"type": "proxyTypes",
"attributes": {
"id": "<n>",
"name": "None",
"urlMask": ""
}
},
{
"id": "EZProxy",
"type": "proxyTypes",
"attributes": {
"id": "EZProxy",
"name": "EZProxy",
"urlMask": "http://ezproxy.myinstitute.edu/login?url={targetURL}"
}
},
{
"id": "TestingFolio",
"type": "proxyTypes",
"attributes": {
"id": "TestingFolio",
"name": "TestingFolio",
"urlMask": "https://folio.frontside.io"
}
}
],
"jsonapi": {
"version": "1.0"
}
}Root Proxy
Root Proxy that is currently selected from proxy-type list.
ID of root proxy that is currently selected from proxy-type list.
Update the current root proxy setting by selecting one from the supported list of proxy-types.
get /eholdings/root-proxy
ID of root proxy that is currently selected from proxy-type list.
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "root-proxy",
"type": "rootProxies",
"attributes": {
"id": "root-proxy",
"proxyTypeId": "EZProxy"
}
},
"jsonapi": {
"version": "1.0"
}
}put /eholdings/root-proxy
Update the current root proxy setting by selecting one from the supported list of proxy-types.
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- proxyTypeId: required (string)
ID of root-proxy that current selection should be updated to.
Example:
EZProxy
- proxyTypeId: required (string)
Example:
{
"data": {
"type": "rootProxies",
"attributes": {
"proxyTypeId": "EZProxy"
}
}
}HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "root-proxy",
"type": "rootProxies",
"attributes": {
"id": "root-proxy",
"proxyTypeId": "EZProxy"
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 422
Unprocessable Entity
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [
{
"title": "Invalid id",
"detail": "Id :Invalid proxy",
"source": {}
}
],
"jsonapi": {
"version": "1.0"
}
}Configuration
Setup KB Configuration.
Details of KB configuration currently being used.
Update the currently set KB configuration.
get /eholdings/configuration
Details of KB configuration currently being used.
HTTP status code 200
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "configuration",
"type": "configurations",
"attributes": {
"customerId": "apidvcorp",
"apiKey": "****************************************",
"rmapiBaseUrl": "https://api.ebsco.io"
}
},
"jsonapi": {
"version": "1.0"
}
}put /eholdings/configuration
Update the currently set KB configuration.
Headers
- Content-Type: required (string)
Example:
application/vnd.api+json
Body
Media type: application/vnd.api+json
Type: object
Properties- data: required (object)
Needed because of JSON API
- type: required (string)
- attributes: required (object)
Needed because of JSON API
- customerId: required (string)
Customer ID using the KB.
Example:
apidvgvmt - apiKey: required (string)
API Key to use the KB.
Example:
xxxxxx - rmapiBaseUrl: required (string)
Base URL of the KB.
Example:
https://sandbox.ebsco.io
- customerId: required (string)
Example:
{
"data": {
"type": "configurations",
"attributes": {
"customerId": "apidvcorp",
"apiKey": "****************************************",
"rmapiBaseUrl": "https://api.ebsco.io"
}
}
}HTTP status code 200
OK
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"data": {
"id": "configuration",
"type": "configurations",
"attributes": {
"customerId": "apidvcorp",
"apiKey": "****************************************",
"rmapiBaseUrl": "https://api.ebsco.io"
}
},
"jsonapi": {
"version": "1.0"
}
}HTTP status code 422
Unprocessable Entity
Body
Media type: application/vnd.api+json
Type: any
Example:
{
"errors": [
{
"title": "Invalid KB API Credentials",
"detail": "Kb api credentials are invalid",
"source": {}
}
],
"jsonapi": {
"version": "1.0"
}
}Status
Gives status of currently set KB configuration.
Gives status of currently set KB configuration.