openapi: 3.2.0 info: title: Folio Configs API version: v1 description: 'Operations tagged Configs across 2 of this provider''s published API definitions: folio-mod-data-export-spring-export-configs-openapi.json, folio-mod-data-export-spring-export-configs-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /data-export-spring/ tags: - name: Configs paths: /configs: get: parameters: - $ref: '#/components/parameters/trait_queryable_query' - $ref: '#/components/parameters/trait_pageable_limit' description: Get a list of data export configurations operationId: getExportConfigs responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ExportConfigCollection' '500': description: Internal server errors, e.g. due to misconfiguration content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Configs summary: Get export configs x-summary-source: derived post: description: Add an export configuration operationId: postExportConfig requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportConfig' required: true parameters: - name: X-Okapi-Tenant in: header required: true schema: type: string responses: '201': description: '' content: text/plain: schema: type: string example: good '400': description: Bad request content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '500': description: Internal server errors, e.g. due to misconfiguration content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Configs summary: Post export config x-summary-source: derived servers: - url: /data-export-spring/ /configs/{id}: get: description: Get a export configuration by the export configuration ID operationId: getConfigById parameters: - name: id in: path required: true description: UUID of the export configuration schema: type: string responses: '200': description: Export configuration successfully retrieved content: application/json: schema: $ref: '#/components/schemas/ExportConfig' '400': description: Bad request, e.g. malformed request body or query parameter. Details of the errors (e.g. name of the parameter or line/character number with malformed data) provided in the response. content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '404': description: Export configuration with a given ID not found content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '500': description: Internal server errors, e.g. due to misconfiguration content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Configs summary: Get config by id x-summary-source: derived put: description: Change an export configuration operationId: putExportConfig requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportConfig' required: true parameters: - name: id in: path required: true schema: type: string - name: X-Okapi-Tenant in: header required: true schema: type: string responses: '204': description: No Content '400': description: Bad request content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '404': description: Export config not found content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '500': description: Internal server errors, e.g. due to misconfiguration content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Configs summary: Put export config x-summary-source: derived delete: description: Delete export configuration by UUID operationId: deleteExportConfigById parameters: - name: id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad request content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '404': description: Export config not found content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '500': description: Internal server errors, e.g. due to misconfiguration content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Configs summary: Delete export config by id x-summary-source: derived servers: - url: /data-export-spring/ components: schemas: bursarExportFilter: description: Filter for bursar export job oneOf: - $ref: '#/components/schemas/bursarExportFilterAge' - $ref: '#/components/schemas/bursarExportFilterAmount' - $ref: '#/components/schemas/bursarExportFilterFeeType' - $ref: '#/components/schemas/bursarExportFilterLocation' - $ref: '#/components/schemas/bursarExportFilterPatronGroup' - $ref: '#/components/schemas/bursarExportFilterServicePoint' - $ref: '#/components/schemas/bursarExportFilterCondition' - $ref: '#/components/schemas/bursarExportFilterNegation' - $ref: '#/components/schemas/bursarExportFilterPass' - $ref: '#/components/schemas/bursarExportFilterFeeFineOwner' discriminator: propertyName: type mapping: Age: '#/components/schemas/bursarExportFilterAge' Amount: '#/components/schemas/bursarExportFilterAmount' FeeType: '#/components/schemas/bursarExportFilterFeeType' FeeFineOwner: '#/components/schemas/bursarExportFilterFeeFineOwner' Location: '#/components/schemas/bursarExportFilterLocation' PatronGroup: '#/components/schemas/bursarExportFilterPatronGroup' ServicePoint: '#/components/schemas/bursarExportFilterServicePoint' Condition: '#/components/schemas/bursarExportFilterCondition' Negation: '#/components/schemas/bursarExportFilterNegation' Pass: '#/components/schemas/bursarExportFilterPass' AuthorityControlExportConfig: type: object properties: fromDate: description: Report date range start type: string format: date toDate: description: Report date range end type: string format: date required: - fromDate - toDate ErrorType: type: string enum: - ERROR - WARNING bursarExportTransferCriteria: description: Transfer criteria type: object properties: conditions: description: Conditions to apply to the transfer of fees/fines type: array items: type: object properties: condition: description: Condition to apply tp this item $ref: '#/components/schemas/bursarExportFilter' account: description: Account to transfer fees/fines that meet this condition to type: string format: uuid additionalProperties: false required: - condition - account else: type: object description: If none of the specified conditions is met properties: account: description: Account to transfer fees/fines that do not meet any specified conditions to type: string format: uuid additionalProperties: false required: - account additionalProperties: false required: - conditions - else bursarExportTokenFeeAmount: description: Token to represent fee amount type: object properties: type: description: Type of data token type: string default: FeeAmount decimal: description: Whether to return value with decimal type: boolean lengthControl: description: Control length of the token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - decimal ExportConfigCollection: type: object properties: configs: description: List of configs type: array items: $ref: '#/components/schemas/ExportConfig' totalRecords: type: integer additionalProperties: false required: - configs - totalRecords bursarExportTokenUserData: description: Token to represent user data type: object properties: type: description: Type of data token type: string default: UserData value: description: User data to represent type: string enum: - FOLIO_ID lengthControl: description: Control length of token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value Parameters: type: array items: $ref: '#/components/schemas/Parameter' additionalProperties: false ExportConfig: type: object properties: id: type: string type: description: Export type $ref: '#/components/schemas/ExportType' tenant: description: Tenant id type: string exportTypeSpecificParameters: $ref: '#/components/schemas/ExportTypeSpecificParameters' scheduleFrequency: type: integer description: Number of time periods schedulePeriod: type: string description: Time period for repeating job enum: - WEEK - DAY - HOUR - NONE scheduleTime: type: string description: Time to run the job weekDays: type: array description: Day of week to run the job items: type: string description: Day of week enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY additionalProperties: false required: - type - exportTypeSpecificParameters - schedulePeriod bursarExportTokenFeeMetadata: description: Token to represent fee metadata type: object properties: type: description: Type of data token type: string default: FeeMetadata value: description: Metadata to represent type: string enum: - FEE_FINE_TYPE_ID - FEE_FINE_TYPE_NAME lengthControl: description: Control length of token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value bursarExportTokenLengthControl: description: Token to fill in or truncate the length of another token type: object properties: character: description: Character to fill in with type: string maxLength: 1 length: description: Desired length for the token type: integer direction: description: Direction to fill in or truncate from type: string enum: - FRONT - BACK truncate: description: Whether to truncate the token if it is longer than the desired length type: boolean additionalProperties: false required: - character - length - direction - truncate Error: type: object properties: message: type: string minLength: 1 description: Error message text type: description: Error message type $ref: '#/components/schemas/ErrorType' code: type: string description: Error message code parameters: description: Error message parameters $ref: '#/components/schemas/Parameters' additionalProperties: false required: - message Errors: type: object properties: errors: description: List of errors type: array items: type: object $ref: '#/components/schemas/Error' total_error_records: description: Total number of errors type: integer total_warning_records: description: Total number of warnings type: integer additionalProperties: false ExportTypeSpecificParameters: type: object properties: bursarFeeFines: $ref: '#/components/schemas/bursarExportJob' vendorEdiOrdersExportConfig: $ref: '#/components/schemas/VendorEdiOrdersExportConfig' query: description: CQL query to be passed to the module which data is being exported. Use it to filter data. type: string maxLength: 5000 eHoldingsExportConfig: $ref: '#/components/schemas/EHoldingsExportConfig' authorityControlExportConfig: $ref: '#/components/schemas/AuthorityControlExportConfig' bursarExportTokenAggregate: description: Token to represent aggregated result of multiple fees type: object properties: type: description: Type of data token type: string default: Aggregate value: description: Data to represent type: string enum: - NUM_ROWS - TOTAL_AMOUNT decimal: type: boolean description: Whether to return value with decimal. Only applicable for total amount lengthControl: description: Control length of the token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value - decimal bursarExportFilterLocation: description: Filter by location type: object properties: type: description: Type of filter type: string default: Location locationId: description: Id of location to filter by type: string format: uuid additionalProperties: false required: - type - locationId bursarExportHeaderFooterToken: description: Token permitted in header/footer oneOf: - $ref: '#/components/schemas/bursarExportTokenAggregate' - $ref: '#/components/schemas/bursarExportTokenConstant' - $ref: '#/components/schemas/bursarExportTokenCurrentDate' discriminator: propertyName: type mapping: Aggregate: '#/components/schemas/bursarExportTokenAggregate' Constant: '#/components/schemas/bursarExportTokenConstant' CurrentDate: '#/components/schemas/bursarExportTokenCurrentDate' bursarExportFilterNegation: description: Negation of filter for bursar export type: object properties: type: description: Type of filter type: string default: Negation criteria: description: Filter to negate $ref: '#/components/schemas/bursarExportFilter' additionalProperties: false required: - type - criteria ExportType: type: string enum: - CIRCULATION_LOG - BURSAR_FEES_FINES - BATCH_VOUCHER_EXPORT - EDIFACT_ORDERS_EXPORT - CLAIMS - ORDERS_EXPORT - INVOICE_EXPORT - BULK_EDIT_IDENTIFIERS - BULK_EDIT_QUERY - BULK_EDIT_UPDATE - E_HOLDINGS - AUTH_HEADINGS_UPDATES - FAILED_LINKED_BIB_UPDATES default: BURSAR_FEES_FINES bursarExportFilterServicePoint: description: Filter by service point type: object properties: type: description: Type of filter type: string default: ServicePoint servicePointId: description: Id of service point to filter by type: string format: uuid additionalProperties: false required: - type - servicePointId EdiConfig: type: object properties: accountNoList: description: The list of account numbers of the vendor type: array items: type: string defaultAcquisitionMethods: description: Default acquisition methods for the accounts type: array items: description: UUID of the acquisition method type: string format: uuid ediNamingConvention: description: The naming convention for this EDI type: string libEdiCode: description: The library code for this EDI type: string libEdiType: description: The library type for this EDI type: string enum: - 014/EAN - 31B/US-SAN - 091/Vendor-assigned - 092/Customer-assigned vendorEdiCode: description: The library code for this EDI type: string vendorEdiType: description: The library type for this EDI type: string enum: - 014/EAN - 31B/US-SAN - 091/Vendor-assigned - 092/Customer-assigned notes: description: The notes for this EDI type: string sendAccountNumber: description: If true then send account number type: boolean default: false supportOrder: description: If true then order support type: boolean default: false supportInvoice: description: If true then invoice support type: boolean default: false bursarExportFilterCondition: description: Filter conditional operations type: object properties: type: description: Type of filter type: string default: Condition operation: description: Conditional operation of the filter type: string enum: - AND - OR criteria: description: Criteria to apply of the filter type: array items: $ref: '#/components/schemas/bursarExportFilter' additionalProperties: false required: - type - operation - criteria bursarExportFilterFeeFineOwner: description: Filter by fee fine owner type: object properties: type: description: Type of filter type: string default: FeeFineOwner feeFineOwner: description: Id of fee/fine owner to filter by type: string format: uuid additionalProperties: false required: - type - feeFineOwner bursarExportFilterPass: description: Filter that is always true type: object properties: type: description: Type of filter type: string default: Pass additionalProperties: false required: - type bursarExportTokenItemData: description: Token to represent item data type: object properties: type: description: Type of token type: string default: ItemData value: description: Item data to represent type: string enum: - BARCODE - NAME - MATERIAL_TYPE - INSTITUTION_ID - CAMPUS_ID - LIBRARY_ID - LOCATION_ID placeholder: description: Placeholder text to display when no value is available type: string lengthControl: description: Control length of token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value - placeholder bursarExportTokenFeeDate: description: Token to represent part of date about a fee type: object properties: type: description: Type of data token type: string default: FeeDate property: description: Property of fee to be represented by token type: string enum: - CREATED - UPDATED - DUE - RETURNED value: description: Type of date value to represent $ref: '#/components/schemas/bursarExportTokenDateType' placeholder: description: Placeholder value to use if date is not available type: string timezone: description: Timezone to use for date type: string lengthControl: description: Control length of token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - property - value - placeholder - timezone bursarExportJob: description: Bursar export job schema type: object properties: filter: description: Filter to use for the regular export $ref: '#/components/schemas/bursarExportFilter' groupByPatron: description: Choose whether to group fee/fines by patron type: boolean groupByPatronFilter: description: Filter to use for the export when grouping by patron $ref: '#/components/schemas/bursarExportFilterAggregate' header: description: Header format for the export file type: array items: $ref: '#/components/schemas/bursarExportHeaderFooterToken' data: description: Data format for the export file type: array items: $ref: '#/components/schemas/bursarExportDataToken' footer: description: Footer format for the export file type: array items: $ref: '#/components/schemas/bursarExportHeaderFooterToken' transferInfo: description: Transfer information for the export $ref: '#/components/schemas/bursarExportTransferCriteria' additionalProperties: false required: - filter - groupByPatron - header - data - footer - transferInfo bursarExportTokenConstant: description: Token to represent a constant used as an arbitrary string type: object properties: type: description: Type of data token type: string default: Constant value: description: Value of the constant type: string additionalProperties: false required: - type - value bursarExportFilterFeeType: description: Filter by fee type type: object properties: type: description: Type of filter type: string default: FeeType feeFineTypeId: description: Id of fee/fine type to filter by type: string format: uuid additionalProperties: false required: - type - feeFineTypeId bursarExportFilterAggregate: description: Filter by aggregate data type: object properties: type: description: Type of filter type: string default: Aggregate property: description: Property to filter on type: string enum: - NUM_ROWS - TOTAL_AMOUNT amount: description: Amount to filter on type: integer condition: description: Condition to filter on type: string enum: - LESS_THAN_EQUAL - LESS_THAN - GREATER_THAN - GREATER_THAN_EQUAL additionalProperties: false required: - type - property - amount - condition bursarExportFilterPatronGroup: description: Filter by patron group type: object properties: type: description: Type of filter type: string default: PatronGroup patronGroupId: description: Id of patron group to filter by type: string format: uuid additionalProperties: false required: - type - patronGroupId EdiFtp: type: object properties: ftpConnMode: description: The FTP connection mode for this EDI type: string enum: - Active - Passive ftpFormat: description: The FTP format for this EDI type: string enum: - SFTP - FTP ftpMode: description: The FTP mode for this EDI type: string enum: - ASCII - Binary ftpPort: description: The port for this EDI type: integer invoiceDirectory: description: The invoice directory for this EDI type: string isPrimaryTransmissionMethod: description: Primary transmission method type: boolean notes: description: The notes for this EDI type: string orderDirectory: description: The order directory for this EDI type: string password: description: The login password for this EDI type: string serverAddress: description: The server address for this EDI type: string username: description: The login username for this EDI type: string bursarExportFilterAmount: description: Filter by fee amount type: object properties: type: description: Type of filter type: string default: Amount amount: description: Amount to filter by type: integer condition: description: Condition to filter by type: string enum: - LESS_THAN_EQUAL - LESS_THAN - GREATER_THAN - GREATER_THAN_EQUAL additionalProperties: false required: - type - amount - condition ScheduleParameters: type: object properties: id: description: Schedule unique identifier type: string format: uuid scheduleFrequency: type: integer description: Number of time periods schedulePeriod: type: string description: Time period for repeating job enum: - MONTH - WEEK - DAY - HOUR - EXACT_DATE - NONE schedulingDate: description: The date (MM/DD/YYYY) for this job to start running format: date-time type: string scheduleTime: type: string description: Time to run the job scheduleDay: type: integer description: Day of month to run the job (One-based) weekDays: type: array description: Day of week to run the job items: type: string description: Day of week enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY timeZone: type: string description: Schedule time zone default: UTC bursarExportDataToken: description: Usable token for bursar export oneOf: - $ref: '#/components/schemas/bursarExportTokenAggregate' - $ref: '#/components/schemas/bursarExportTokenConstant' - $ref: '#/components/schemas/bursarExportTokenCurrentDate' - $ref: '#/components/schemas/bursarExportTokenFeeDate' - $ref: '#/components/schemas/bursarExportTokenFeeAmount' - $ref: '#/components/schemas/bursarExportTokenFeeMetadata' - $ref: '#/components/schemas/bursarExportTokenItemData' - $ref: '#/components/schemas/bursarExportTokenUserData' - $ref: '#/components/schemas/bursarExportTokenUserDataOptional' - $ref: '#/components/schemas/bursarExportTokenConditional' discriminator: propertyName: type mapping: Aggregate: '#/components/schemas/bursarExportTokenAggregate' Constant: '#/components/schemas/bursarExportTokenConstant' CurrentDate: '#/components/schemas/bursarExportTokenCurrentDate' FeeDate: '#/components/schemas/bursarExportTokenFeeDate' FeeAmount: '#/components/schemas/bursarExportTokenFeeAmount' FeeMetadata: '#/components/schemas/bursarExportTokenFeeMetadata' ItemData: '#/components/schemas/bursarExportTokenItemData' UserData: '#/components/schemas/bursarExportTokenUserData' UserDataOptional: '#/components/schemas/bursarExportTokenUserDataOptional' Conditional: '#/components/schemas/bursarExportTokenConditional' bursarExportTokenConditional: description: Token to represent other data tokens depending on certain conditions type: object properties: type: description: Type of the data token type: string default: Conditional conditions: description: Conditions to apply to the token type: array items: type: object properties: condition: description: Condition to apply to the item $ref: '#/components/schemas/bursarExportFilter' value: description: Data to represent if the condition is true $ref: '#/components/schemas/bursarExportDataToken' additionalProperties: false required: - condition - value else: description: Data to represent if no condition is true $ref: '#/components/schemas/bursarExportDataToken' additionalProperties: false required: - type - conditions - else Parameter: type: object properties: key: type: string minLength: 1 value: type: string additionalProperties: false required: - key VendorEdiOrdersExportConfig: type: object properties: exportConfigId: description: UUID of the export configuration. Needed to find Jobs by export config UUID type: string format: uuid vendorId: description: UUID of the acquisition method type: string format: uuid configName: description: Configuration name type: string configDescription: description: Configuration description type: string ediConfig: description: EDI config for this vendor $ref: '#/components/schemas/EdiConfig' ediFtp: $ref: '#/components/schemas/EdiFtp' ediSchedule: $ref: '#/components/schemas/EdiSchedule' isDefaultConfig: description: If true then config is default type: boolean default: false integrationType: description: Type of the integration type: string enum: - Ordering - Claiming transmissionMethod: description: Transmission method type: string enum: - FTP - File download fileFormat: description: File format type: string enum: - CSV - EDI claimPieceIds: description: Claim piece ids. Applicable only for Claiming integration type type: array items: description: UUID of the piece type: string bursarExportTokenUserDataOptional: description: Token to represent optional user data type: object properties: type: description: Type of data token type: string default: UserDataOptional value: description: Optional user data to represent type: string enum: - BARCODE - USERNAME - FIRST_NAME - MIDDLE_NAME - LAST_NAME - PATRON_GROUP_ID - EXTERNAL_SYSTEM_ID placeholder: description: Placeholder text to display when no value is present type: string lengthControl: description: Control length of token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value - placeholder EdiSchedule: type: object properties: enableScheduledExport: description: Whether or not to enable scheduled for exports type: boolean default: false scheduleParameters: $ref: '#/components/schemas/ScheduleParameters' schedulingNotes: description: The schedule notes for this EDI job type: string bursarExportFilterAge: description: Filter by fees within certain days range type: object properties: type: description: Type of filter type: string default: Age numDays: description: Number of days type: integer minimum: 1 condition: description: Condition to get days range type: string enum: - LESS_THAN_EQUAL - LESS_THAN - GREATER_THAN - GREATER_THAN_EQUAL additionalProperties: false required: - type - numDays - condition bursarExportTokenDateType: description: Schema to represent the type of date information type: string enum: - YEAR_LONG - YEAR_SHORT - MONTH - DATE - HOUR - MINUTE - SECOND - QUARTER - WEEK_OF_YEAR_ISO - WEEK_YEAR_ISO - DAY_OF_YEAR - YYYYMMDD - YYYY-MM-DD - MMDDYYYY - DDMMYYYY bursarExportTokenCurrentDate: description: Token to represent part of date type: object properties: type: description: Type of data token type: string default: Date value: description: Type of date value to represent $ref: '#/components/schemas/bursarExportTokenDateType' timezone: description: Timezone to use for date type: string lengthControl: description: Control length of the token $ref: '#/components/schemas/bursarExportTokenLengthControl' additionalProperties: false required: - type - value - timezone EHoldingsExportConfig: type: object properties: recordId: description: Unique identifier of package - combination of providerId-packageId example: 91525-1152699-659590 type: string recordType: type: string description: The record type enum: - PACKAGE - RESOURCE titleSearchFilters: description: The filters needed to filter package titles example: filter[name]=title&sort=name type: string packageFields: description: The list of package fields for export type: array items: type: string titleFields: description: The list of title fields for export type: array items: type: string required: - recordId - recordType parameters: trait_queryable_query: name: query in: query description: A query string to filter rules based on matching criteria in fields. schema: type: string trait_pageable_limit: name: limit in: query description: Limit the number of elements returned in the response schema: default: 10 type: integer x-refined-from: - folio-mod-data-export-spring-export-configs-openapi.json - folio-mod-data-export-spring-export-configs-openapi.yml