foliolib.folio.api.finance.ExpenseClasses
- class foliolib.folio.api.finance.ExpenseClasses(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)
Bases:
foliolib.folio.FolioApiGroup API
This documents the API calls that can be made to manage groups
- Parameters
tenant (str) – Tenant id
okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.
Methods
delete_expenseClass(expenseClassesId)Delete expenseClass item with given {expenseClassId}
get_expenseClass(expenseClassesId)Retrieve expenseClass item with given {expenseClassId}
get_expenseClasses(**kwargs)Retrieve a list of expenseClass items.
modify_expenseClass(expenseClassesId, ...)Update expenseClass item with given {expenseClassId}
set_expenseClass(expenseClass)Create a new expenseClass item.
- delete_expenseClass(expenseClassesId: str)
Delete expenseClass item with given {expenseClassId}
DELETE /finance/expense-classes/{expenseClassesId}- Parameters
expenseClassesId (str) –
- Raises
OkapiRequestNotFound – Not Found
OkapiRequestError – Bad Request
OkapiFatalError – Server Error
- get_expenseClass(expenseClassesId: str)
Retrieve expenseClass item with given {expenseClassId}
GET /finance/expense-classes/{expenseClassesId}- Parameters
expenseClassesId (str) –
- Returns
See Schema below
- Return type
dict
- Raises
OkapiRequestNotFound – Not Found
OkapiFatalError – Server Error
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "An expense class", "type": "object", "extends": { "$ref": "../../common/schemas/entity.json" }, "properties": { "id": { "description": "UUID of the expense class record", "type": "string", "$ref": "../../common/schemas/uuid.json" }, "_version": { "type": "integer", "description": "Record version for optimistic locking" }, "code": { "description": "The code of the expense class", "type": "string", "pattern": "^[^:]+$" }, "externalAccountNumberExt": { "description": "An external account number extension", "type": "string" }, "name": { "description": "The name of the expense class", "type": "string" }, "metadata": { "type": "object", "$ref": "../../../raml-util/schemas/metadata.schema", "readonly": true } }, "additionalProperties": false, "required": [ "name", "code" ] }
- get_expenseClasses(**kwargs)
Retrieve a list of expenseClass items.
GET /finance/expense-classes- Parameters
**kwargs (properties) – Keyword Arguments
- Keyword Arguments
totalRecords (str) –
(default=auto) How to calculate the totalRecords property. “exact” for the correct number, “estimated” for an estimation, “auto” to automatically select “exact” or “estimated”, “none” for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example
none
offset (int) –
(default=0) Skip over a number of elements by specifying an offset value for the query
Example
0
limit (int) –
(default=10) Limit the number of elements returned in the response
Example
10
query (str) –
A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://dev.folio.org/reference/glossary#cql)) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields: for example code
Example
(username==”ab*” or personal.firstName==”ab*” or personal.lastName==”ab*”) and active==”true” sortby personal.lastName personal.firstName barcode
[“code”, “MEDGRANT”, “=”]
- Returns
See Schema below
- Return type
dict
- Raises
OkapiRequestError – Bad Request
OkapiRequestUnauthorized – Authentication is required
OkapiFatalError – Server Error
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "A collection of expense classes", "type": "object", "properties": { "expenseClasses": { "description": "The list of expense classes objects in this collection", "type": "array", "id": "expense_classes", "items": { "type": "object", "$ref": "expense_class.json" } }, "totalRecords": { "description": "The number of objects in this collection", "type": "integer" } }, "additionalProperties": false, "required": [ "expenseClasses", "totalRecords" ] }
- modify_expenseClass(expenseClassesId: str, expenseClass: dict)
Update expenseClass item with given {expenseClassId}
PUT /finance/expense-classes/{expenseClassesId}- Parameters
expenseClassesId (str) –
expenseClass (dict) – See Schema below
- Raises
OkapiRequestNotFound – Not Found
OkapiRequestError – Bad Request
OkapiRequestConflict – Conflict
OkapiFatalError – Server Error
OkapiRequestUnprocessableEntity – Unprocessable Entity
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "An expense class", "type": "object", "extends": { "$ref": "../../common/schemas/entity.json" }, "properties": { "id": { "description": "UUID of the expense class record", "type": "string", "$ref": "../../common/schemas/uuid.json" }, "_version": { "type": "integer", "description": "Record version for optimistic locking" }, "code": { "description": "The code of the expense class", "type": "string", "pattern": "^[^:]+$" }, "externalAccountNumberExt": { "description": "An external account number extension", "type": "string" }, "name": { "description": "The name of the expense class", "type": "string" }, "metadata": { "type": "object", "$ref": "../../../raml-util/schemas/metadata.schema", "readonly": true } }, "additionalProperties": false, "required": [ "name", "code" ] }
- set_expenseClass(expenseClass: dict)
Create a new expenseClass item.
POST /finance/expense-classes- Parameters
expenseClass (dict) – See Schema below
- Raises
OkapiRequestError – Bad Request
OkapiRequestUnauthorized – Authentication is required
OkapiFatalError – Server Error
OkapiRequestUnprocessableEntity – Unprocessable Entity
Headers
Location - URI to the created expenseClass item
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "An expense class", "type": "object", "extends": { "$ref": "../../common/schemas/entity.json" }, "properties": { "id": { "description": "UUID of the expense class record", "type": "string", "$ref": "../../common/schemas/uuid.json" }, "_version": { "type": "integer", "description": "Record version for optimistic locking" }, "code": { "description": "The code of the expense class", "type": "string", "pattern": "^[^:]+$" }, "externalAccountNumberExt": { "description": "An external account number extension", "type": "string" }, "name": { "description": "The name of the expense class", "type": "string" }, "metadata": { "type": "object", "$ref": "../../../raml-util/schemas/metadata.schema", "readonly": true } }, "additionalProperties": false, "required": [ "name", "code" ] }