https://github.com/folio-org/mod-finance-storage
CRUD APIs used to manage ledger rollover.
Collection of ledger-rollover items.
Get list of rollovers
GET /finance-storage/ledger-rollovers
A query expressed as a CQL string (see 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", "="]
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of ledger-rollover items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of ledger fiscal year rollovers",
"type": "object",
"properties": {
"ledgerFiscalYearRollovers": {
"description": "The list of fiscal year rollovers",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Ledger fiscal year rollover",
"type": "object",
"properties": {
"id": {
"description": "id of ledger fiscal year rollover",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"ledgerId": {
"description": "Ledger UUID for which rollover was started",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"fromFiscalYearId": {
"description": "UUID of the fiscal year from which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"toFiscalYearId": {
"description": "UUID of the fiscal year to which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"restrictEncumbrance": {
"description": "Imposes restrictions on encumbrances",
"type": "boolean",
"default": false
},
"restrictExpenditures": {
"description": "Imposes restrictions on payments",
"type": "boolean",
"default": false
},
"needCloseBudgets": {
"description": "Control that all budget must be closed in rollover time",
"type": "boolean",
"default": true
},
"budgetsRollover": {
"description": "Budget rollover info",
"type": "array",
"id": "budgetsRollover",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Budget rollover info",
"javaType": "org.folio.rest.jaxrs.model.BudgetRollover",
"properties": {
"fundTypeId": {
"description": "Fund type UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"rolloverAllocation": {
"description": "Should allocated amount needs to be rollover",
"type": "boolean",
"default": true
},
"rolloverAvailable": {
"description": "Should available amount needs to be rollover",
"type": "boolean",
"default": true
},
"adjustAllocation": {
"description": "How much should we increase the allocation",
"type": "number",
"default": 0
},
"addAvailableTo": {
"description": "Where to add available : Available or Allocation",
"type": "string",
"enum": [
"Available",
"Allocation"
],
"default": "Available"
},
"allowableEncumbrance": {
"description": "The encumbrance percentage limit for this budget",
"type": "number",
"default": 100
},
"allowableExpenditure": {
"description": "The expenditure percentage limit for this budget",
"type": "number",
"default": 100
}
},
"additionalProperties": false
}
},
"encumbrancesRollover": {
"description": "Encumbrances rollover info",
"id": "encumbrancesRollover",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Encumbrance rollover info",
"javaType": "org.folio.rest.jaxrs.model.EncumbranceRollover",
"properties": {
"orderType": {
"description": "Order type",
"type": "string",
"enum": [
"Ongoing",
"Ongoing-Subscription",
"One-time"
]
},
"basedOn": {
"description": "Based on Expended to Remaining",
"type": "string",
"enum": [
"Expended",
"Remaining"
]
},
"increaseBy": {
"description": "How much should we increase the encumbrance amount based on basedOn",
"type": "number",
"default": 0
}
},
"additionalProperties": false,
"required": [
"orderType",
"basedOn"
]
}
},
"metadata": {
"readonly": true,
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"ledgerId",
"fromFiscalYearId",
"toFiscalYearId",
"budgetsRollover",
"encumbrancesRollover"
]
}
},
"totalRecords": {
"description": "The number of records contained in this collection",
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"required": [
"ledgerFiscalYearRollovers",
"totalRecords"
]
}
Example:
{
"ledgerFiscalYearRollovers": [
{
"id": "e7ed4439-a5ea-4976-b7e6-264e495fbfe8",
"ledgerId": "7cef8378-7cbd-1fae-bcdd-8b9d7c0af9de",
"fromFiscalYearId": "ac2164c7-ba3d-1bc2-a12c-e35ceccbfaf2",
"toFiscalYearId": "517efc6a-f218-4d25-a832-10de4dc32f25",
"restrictEncumbrance": false,
"restrictExpenditures": false,
"needCloseBudgets": true,
"budgetsRollover": [
{
"fundTypeId": "c93373df-e7ec-4d31-b200-719736610d89",
"rolloverAllocation": true,
"rolloverAvailable": true,
"adjustAllocation": 5,
"addAvailableTo": "Available",
"allowableEncumbrance": 100,
"allowableExpenditure": 100
}
],
"encumbrancesRollover": [
{
"orderType": "Ongoing",
"basedOn": "Expended",
"increaseBy": 5
},
{
"orderType": "One-time",
"basedOn": "Expended",
"increaseBy": 4
}
]
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list ledger-rollovers -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list ledger-rollovers -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new ledger-rollover item.
POST /finance-storage/ledger-rollovers
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Ledger fiscal year rollover",
"type": "object",
"properties": {
"id": {
"description": "id of ledger fiscal year rollover",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"ledgerId": {
"description": "Ledger UUID for which rollover was started",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"fromFiscalYearId": {
"description": "UUID of the fiscal year from which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"toFiscalYearId": {
"description": "UUID of the fiscal year to which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"restrictEncumbrance": {
"description": "Imposes restrictions on encumbrances",
"type": "boolean",
"default": false
},
"restrictExpenditures": {
"description": "Imposes restrictions on payments",
"type": "boolean",
"default": false
},
"needCloseBudgets": {
"description": "Control that all budget must be closed in rollover time",
"type": "boolean",
"default": true
},
"budgetsRollover": {
"description": "Budget rollover info",
"type": "array",
"id": "budgetsRollover",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Budget rollover info",
"javaType": "org.folio.rest.jaxrs.model.BudgetRollover",
"properties": {
"fundTypeId": {
"description": "Fund type UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"rolloverAllocation": {
"description": "Should allocated amount needs to be rollover",
"type": "boolean",
"default": true
},
"rolloverAvailable": {
"description": "Should available amount needs to be rollover",
"type": "boolean",
"default": true
},
"adjustAllocation": {
"description": "How much should we increase the allocation",
"type": "number",
"default": 0
},
"addAvailableTo": {
"description": "Where to add available : Available or Allocation",
"type": "string",
"enum": [
"Available",
"Allocation"
],
"default": "Available"
},
"allowableEncumbrance": {
"description": "The encumbrance percentage limit for this budget",
"type": "number",
"default": 100
},
"allowableExpenditure": {
"description": "The expenditure percentage limit for this budget",
"type": "number",
"default": 100
}
},
"additionalProperties": false
}
},
"encumbrancesRollover": {
"description": "Encumbrances rollover info",
"id": "encumbrancesRollover",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Encumbrance rollover info",
"javaType": "org.folio.rest.jaxrs.model.EncumbranceRollover",
"properties": {
"orderType": {
"description": "Order type",
"type": "string",
"enum": [
"Ongoing",
"Ongoing-Subscription",
"One-time"
]
},
"basedOn": {
"description": "Based on Expended to Remaining",
"type": "string",
"enum": [
"Expended",
"Remaining"
]
},
"increaseBy": {
"description": "How much should we increase the encumbrance amount based on basedOn",
"type": "number",
"default": 0
}
},
"additionalProperties": false,
"required": [
"orderType",
"basedOn"
]
}
},
"metadata": {
"readonly": true,
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"ledgerId",
"fromFiscalYearId",
"toFiscalYearId",
"budgetsRollover",
"encumbrancesRollover"
]
}
Example:
{
"id": "e7ed4439-a5ea-4976-b7e6-264e495fbfe8",
"ledgerId": "7cef8378-7cbd-1fae-bcdd-8b9d7c0af9de",
"fromFiscalYearId": "ac2164c7-ba3d-1bc2-a12c-e35ceccbfaf2",
"toFiscalYearId": "517efc6a-f218-4d25-a832-10de4dc32f25",
"restrictEncumbrance": false,
"restrictExpenditures": false,
"needCloseBudgets": true,
"budgetsRollover": [
{
"fundTypeId": "c93373df-e7ec-4d31-b200-719736610d89",
"rolloverAllocation": true,
"rolloverAvailable": true,
"adjustAllocation": 5,
"addAvailableTo": "Available",
"allowableEncumbrance": 100,
"allowableExpenditure": 100
}
],
"encumbrancesRollover": [
{
"orderType": "Ongoing",
"basedOn": "Expended",
"increaseBy": 5
},
{
"orderType": "One-time",
"basedOn": "Expended",
"increaseBy": 4
}
]
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created ledger-rollover item
Media type: application/json
Type: any
Example:
{
"id": "e7ed4439-a5ea-4976-b7e6-264e495fbfe8",
"ledgerId": "7cef8378-7cbd-1fae-bcdd-8b9d7c0af9de",
"fromFiscalYearId": "ac2164c7-ba3d-1bc2-a12c-e35ceccbfaf2",
"toFiscalYearId": "517efc6a-f218-4d25-a832-10de4dc32f25",
"restrictEncumbrance": false,
"restrictExpenditures": false,
"needCloseBudgets": true,
"budgetsRollover": [
{
"fundTypeId": "c93373df-e7ec-4d31-b200-719736610d89",
"rolloverAllocation": true,
"rolloverAvailable": true,
"adjustAllocation": 5,
"addAvailableTo": "Available",
"allowableEncumbrance": 100,
"allowableExpenditure": 100
}
],
"encumbrancesRollover": [
{
"orderType": "Ongoing",
"basedOn": "Expended",
"increaseBy": 5
},
{
"orderType": "One-time",
"basedOn": "Expended",
"increaseBy": 4
}
]
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add ledger-rollover -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create ledger-rollovers -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Retrieve ledger-rollover item with given {ledger-rolloverId}
GET /finance-storage/ledger-rollovers/{id}
The UUID of a rollover
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Ledger fiscal year rollover",
"type": "object",
"properties": {
"id": {
"description": "id of ledger fiscal year rollover",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"ledgerId": {
"description": "Ledger UUID for which rollover was started",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"fromFiscalYearId": {
"description": "UUID of the fiscal year from which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"toFiscalYearId": {
"description": "UUID of the fiscal year to which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"restrictEncumbrance": {
"description": "Imposes restrictions on encumbrances",
"type": "boolean",
"default": false
},
"restrictExpenditures": {
"description": "Imposes restrictions on payments",
"type": "boolean",
"default": false
},
"needCloseBudgets": {
"description": "Control that all budget must be closed in rollover time",
"type": "boolean",
"default": true
},
"budgetsRollover": {
"description": "Budget rollover info",
"type": "array",
"id": "budgetsRollover",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Budget rollover info",
"javaType": "org.folio.rest.jaxrs.model.BudgetRollover",
"properties": {
"fundTypeId": {
"description": "Fund type UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"rolloverAllocation": {
"description": "Should allocated amount needs to be rollover",
"type": "boolean",
"default": true
},
"rolloverAvailable": {
"description": "Should available amount needs to be rollover",
"type": "boolean",
"default": true
},
"adjustAllocation": {
"description": "How much should we increase the allocation",
"type": "number",
"default": 0
},
"addAvailableTo": {
"description": "Where to add available : Available or Allocation",
"type": "string",
"enum": [
"Available",
"Allocation"
],
"default": "Available"
},
"allowableEncumbrance": {
"description": "The encumbrance percentage limit for this budget",
"type": "number",
"default": 100
},
"allowableExpenditure": {
"description": "The expenditure percentage limit for this budget",
"type": "number",
"default": 100
}
},
"additionalProperties": false
}
},
"encumbrancesRollover": {
"description": "Encumbrances rollover info",
"id": "encumbrancesRollover",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Encumbrance rollover info",
"javaType": "org.folio.rest.jaxrs.model.EncumbranceRollover",
"properties": {
"orderType": {
"description": "Order type",
"type": "string",
"enum": [
"Ongoing",
"Ongoing-Subscription",
"One-time"
]
},
"basedOn": {
"description": "Based on Expended to Remaining",
"type": "string",
"enum": [
"Expended",
"Remaining"
]
},
"increaseBy": {
"description": "How much should we increase the encumbrance amount based on basedOn",
"type": "number",
"default": 0
}
},
"additionalProperties": false,
"required": [
"orderType",
"basedOn"
]
}
},
"metadata": {
"readonly": true,
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"ledgerId",
"fromFiscalYearId",
"toFiscalYearId",
"budgetsRollover",
"encumbrancesRollover"
]
}
Example:
{
"id": "e7ed4439-a5ea-4976-b7e6-264e495fbfe8",
"ledgerId": "7cef8378-7cbd-1fae-bcdd-8b9d7c0af9de",
"fromFiscalYearId": "ac2164c7-ba3d-1bc2-a12c-e35ceccbfaf2",
"toFiscalYearId": "517efc6a-f218-4d25-a832-10de4dc32f25",
"restrictEncumbrance": false,
"restrictExpenditures": false,
"needCloseBudgets": true,
"budgetsRollover": [
{
"fundTypeId": "c93373df-e7ec-4d31-b200-719736610d89",
"rolloverAllocation": true,
"rolloverAvailable": true,
"adjustAllocation": 5,
"addAvailableTo": "Available",
"allowableEncumbrance": 100,
"allowableExpenditure": 100
}
],
"encumbrancesRollover": [
{
"orderType": "Ongoing",
"basedOn": "Expended",
"increaseBy": 5
},
{
"orderType": "One-time",
"basedOn": "Expended",
"increaseBy": 4
}
]
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"ledger-rollover not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete ledger-rollover item with given {ledger-rolloverId}
DELETE /finance-storage/ledger-rollovers/{id}
The UUID of a rollover
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete ledger-rollover -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"ledger-rollover not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Update ledger-rollover item with given {ledger-rolloverId}
PUT /finance-storage/ledger-rollovers/{id}
The UUID of a rollover
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Ledger fiscal year rollover",
"type": "object",
"properties": {
"id": {
"description": "id of ledger fiscal year rollover",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"ledgerId": {
"description": "Ledger UUID for which rollover was started",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"fromFiscalYearId": {
"description": "UUID of the fiscal year from which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"toFiscalYearId": {
"description": "UUID of the fiscal year to which rollover will be happened",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"restrictEncumbrance": {
"description": "Imposes restrictions on encumbrances",
"type": "boolean",
"default": false
},
"restrictExpenditures": {
"description": "Imposes restrictions on payments",
"type": "boolean",
"default": false
},
"needCloseBudgets": {
"description": "Control that all budget must be closed in rollover time",
"type": "boolean",
"default": true
},
"budgetsRollover": {
"description": "Budget rollover info",
"type": "array",
"id": "budgetsRollover",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Budget rollover info",
"javaType": "org.folio.rest.jaxrs.model.BudgetRollover",
"properties": {
"fundTypeId": {
"description": "Fund type UUID",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"rolloverAllocation": {
"description": "Should allocated amount needs to be rollover",
"type": "boolean",
"default": true
},
"rolloverAvailable": {
"description": "Should available amount needs to be rollover",
"type": "boolean",
"default": true
},
"adjustAllocation": {
"description": "How much should we increase the allocation",
"type": "number",
"default": 0
},
"addAvailableTo": {
"description": "Where to add available : Available or Allocation",
"type": "string",
"enum": [
"Available",
"Allocation"
],
"default": "Available"
},
"allowableEncumbrance": {
"description": "The encumbrance percentage limit for this budget",
"type": "number",
"default": 100
},
"allowableExpenditure": {
"description": "The expenditure percentage limit for this budget",
"type": "number",
"default": 100
}
},
"additionalProperties": false
}
},
"encumbrancesRollover": {
"description": "Encumbrances rollover info",
"id": "encumbrancesRollover",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Encumbrance rollover info",
"javaType": "org.folio.rest.jaxrs.model.EncumbranceRollover",
"properties": {
"orderType": {
"description": "Order type",
"type": "string",
"enum": [
"Ongoing",
"Ongoing-Subscription",
"One-time"
]
},
"basedOn": {
"description": "Based on Expended to Remaining",
"type": "string",
"enum": [
"Expended",
"Remaining"
]
},
"increaseBy": {
"description": "How much should we increase the encumbrance amount based on basedOn",
"type": "number",
"default": 0
}
},
"additionalProperties": false,
"required": [
"orderType",
"basedOn"
]
}
},
"metadata": {
"readonly": true,
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"ledgerId",
"fromFiscalYearId",
"toFiscalYearId",
"budgetsRollover",
"encumbrancesRollover"
]
}
Example:
{
"id": "e7ed4439-a5ea-4976-b7e6-264e495fbfe8",
"ledgerId": "7cef8378-7cbd-1fae-bcdd-8b9d7c0af9de",
"fromFiscalYearId": "ac2164c7-ba3d-1bc2-a12c-e35ceccbfaf2",
"toFiscalYearId": "517efc6a-f218-4d25-a832-10de4dc32f25",
"restrictEncumbrance": false,
"restrictExpenditures": false,
"needCloseBudgets": true,
"budgetsRollover": [
{
"fundTypeId": "c93373df-e7ec-4d31-b200-719736610d89",
"rolloverAllocation": true,
"rolloverAvailable": true,
"adjustAllocation": 5,
"addAvailableTo": "Available",
"allowableEncumbrance": 100,
"allowableExpenditure": 100
}
],
"encumbrancesRollover": [
{
"orderType": "Ongoing",
"basedOn": "Expended",
"increaseBy": 5
},
{
"orderType": "One-time",
"basedOn": "Expended",
"increaseBy": 4
}
]
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update ledger-rollover -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"ledger-rollover not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator