Skip to content

Instantly share code, notes, and snippets.

@slint
Created July 23, 2018 09:44
Show Gist options
  • Save slint/0a855ae377dae92768aa7fb7b050aad4 to your computer and use it in GitHub Desktop.
Save slint/0a855ae377dae92768aa7fb7b050aad4 to your computer and use it in GitHub Desktop.
SUSHI-Lite Swagger Schema
{
"swagger": "2.0",
"info": {
"title": "COUNTER_SUSHI-Lite API",
"description": "The COUNTER_SUSHI-Lite API represents a RESTful implementation of SUSHI automation intended to returns COUNTER reports and snippets of COUNTER usage in JSON format",
"termsOfService": "",
"contact": {
"name": "NISO SUSHI Standing Committee",
"url": "http://www.niso.com/workrooms/sushi",
"email": "[email protected]"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0.0"
},
"host": "sushi.sample.com",
"basePath": "/counter/r5",
"schemes": [
"https"
],
"paths": {
"/status": {
"get": {
"operationId": "getAPIStatus",
"description": "This resource returns the current status of the reporting service supported by this API.",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "Status of the reporting service(s) supported by this API.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SUSHI_ServiceStatus"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/members": {
"get": {
"operationId": "getConsortiumMembers",
"description": "This resource returns the list of consortium members related to a CustomerID.",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "List of member accounts (sites) associated with the CustomerID passed in as a parameter.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SUSHI_ConsortiumMemberList"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports": {
"get": {
"operationId": "getReports",
"description": "This resource returns a list of reports supported by the API for a given application.",
"produces": [
"application/json"
],
"parameters": [
{
"name": "search",
"in": "query",
"description": "Keyword search filtered against report name. Allows for searching for a report by name.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "List of reports supported by this service for this application.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SUSHI_ReportList"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/pr1": {
"get": {
"description": "This resource returns COUNTER 'Platform Report 1' [PR1]. This is a standard report which presents usage for the overall Platform broken down by Metric_Type. Usage is limited to Access_Method=Regular and Metric_Types=total_investigations|total_requests|unique_items_investigated|unique_items_requested|unique_titles_investigated|unique_titles_requested.",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Platform",
"in": "query",
"description": "Name of the Platform the usage is being requested for. This can be omitted if the service provides usage for only one platform.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "COUNTER Platform Report 1: Usage by Month and Platform",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PlatformReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/prx": {
"get": {
"description": "This resource returns COUNTER 'Expanded Platform Report' [PRx]. This report provides platform-level totals. The caller can customize the results by including parameters to filter by one or more of the following attributes: Metric_Type, Access_Type, Access_Method and YOP; and, use the Attributes_To_Show parameter to set the level of detail for the report.",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Platform",
"in": "query",
"description": "Name of the Platform the usage is being requested for. This can be omitted if the service provides usage for only one platform.",
"required": false,
"type": "string"
},
{
"name": "Metric_Type",
"in": "query",
"description": "Report Filter: A list of Metric_Types to return. Specify multiple values by delimiting with a | character. Omitting this parameter will return all metric_types with statistics. ",
"required": false,
"type": "string"
},
{
"name": "Access_Type",
"in": "query",
"description": "Report Filter: A list of Access_Types to return delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "Access_Method",
"in": "query",
"description": "Report Filter: A list of Access_Methods to return delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "YOP",
"in": "query",
"description": "Report Filter: A list or range of years of publication to return in response in format of yyyy|yyyy|yyyy-yyyy. Note that 0001 = unknonw and 9999 = articles in press",
"required": false,
"type": "string"
},
{
"name": "AttributesToShow",
"in": "query",
"description": "Report Attribute: A list of attributes to include as separate elements in response (usage will be broken out by attribute values). Multiple attribute names are delimited with a | character. Options include Access_Type, Access_Method and YOP. When fields are included usage will be presented for each value of that field (with usage) otherwise usage will be rolled up for all values of a given field.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Expanded Platform Report: Activity by Month and Platform.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PlatformReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/dr1": {
"get": {
"description": "This resource returns COUNTER 'Database Report 1' [DR1].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Database",
"in": "query",
"description": "Name of a specific database usage is being requested for. If omitted, all databases on the platform with usage for the requested customer will be returned",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Database Report 1: Usage by Month and Database/Collection.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_DatabaseReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/dr2": {
"get": {
"description": "This resource returns COUNTER 'Database Report 2' [DR2].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Database",
"in": "query",
"description": "Name of a specific database usage is being requested for. If omitted, all databases on the platform with usage for the requested customer will be returned",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Database Report 2: Access Denied by Month and Database/Collection.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_DatabaseReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/drx": {
"get": {
"description": "This resource returns COUNTER 'Expanded Database Report' [DRx].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Database",
"in": "query",
"description": "Name of a specific database usage is being requested for. If omitted, all databases on the platform with usage for the requested customer will be returned",
"required": false,
"type": "string"
},
{
"name": "Metric_Type",
"in": "query",
"description": "Report Filter: A list of Metric_Types to return. Specify multiple values by delimiting with a | character. Omitting this parameter will return all metric_types with statistics. ",
"required": false,
"type": "string"
},
{
"name": "Access_Type",
"in": "query",
"description": "Report Filter: A list of Access_Types to return delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "Access_Method",
"in": "query",
"description": "Report Filter: A list of Access_Methods to return delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "YOP",
"in": "query",
"description": "Report Filter: A list or range of years of publication to return in response in format of yyyy|yyyy|yyyy-yyyy. Note that 0001 = unknonw and 9999 = articles in press",
"required": false,
"type": "string"
},
{
"name": "AttributesToShow",
"in": "query",
"description": "Report Attribute: A list of attributes to include as separate elements in response (usage will be broken out by attribute values). Multiple attribute names are delimited with a | character. Options include Access_Type, Access_Method and YOP. When fields are included usage will be presented for each value of that field (with usage) otherwise usage will be rolled up for all values of a given field.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Expanded Database Report: Activity by Month and Database/Collection.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_DatabaseReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/btr1": {
"get": {
"description": "This resource returns COUNTER Book Title Report 1 [BTR1].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Book Title Report 1: Usage for Month and Book.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/btr2": {
"get": {
"description": "This resource returns COUNTER Book Title Report 2 [BTR2].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Book Report 2: Access Denied for Month and Book.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/jtr1": {
"get": {
"description": "This resource returns COUNTER Journal Title Report 1 [JTR1].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Journal Title Report 1: Usage for Month and Journal.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/jtr2": {
"get": {
"description": "This resource returns COUNTER Journal Title Report 2 [JTR2].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Journal Report 2: Access Denied for Month and Journal.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/trx": {
"get": {
"description": "This resource returns COUNTER Expanded Title Report [TRx].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "Item_Identifier",
"in": "query",
"description": "Identifier of a specific title usage is being requested for. If omitted, all databases on the platform with usage for the requested customer will be returned",
"required": false,
"type": "string"
},
{
"name": "Item_Contributor",
"in": "query",
"description": "Identifier of a specific contributor (i.e. author) usage is being requested for. If omitted, all databases on the platform with usage for the requested customer will be returned",
"required": false,
"type": "string"
},
{
"name": "Metric_Type",
"in": "query",
"description": "Report Filter: A list of Metric_Types to return usage for. Use | character to delimit multiple values. Omit this parameter to include all metric_types with statistics.",
"required": false,
"type": "string"
},
{
"name": "Data_Type",
"in": "query",
"description": "Report Filter: A list of Data_Types to return usage for. Use | character to delimit multiple values. Omit this parameter to include all Data_Types with statistics. ",
"required": false,
"type": "string"
},
{
"name": "Section_Type",
"in": "query",
"description": "Report Filter: A list of Data_Types to return usage for. Use | character to delimit multiple values. Omit this parameter to include all Section_Types with statistics.",
"required": false,
"type": "string"
},
{
"name": "YOP",
"in": "query",
"description": "Report Filter: A list or range of years of publication to return in response in format of yyyy|yyyy|yyyy-yyyy. Note that 0001 = unknonw and 9999 = articles in press",
"required": false,
"type": "string"
},
{
"name": "Access_Type",
"in": "query",
"description": "Report Filter: A list of Access_Types to return usage for -- delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "Access_Method",
"in": "query",
"description": "Report Filter: A list of Access_Methods to return usage for -- delimited with a | character.",
"required": false,
"type": "string"
},
{
"name": "Is_Archive",
"in": "query",
"description": "Report Filter: Specifify if usage should be limited to items within a separately licensed archive (Y, N or omit for all).",
"required": false,
"type": "string"
},
{
"name": "AttributesToShow",
"in": "query",
"description": "Report Attribute: A list of attributes to include as separate elements in response (usage will be broken out by attribute values). Multiple attribute names are delimited with a | character. Options include Access_Type, Access_Method and YOP. When fields are included usage will be presented for each value of that field (with usage) otherwise usage will be rolled up for all values of a given field.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Expanded Title Report: Activity by Month and Title.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
},
"/reports/ar1": {
"get": {
"description": "This resource returns COUNTER 'Article Report 1' [AR1].",
"produces": [
"application/json"
],
"parameters": [
{
"name": "CustomerID",
"in": "query",
"description": "Identifies the customer to provide usage for.",
"required": true,
"type": "string"
},
{
"name": "RequestorID",
"in": "query",
"description": "Identifies the requester(client) that is asking for usage data.",
"required": true,
"type": "string"
},
{
"name": "BeginDate",
"in": "query",
"description": "Usage start date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
},
{
"name": "EndDate",
"in": "query",
"description": "Usage end date in the form of yyyy-mm-dd or yyyy-mm.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Article Report 1: Usage by Month and Article.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ArticleReport"
}
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
}
}
},
"definitions": {
"SUSHI_errorModel": {
"type": "object",
"description": "Generalized format for presenting errors and exceptions.",
"required": [
"code",
"severity",
"message"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "Error number. See table of error.",
"example": 3040
},
"severity": {
"type": "string",
"description": "Severity of the error.",
"example": "Warning",
"enum": [
"Warning",
"Fatal",
"Debug",
"Info"
]
},
"message": {
"type": "string",
"description": "Text describing the error.",
"example": "Partial Data Returned."
},
"helpURL": {
"type": "string",
"description": "URL describing error details."
},
"data": {
"type": "string",
"description": "Additional data provided by the server to clarify the error.",
"example": "Usage data has not been processed for all requested months."
}
}
},
"SUSHI_ReportHeader": {
"type": "object",
"description": "Generalized report header that defines the requested report, the requestor, the customer, filters applied, reportAttributes applied and any exceptions.",
"required": [
"Report"
],
"properties": {
"Created": {
"type": "string",
"format": "dateTime",
"description": "Time the report was prepared. FOrmat as defined by date-time - RFC3339",
"example": "2016-09-08T22:47:31Z"
},
"Report": {
"type": "object",
"description": "Defines the requested report.",
"required": [
"Report_id",
"Report_name",
"Release"
],
"properties": {
"Report_id": {
"type": "string",
"description": "The report ID or code or shortname. Typically this will be the same code provided in the Report parameter of the request.",
"example": "JR1"
},
"Release": {
"type": "string",
"description": "The release or version of the report.",
"example": "4"
},
"Report_name": {
"type": "string",
"description": "The long name of the report.",
"example": "Journal Report 1"
},
"Description": {
"type": "string",
"description": "Descriptive information about the report.",
"example": "Full Text Requests by Journal and Month"
}
}
},
"RequestorID": {
"type": "string",
"description": "RequestorID of the client application, if required.",
"example": "12345"
},
"CustomerReference": {
"type": "object",
"description": "Information about the custommer the reported data represents",
"properties": {
"ID": {
"type": "string",
"description": "Identifer of the customer the report represents - identifier used on the request",
"example": "12345"
},
"Name": {
"type": "string",
"description": "Name of the customer.",
"example": "Mt. Laurel University"
},
"OrgIdentifiers": {
"type": "array",
"description": "Other identifiers for the organization, including ISNI, etc. if available",
"items": {
"$ref": "#/definitions/SUSHI_OrgIdentifiers"
}
}
}
},
"Filters": {
"type": "array",
"description": "List of report filters used for this report. Typically these will reflect filters provided on the Request",
"items": {
"required": [
"Name",
"Value"
],
"properties": {
"Name": {
"type": "string",
"description": "Name of the report filter.",
"example": "Begin"
},
"Value": {
"type": "string",
"description": "Value of the report filter.",
"example": "2015-01"
}
}
}
},
"ReportAttributes": {
"type": "array",
"description": "Any reportAttributes applied to the report.",
"items": {
"required": [
"Name",
"Value"
],
"properties": {
"Name": {
"type": "string",
"description": "Name of the report attribute.",
"example": "ExcludeZeroUsage"
},
"Value": {
"type": "string",
"description": "Name of the report attribute.",
"example": "True"
}
}
}
},
"Exceptions": {
"type": "array",
"description": "Series of exceptions encounted when preparing the report.",
"items": {
"$ref": "#/definitions/SUSHI_errorModel"
}
}
}
},
"SUSHI_ReportList": {
"type": "object",
"required": [
"Report_id",
"Report_name",
"Release",
"Description"
],
"properties": {
"Report_id": {
"type": "string",
"description": "The code, ID or short name of the report that is be used in the request to identify the report.",
"example": "JR1"
},
"Release": {
"type": "string",
"description": "The release or version number of the report.",
"example": "4"
},
"Report_name": {
"type": "string",
"description": "The long name of the report",
"example": "Journal Report 1"
},
"Description": {
"type": "string",
"description": "A short sentence describing the report.",
"example": "Full text requests by month and journal."
},
"Path": {
"type": "string",
"description": "The path to use when requesting this report on this service.",
"example": "/reports/SampleReport1"
},
"Filters_Supported": {
"type": "array",
"description": "A list of filters supported by the service for this report.",
"items": {
"type": "object",
"properties": {
"FilterName": {
"type": "string",
"description": "Name of filter supported.",
"example": "BeginDate"
},
"Description": {
"type": "string",
"description": "Description of support or implementation.",
"example": "Specify as 'yyyy-mm'"
},
"Required": {
"type": "boolean",
"description": "Indicates if this filter is required to retrieve the report.",
"example": true
}
}
}
},
"ReportAttributes_Supported": {
"type": "array",
"description": "The list of reportAttributes (used to refine the report) supported by the service for this report.",
"items": {
"type": "object",
"properties": {
"ReportAttributeName": {
"type": "string",
"description": "Name of Report Attribute supported.",
"example": "IncludeZeroUsage"
},
"Description": {
"type": "string",
"description": "Description of support or implementation for the attribute.",
"example": "Zero usage is always excluded by default. Accepted values are 'True' or 'False'. Default is 'False'."
},
"Required": {
"type": "boolean",
"description": "Indicates if this filter is required to retrieve the report.",
"example": true
}
}
}
}
}
},
"SUSHI_ServiceStatus": {
"type": "object",
"required": [
"ServiceActive"
],
"properties": {
"Description": {
"type": "string",
"description": "Description of the service.",
"example": "COUNTER Usage Reports for EBSCOhost platform."
},
"ServiceActive": {
"type": "boolean",
"description": "Indicator if the service is currently able to deliver reports.",
"example": true
},
"RegistryURL": {
"type": "string",
"description": "If available, the URL separate registy with additional information about the service.",
"example": "https://www.projectcounter.org/counter-user/ebsco-database/"
},
"Note": {
"type": "string",
"description": "A general note about the service.",
"example": "A given customer can request a maximum of 5 requests per day for a given report"
},
"Alerts": {
"type": "array",
"description": "Any alerts related to service interuptions and status.",
"items": {
"type": "object",
"properties": {
"DateTime": {
"type": "string",
"format": "dateTime",
"description": "Date-time of the alert.",
"example": "2016-08-02: 12:54"
},
"Alert": {
"type": "string",
"description": "Text of the alert.",
"example": "Service will be unavailable Sunday midnight..."
}
}
}
}
}
},
"SUSHI_ConsortiumMemberList": {
"type": "object",
"required": [
"CustomerID",
"Name"
],
"properties": {
"CustomerID": {
"type": "string",
"description": "Identifer for the consortium's member account. This identifier would be used as the CustomerID for subsequent report requests for the member.",
"example": "12345"
},
"RequestorID": {
"type": "string",
"description": "The RequestorID to use to retrieve COUNTER stats the consortium's member account -- only include if different from the main consortium's RequestorID. This identifier would be used as the Requestor for subsequent report requests for the member.",
"example": "a-1212-4444-555"
},
"Name": {
"type": "string",
"description": "Customer name assigned to the consortium member.",
"example": "Mt. Laurel University Medical School"
},
"OrgIdentifiers": {
"type": "array",
"description": "Other identifiers for the organization, including ISNI, etc. if available",
"items": {
"$ref": "#/definitions/SUSHI_OrgIdentifiers"
}
}
}
},
"SUSHI_OrgIdentifiers": {
"type": "object",
"description": "Identifier for an organization.",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"description": "Type of identifier (namespace or domain). E.G. ISNI, ISIL, Proprietary, etc.",
"example": "ISNI",
"enum": [
"ISNI",
"ISIL",
"OCLC",
"Proprietary"
]
},
"value": {
"type": "string",
"description": "Value of the organization identifier",
"example": "1111-2222"
}
}
},
"COUNTER_PlatformReport": {
"type": "object",
"description": "Describes the formatting needs for the COUNTER Platform Report. Response may include the ReportHeader (optional), ReportItems (usage stats).",
"required": [
"ReportItems"
],
"properties": {
"ReportHeader": {
"$ref": "#/definitions/SUSHI_ReportHeader"
},
"ReportItems": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PlatformUsage"
}
}
}
},
"COUNTER_PlatformUsage": {
"type": "object",
"description": "Defines the output for the ReportItems being returned in a Platform Report.",
"required": [
"Platform",
"Publisher",
"Item_Name",
"Data_Type",
"Item_Performance"
],
"properties": {
"Platform": {
"type": "string",
"description": "Name of the platform",
"example": "EBSCOhost"
},
"Publisher": {
"type": "string",
"description": "Name of organization that offers the platform",
"example": "EBSCO Information Services"
},
"Publisher_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PublisherIdentifiers"
},
"description": "The identifier for the publisher."
},
"Item_Name": {
"type": "string",
"description": "Name of the item being reported. For Platform reports this is the same as the 'Platform'.",
"example": "EBSCOhost"
},
"Data_Type": {
"type": "string",
"description": "Nature of the item being reported.",
"enum": [
"Platform"
],
"example": "Platform"
},
"Item_Performance": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemPerformance"
},
"description": "The usage data related to the report item"
}
}
},
"COUNTER_DatabaseReport": {
"type": "object",
"description": "Describes the formatting needs for the COUNTER Database Report. Response may include the ReportHeader (optional), ReportItems (usage stats).",
"required": [
"ReportItems"
],
"properties": {
"ReportHeader": {
"$ref": "#/definitions/SUSHI_ReportHeader"
},
"ReportItems": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_DatabaseUsage"
}
}
}
},
"COUNTER_DatabaseUsage": {
"type": "object",
"description": "Defines the output for the ReportItems being returned in a Database Report.",
"required": [
"Platform",
"Publisher",
"Item_Name",
"Item_Performance"
],
"properties": {
"Item_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemIdentifiers"
},
"description": "The identifier for the report item"
},
"Platform": {
"type": "string",
"description": "Name of the platform",
"example": "EBSCOhost"
},
"Publisher": {
"type": "string",
"description": "Name of the organization that creates the database",
"example": "EBSCO Information Services"
},
"Publisher_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PublisherIdentifiers"
},
"description": "The identifier for the publisher."
},
"Item_Name": {
"type": "string",
"description": "Name of the database or collection being reported on.",
"example": "Academic Search Premier"
},
"Data_Type": {
"type": "string",
"description": "Nature of the item being reported.",
"enum": [
"Database",
"Collection"
],
"example": "Database"
},
"Item_Performance": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemPerformance"
},
"description": "The usage data related to the report item"
}
}
},
"COUNTER_TitleReport": {
"type": "object",
"description": "Describes the formatting needs for the COUNTER Title Report. REsponse may include the ReportHeader (optional), ReportItems (usage stats).",
"required": [
"ReportItems"
],
"properties": {
"ReportHeader": {
"$ref": "#/definitions/SUSHI_ReportHeader"
},
"ReportItems": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_TitleUsage"
}
}
}
},
"COUNTER_TitleUsage": {
"type": "object",
"description": "Defines the output for the ReportItems being returned in a Title Report.",
"required": [
"Platform",
"Publisher",
"Item_Name",
"Data_Type",
"Item_Performance"
],
"properties": {
"Item_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemIdentifiers"
},
"description": "The identifier for the report item (title)"
},
"Item_Contributors": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemContributors"
},
"description": "The identifier for contributor (i.e. author) of the item."
},
"Item_Dates": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemDates"
},
"description": "Publication or other date(s)related to the item. Mainly applies to monographic items when in a Title report."
},
"Item_Attributes": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemAttributes"
},
"description": "Other attributes related related to the parent item."
},
"Platform": {
"type": "string",
"description": "Name of the platform",
"example": "EBSCOhost"
},
"Publisher": {
"type": "string",
"description": "Name of publisher of the item",
"example": "Springer"
},
"Publisher_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PublisherIdentifiers"
},
"description": "The identifier for the publisher."
},
"Item_Name": {
"type": "string",
"description": "Name of the item being reported.",
"example": "Journal of Economics"
},
"Data_Type": {
"type": "string",
"description": "Nature of the item being reported.",
"enum": [
"Journal",
"Book",
"Multimedia"
],
"example": "Journal"
},
"Item_Performance": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemPerformance"
},
"description": "The usage data related to the report item"
}
}
},
"COUNTER_ArticleReport": {
"type": "object",
"description": "Describes the formatting needs for the COUNTER Article Report. Response may include the ReportHeader (optional), ReportItems (usage stats).",
"required": [
"ReportItems"
],
"properties": {
"ReportHeader": {
"$ref": "#/definitions/SUSHI_ReportHeader"
},
"ReportItems": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ArticleUsage"
}
}
}
},
"COUNTER_ArticleUsage": {
"type": "object",
"description": "Defines the output for the ReportItems being returned in a Title Report.",
"required": [
"Platform",
"Publisher",
"Item_Name",
"Data_Type",
"Item_Performance"
],
"properties": {
"Item_Parent": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemParent"
},
"description": "The identifier for the report item (title)"
},
"Item_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemIdentifiers"
},
"description": "The identifier for the report item (title)"
},
"Item_Contributors": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemContributors"
},
"description": "The identifier for contributor (i.e. author) of the item."
},
"Item_Dates": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemDates"
},
"description": "Publication or other date(s)related to the item. Mainly applies to monographic items when in a Title report."
},
"Item_Attributes": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemAttributes"
},
"description": "Other attributes related related to the parent item."
},
"Platform": {
"type": "string",
"description": "Name of the platform",
"example": "EBSCOhost"
},
"Publisher": {
"type": "string",
"description": "Name of publisher of the item",
"example": "Springer"
},
"Publisher_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PublisherIdentifiers"
},
"description": "The identifier for the publisher."
},
"Item_Name": {
"type": "string",
"description": "Name of the item being reported.",
"example": "Journal of Economics"
},
"Data_Type": {
"type": "string",
"description": "Nature of the item being reported.",
"enum": [
"Journal",
"Book",
"Multimedia"
],
"example": "Journal"
},
"Item_Performance": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemPerformance"
},
"description": "The usage data related to the report item"
}
}
},
"COUNTER_ItemParent": {
"type": "object",
"required": [
"Item_Name"
],
"properties": {
"Item_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemIdentifiers"
},
"description": "The identifier for the report item"
},
"Item_Contributors": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemContributors"
},
"description": "The identifier for contributor of the parent item"
},
"Item_Dates": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemDates"
},
"description": "Publication date(s) related to the parent item."
},
"Item_Attributes": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_ItemAttributes"
},
"description": "Other attributes related related to the parent item."
},
"Publisher": {
"type": "string",
"description": "Name of organization that publishes the content",
"example": "Springer"
},
"Publisher_Identifiers": {
"type": "array",
"items": {
"$ref": "#/definitions/COUNTER_PublisherIdentifiers"
},
"description": "The identifier for the publisher."
},
"Item_Name": {
"type": "string",
"description": "Name of the parent item.",
"example": "Journal of Economics"
},
"Data_Type": {
"type": "string",
"description": "Nature of the parent item.",
"enum": [
"Journal",
"Book"
],
"example": "Journal"
}
}
},
"COUNTER_ItemIdentifiers": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"example": "print_ISSN",
"enum": [
"Online_ISSN",
"Print_ISSN",
"ISBN",
"Online_ISBN",
"Print_ISBN",
"DOI",
"Proprietary"
]
},
"value": {
"type": "string",
"description": "Value of the item identifier",
"example": "0931-865"
}
}
},
"COUNTER_PublisherIdentifiers": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"example": "print_ISSN",
"enum": [
"isni",
"orcid",
"Proprietary --????"
]
},
"value": {
"type": "string",
"description": "Value of the item identifier",
"example": "0931-865"
}
}
},
"COUNTER_ItemContributors": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"example": "Name",
"enum": [
"Name",
"ORCID",
"ISNI",
"Proprietary"
]
},
"value": {
"type": "string",
"description": "Value of the contributor identifier",
"example": "John Smith"
}
}
},
"COUNTER_ItemDates": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"example": "PubDate",
"enum": [
"PubDate",
"FirstAccessedOnline",
"Proprietary"
]
},
"value": {
"type": "string",
"description": "Value of the contributor identifier",
"example": "2002-01-15"
}
}
},
"COUNTER_ItemAttributes": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"description": "Item attribute types are defined by NISO Journal Article Version and other work...",
"example": "ArticleVersion",
"enum": [
"ArticleVersion",
"ArticleType",
"QualificationName",
"QualificationLevel",
"Proprietary"
]
},
"value": {
"type": "string",
"description": "Value of the item attribute",
"example": "VoR"
}
}
},
"COUNTER_ItemPerformance": {
"type": "object",
"required": [
"Period",
"Category",
"Instance"
],
"properties": {
"Period": {
"type": "array",
"items": {
"type": "object",
"required": [
"Begin",
"End"
],
"properties": {
"Begin": {
"type": "string",
"description": "Beginning date for usage in this 'itemPerformance' instance.",
"example": "2015-01-01"
},
"End": {
"type": "string",
"description": "Ending date for usage in this 'itemPerformance' instance.",
"example": "2015-01-31"
}
}
}
},
"Category": {
"type": "string",
"description": "Category of the usage being reported",
"example": "Requests",
"enum": [
"Searches",
"Requests",
"Access_Denied"
]
},
"Section_Type": {
"type": "string",
"description": "Section type that was accessed as part of a request. Typical for books where content may be delivered in chunks.",
"enum": [
"Article",
"Book",
"Chapter",
"Section"
],
"example": "Article"
},
"YOP": {
"type": "string",
"description": "Year of Publication. Use 0001 for unknown and 9999 for articles in press.",
"example": "2011"
},
"Access_Type": {
"type": "string",
"description": "Access Type. Indicates the Access Control logic in place at the time the content was accessed.",
"enum": [
"Controlled",
"OA_Delayed",
"OA_Gold_APC",
"OA_Gold_Non-APC",
"Other_Free-to-Read"
],
"example": "Controlled"
},
"Access_Method": {
"type": "string",
"description": "Access Method. Indicates the nature of usage -- whether regular usage as typified by users access a content host; or, if content was accessed for performing Text and Data Mining.",
"enum": [
"Regular",
"TDM"
],
"example": "Regular"
},
"Is_Archive": {
"type": "string",
"description": "Indicates if accessed content or metadata was part of a separately licensed backfile or archive. 'N'=No; 'Y'=Yes.",
"enum": [
"N",
"Y"
],
"example": "N"
},
"Instance": {
"type": "array",
"items": {
"type": "object",
"required": [
"MetricType",
"Count"
],
"properties": {
"MetricType": {
"type": "string",
"description": "Type of activity being counted.",
"example": "total_requests",
"enum": [
"searches_automated",
"searches_federated",
"searches_platform",
"searches_regular",
"total_investigations",
"total_requests",
"unique_items_investigated",
"unique_items_requested",
"unique_titles_investigated",
"unique_titles_requested",
"no_license",
"user_limit_exceeded"
]
},
"Count": {
"type": "integer",
"description": "usage count > 0. If count is zero, the intance element should be excluded.",
"example": 21
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment