The Polaris library platform helps librarians serve their communities by managing resources so that everyone succeeds. The Polaris API exposes essential library functions that allow developers to build library related applications or automate processes. This is the documentation for the Polaris.ApplicationServices v1.0 API.
The API is built on HTTP and provides a set of URLs to retrieve data and perform library operations.
Using your browser, navigate to the API status URL:
You should get back a JSON snippet similar to:
{
"ServiceName": "Polaris.ApplicationServices",
"Version": "7.8.47125.0",
"Major": 7,
"Minor": 8,
"Build": 47125,
"Revision": 0,
"Patches": null
}
All URIs (other than API status and staff authentication) will contain the following route parts:
Name | Type | Required | Description |
---|---|---|---|
version | String | Yes | API version. "v1" is the only supported version |
language | String | Yes |
ISO 639-2 Language Code. Defines language context for text.
"ara" - Arabic "chi" - Chinese "eng" - English "fas" - Farsi/Persian "fre" - French "hat" - Haitian Creole "haw" - Hawaiian "kor" - Korean "rus" - Russian "spa" - Spanish "vie" - Vietnamese |
productId | Integer | Yes |
Defines the product Id
All = 0 PowerPAC = 1 ChildrensPAC = 2 ActivePAC = 3 ExpressCheck = 4 InboundTelephony = 5 OutboundTelephony = 6 Notices = 7 ILL = 8 PolarisFusion = 9 AcquisitionsExchange = 10 MobilePAC = 11 SIPService = 12 NCIPService = 13 ERMSPortal = 14 Receipts = 15 ContentXChange = 16 PolarisImport = 17 PolarisAPIConsumerService = 18 PolarisApplicationServices = 19 StaffWebClient = 20 StaffClient = 21 PolarisDatabase = 22, SystemOutput = 23, Vega = 24 |
siteDomain | String | Yes | Unique customer site domain. The default site domain is 'polaris'. |
organizationId | Integer | Yes | Defines the logged on organization Id |
workstationId | Integer | Yes | Defines the logged on workstation Id |
The full URI will look like the following:
/api/{version}/{language}/{productId}/{siteDomain}/{organizationId}/{workstationId}/patrons/{id}/basicdata
For readability, the documentation may display a shorthand version of the URI:
/api/.../patrons/{id}/basicdata
Code | Status | Error object | Description |
---|---|---|---|
200 | OK | Success | |
201 | Created | Returns the created object | |
204 | No content | Successful deletion | |
400 | Bad Request | { "Message":"The request is invalid.", "MessageDetail":"The parameters dictionary contains a null entry for parameter 'id'." } { "ErrorCode":10000, "Message":"Language in url is invalid.", "MessageDetail":null } | All errors fall into this category; validation, duplicate patron, etc. |
401 | Unauthorized | { "ErrorCode":10001, "Message":"User authentication failed.", "MessageDetail":null } | User defined in http authorization header field is not authorized. |
403 | Forbidden | {"ErrorCode":10002, "Message":"Permission(s) not granted. Patron registration: Create", "MessageDetail":null, "Data":[{"Subsystem":2, "PermissionID":83, "ControlRecordName":"Patron registration", "PermissionName":"Create", "Permitted":false, "AllowOverride":true, "Owner":0, "IsOwned":true, "Owners":null}]} | Returned when the user is not privileged to perform an operation. Indicates an override is required to continue. Use the Http proxy-authorization header field to provide override credentials. See Security and Authentication for more information. The Data object returned is a DtoPermissionDescription. |
404 | Not Found | { "Message":"No HTTP resource was found that matches the request URI.", "MessageDetail":"No action was found on the controller." } | InvalidEndpoint Not Found |
404 | Not Found | {"ErrorCode":60027, "Message":"Patron with ID 999377 not found.", "MessageDetail":null} | RecordNotFound Not Found |
405 | Method not allowed | {"Message":"The requested resource does not support http method 'GET'."} | Http method is not allowed |
409 | Conflict | {"ErrorCode":10004, "Message":"Patron record is secured.", "MessageDetail":null, "StackTrace":null, "InnerException":null, "Data":null} |
Object lock (ErrorCode = 70000 - 79999) Secured record (ErrorCode = 10004) |
411 | Length Required | The request did not specify the length of its content, which is required by the requested resource. | |
422 | Unprocessable Entity | {"error":"Unprocessable Entity", "message":"Server could not parse JSON"} | May be returned if POST/PUT body data is not valid |
500+ | Server Errors | Unhandled exceptions |