openapi: 3.2.0 info: title: Folio Jobs API version: '1.0' description: 'Operations tagged Jobs across 4 of this provider''s published API definitions: folio-mod-agreements-openapi.json, folio-mod-data-export-spring-jobs-openapi.json, folio-mod-agreements-openapi.yml, folio-mod-data-export-spring-jobs-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org - url: /data-export-spring/ tags: - name: Jobs paths: /erm/jobs: description: Supports search of persistent job records. Jobs track the progress of asynchronous background work (e.g. package imports, comparisons). Creation happens per job type via /erm/jobs/{jobType} parameters: - $ref: '#/components/parameters/x-okapi-tenant' get: tags: - Jobs summary: Get a set of persistent job records operationId: getJobs parameters: - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/stats' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/page' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/PersistentJobResults' - $ref: '#/components/schemas/PersistentJobResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Get a specified persistent job record operationId: getJob responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/HttpError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] delete: tags: - Jobs summary: Delete a specified persistent job record. operationId: deleteJob responses: '204': description: No content '400': description: Bad request error '403': description: Forbidden '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/HttpError' '405': description: Method not allowed - this job is in progress and cannot be deleted '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/type/{jobType}: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobType' get: tags: - Jobs summary: Get a set of persistent job records of the specified type operationId: getJobsByType parameters: - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/stats' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/page' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/PersistentJobResults' - $ref: '#/components/schemas/PersistentJobResultsArray' '400': description: Bad request error '403': description: Forbidden '404': description: Not found error -- jobType is not a recognised job type '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/comparison: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a comparison job operationId: postComparisonJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateComparisonJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ComparisonJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/coverageRegeneration: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a coverage regeneration job operationId: postCoverageRegenerationJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSimpleJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/packageImport: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a package import job operationId: postPackageImportJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePackageImportJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/kbartImport: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a KBART package import job operationId: postKbartImportJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateKbartImportJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/packageIngest: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a package ingest job operationId: postPackageIngestJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSimpleJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/supplementaryDocumentsCleaning: parameters: - $ref: '#/components/parameters/x-okapi-tenant' post: tags: - Jobs summary: Create and queue a supplementary documents cleaning job operationId: postSupplementaryDocumentsCleaningJob requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSimpleJobBody' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PersistentJob' '400': description: Bad request error '403': description: Forbidden '422': description: Validation error content: application/json: schema: $ref: '#/components/schemas/ApplicationError' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/fullLog: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Get the full (info and error) log for a specified job operationId: getJobFullLog parameters: - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/stats' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/page' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/LogEntryResults' - $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/fullLogStream: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Stream the full (info and error) log for a specified job operationId: getJobFullLogStream description: Streams results in batches rather than paginating, so the response is a plain array with no pagination metadata parameters: - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/sort' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/errorLog: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Get the error-level log entries for a specified job operationId: getJobErrorLog parameters: - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/stats' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/page' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/LogEntryResults' - $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/errorLogStream: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Stream the error-level log entries for a specified job operationId: getJobErrorLogStream description: Streams results in batches rather than paginating, so the response is a plain array with no pagination metadata parameters: - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/sort' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/infoLog: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Get the info-level log entries for a specified job operationId: getJobInfoLog parameters: - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/stats' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/page' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/LogEntryResults' - $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/infoLogStream: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Stream the info-level log entries for a specified job operationId: getJobInfoLogStream description: Streams results in batches rather than paginating, so the response is a plain array with no pagination metadata parameters: - $ref: '#/components/parameters/term' - $ref: '#/components/parameters/filters' - $ref: '#/components/parameters/match' - $ref: '#/components/parameters/sort' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LogEntryResultsArray' '400': description: Bad request error '403': description: Forbidden '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /erm/jobs/{jobId}/downloadFileObject: parameters: - $ref: '#/components/parameters/x-okapi-tenant' - $ref: '#/components/parameters/jobId' get: tags: - Jobs summary: Download the file object attached to a specified job operationId: getJobFileObject description: Only meaningful for comparison jobs -- the underlying implementation looks up the record as a ComparisonJob regardless of the job's actual type, so ids for other job types will return a 404. Only available once the job has ended; returns a 405 otherwise responses: '200': description: OK content: text/json: schema: type: string format: binary '400': description: Bad request error '403': description: Forbidden '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/HttpError' '405': description: Method not allowed - this job has not yet ended '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/GrailsErrorResponse' security: - accessToken: [] - okapiToken: [] servers: - url: https://folio-snapshot-okapi.dev.folio.org - url: https://folio-snapshot-2-okapi.dev.folio.org - url: https://folio-etesting-snapshot-kong.ci.folio.org /jobs: get: description: Get jobs fy filter operationId: getJobs parameters: - $ref: '#/components/parameters/trait_pageable_offset' - $ref: '#/components/parameters/trait_pageable_limit' - $ref: '#/components/parameters/trait_queryable_query' responses: '200': description: Jobs successfully retrieved content: application/json: schema: $ref: '#/components/schemas/JobCollection' '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' '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: - Jobs summary: Get jobs x-summary-source: derived post: description: Create or update a job operationId: upsertJob parameters: - name: X-Okapi-Tenant in: header required: true schema: type: string responses: '200': description: Job updated content: application/json: schema: $ref: '#/components/schemas/Job' '201': description: Job created content: application/json: schema: $ref: '#/components/schemas/Job' '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' requestBody: content: application/json: schema: $ref: '#/components/schemas/Job' required: true tags: - Jobs summary: Upsert job x-summary-source: derived servers: - url: /data-export-spring/ /jobs/{id}: get: description: Get a job by the job ID operationId: getJobById parameters: - name: id in: path required: true description: UUID of the job schema: $ref: '#/components/schemas/UUID' responses: '200': description: Job successfully retrieved content: application/json: schema: $ref: '#/components/schemas/Job' '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: Job 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: - Jobs summary: Get job by id x-summary-source: derived servers: - url: /data-export-spring/ /jobs/{id}/resend: post: description: resend exported file by the job ID operationId: resendExportedFile parameters: - name: id in: path required: true description: UUID of the job schema: $ref: '#/components/schemas/UUID' responses: '201': description: Resend job created '400': description: Bad Request content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' '404': description: ExportFile with a given Job 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 content: application/json: example: value: $ref: ../../../../folio-export-common/examples/errors.sample schema: $ref: '#/components/schemas/Errors' tags: - Jobs summary: Resend exported file x-summary-source: derived servers: - url: /data-export-spring/ /jobs/{id}/download: get: description: Download exported file by the job ID operationId: downloadExportedFileByJobId parameters: - name: id in: path required: true description: UUID of the job schema: $ref: '#/components/schemas/UUID' - name: key in: query required: false description: Key of the file in storage to be downloaded schema: type: string responses: '200': description: Export file successfully retrieved content: application/octet-stream: schema: type: string format: binary tags: - Jobs summary: Download exported file by job id x-summary-source: derived servers: - url: /data-export-spring/ /jobs/send: post: description: Send job via Kafka operationId: sendJob responses: '200': description: Job was sent '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' requestBody: content: application/json: schema: $ref: '#/components/schemas/Job' required: true tags: - Jobs summary: Send job x-summary-source: derived servers: - url: /data-export-spring/ components: parameters: filters: in: query name: filters required: false schema: type: string sort: in: query name: sort required: false schema: type: string page: in: query name: page required: false schema: type: integer perPage: in: query name: perPage required: false schema: type: integer x-okapi-tenant: in: header name: x-okapi-tenant required: true schema: type: string offset: in: query name: offset required: false schema: type: integer jobId: in: path name: jobId description: UUID for a persistent job required: true schema: type: string format: uuid term: in: query name: term required: false schema: type: string stats: in: query name: stats required: false schema: type: boolean jobType: in: path name: jobType description: Unlike job creation, listing by type is not restricted to the types postable via /erm/jobs/{jobType} -- any PersistentJob subtype can be filtered on here, including types only ever created internally required: true schema: type: string enum: - comparison - coverageRegeneration - packageImport - kbartImport - packageIngest - supplementaryDocumentsCleaning - externalEntitlementSync - packageTriggerResync - titleIngest - resourceDeletion - eHoldingsEntitlementSync - identifierReassignment match: in: query name: match required: false schema: type: string 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 minimum: 0 maximum: 2147483647 type: integer trait_pageable_offset: name: offset in: query description: Skip over a number of elements by specifying an offset value for the query schema: default: 0 minimum: 0 maximum: 2147483647 type: integer schemas: LogEntryResultsArray: type: array items: $ref: '#/components/schemas/LogEntry' GrailsErrorResponse: type: object description: Error-handler body for an uncaught exception raised during request processing. `exception` and `stackTrace` usually suppressed in production systems required: - error - timestamp - message properties: error: type: integer description: HTTP status code timestamp: type: string format: date-time message: type: string exception: type: string description: Exception class and message. stackTrace: type: array items: type: string PersistentJob: type: object properties: id: type: string format: uuid class: type: string description: Fully-qualified class name identifying the concrete job type enum: - org.olf.general.jobs.ComparisonJob - org.olf.general.jobs.CoverageRegenerationJob - org.olf.general.jobs.PackageImportJob - org.olf.general.jobs.KbartImportJob - org.olf.general.jobs.PackageIngestJob - org.olf.general.jobs.SupplementaryDocumentsCleaningJob - org.olf.general.jobs.ExternalEntitlementSyncJob - org.olf.general.jobs.PackageTriggerResyncJob - org.olf.general.jobs.TitleIngestJob - org.olf.general.jobs.ResourceDeletionJob - org.olf.general.jobs.EHoldingsEntitlementSyncJob - org.olf.general.jobs.IdentifierReassignmentJob name: type: string runnerId: description: Only present for comparison jobs (class ComparisonJob) type: string dateCreated: type: integer started: description: Null until the job begins running type: - integer - 'null' ended: description: Null until the job finishes type: - integer - 'null' status: oneOf: - type: string - $ref: '#/components/schemas/Refdata' result: description: Null until the job finishes oneOf: - type: string - $ref: '#/components/schemas/Refdata' - type: 'null' fileUpload: description: Present only for job types that accept a file upload (e.g. packageImport, kbartImport) oneOf: - $ref: '#/components/schemas/File' - type: 'null' fullLogCount: type: integer errorLogCount: type: integer infoLogCount: type: integer comparisonPoints: description: Only present for comparison jobs (class ComparisonJob) type: array items: $ref: '#/components/schemas/ComparisonPoint' CreatePackageImportJobBody: type: object description: Used for jobType packageImport. Requires either fileUpload or payload to supply the package file properties: name: description: Derived from the uploaded file's name if omitted type: string fileUpload: description: Reference to a file already uploaded via /erm/files type: object properties: id: type: string format: uuid payload: description: Raw JSON payload. If provided without fileUpload, it is automatically wrapped into a file server-side type: object fileTitle: description: Optional file name to use when payload is supplied instead of fileUpload type: string PersistentJobResultsArray: type: array items: $ref: '#/components/schemas/PersistentJob' ComparisonPoint: type: object properties: titleList: type: string format: uuid date: type: string format: date-time CreateComparisonJobBody: type: object description: Used for jobType comparison required: - name - comparisonPoints properties: name: type: string comparisonPoints: type: array minItems: 2 items: $ref: '#/components/schemas/ComparisonPoint' CreateKbartImportJobBody: type: object description: Used for jobType kbartImport. Requires either fileUpload or payload to supply the KBART file, plus package identification fields required: - packageName - packageSource - packageReference properties: name: description: Derived from the uploaded file's name if omitted type: string fileUpload: description: Reference to a file already uploaded via /erm/files type: object properties: id: type: string format: uuid payload: description: Raw JSON payload. If provided without fileUpload, it is automatically wrapped into a file server-side type: object fileTitle: description: Optional file name to use when payload is supplied instead of fileUpload type: string packageName: type: string packageSource: type: string packageReference: type: string packageProvider: type: string trustedSourceTI: type: boolean LogEntryResults: type: object required: - results allOf: - $ref: '#/components/schemas/ResultsMeta' - type: object - properties: results: $ref: '#/components/schemas/LogEntryResultsArray' ComparisonJob: type: object properties: id: type: string format: uuid class: type: string enum: - org.olf.general.jobs.ComparisonJob name: type: string runnerId: type: string dateCreated: type: integer started: description: Null until the job begins running type: - string - 'null' format: date-time ended: description: Null until the job finishes type: - string - 'null' format: date-time status: oneOf: - type: string - $ref: '#/components/schemas/Refdata' result: description: Null until the job finishes oneOf: - type: string - $ref: '#/components/schemas/Refdata' - type: 'null' fileUpload: oneOf: - $ref: '#/components/schemas/File' - type: 'null' fullLogCount: type: integer errorLogCount: type: integer infoLogCount: type: integer comparisonPoints: type: array items: $ref: '#/components/schemas/ComparisonPoint' Refdata: type: object properties: id: type: string label: type: string value: type: string ApplicationError: type: object properties: total: type: integer errors: type: array items: type: object properties: code: type: string i18n_code: type: string message: type: string object: type: string ResultsMeta: type: object properties: meta: type: object page: type: integer pageSize: type: integer total: type: integer totalPages: type: integer totalRecords: type: integer CreateSimpleJobBody: type: object description: Used for jobType values coverageRegeneration, packageIngest, and supplementaryDocumentsCleaning -- these job types take no extra input beyond a name required: - name properties: name: type: string File: type: object required: - id - name - size properties: id: type: string format: uuid readOnly: true contentType: type: string description: MIME type of the uploaded file modified: type: string format: date-time readOnly: true name: type: string description: Original filename of the uploaded file size: type: integer description: Size of the uploaded file in bytes HttpError: type: object properties: message: type: string error: type: integer PersistentJobResults: type: object required: - results allOf: - $ref: '#/components/schemas/ResultsMeta' - type: object - properties: results: $ref: '#/components/schemas/PersistentJobResultsArray' LogEntry: type: object properties: id: type: string format: uuid message: type: string dateCreated: type: integer origin: type: string format: uuid type: type: string additionalInfo: type: object properties: jobId: type: string format: uuid tenant: type: string tenantId: type: string 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 UUID: type: string format: uuid Metadata: type: object title: Metadata Schema 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 format: uuid createdByUsername: description: Username of the user who created the record (when available) type: string maxLength: 50 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 format: uuid updatedByUsername: description: Username of the user who last updated the record (when available) type: string maxLength: 50 additionalProperties: false Parameters: type: array items: $ref: '#/components/schemas/Parameter' additionalProperties: false 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 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 JobCollection: type: object properties: jobRecords: type: array description: Jobs items: $ref: '#/components/schemas/Job' totalRecords: type: integer required: - jobRecords - totalRecords 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' Progress: type: object properties: total: type: integer minimum: 0 default: 0 description: Total number of records being processed processed: type: integer minimum: 0 default: 0 description: Current number of records already processed progress: type: integer minimum: 0 maximum: 100 default: 0 description: Current progress in % success: type: integer minimum: 0 maximum: 0 default: 0 description: Current number of success processed records errors: type: integer minimum: 0 maximum: 0 default: 0 description: Current number of errors warnings: type: integer minimum: 0 maximum: 0 default: 0 description: Current number of warnings 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 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 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 Job: type: object properties: id: description: Job ID type: string format: uuid name: description: Job name type: string maxLength: 100 description: description: Job description type: string source: description: Job source type: string maxLength: 50 isSystemSource: description: Was the job created by system type: boolean tenant: description: Tenant id type: string type: description: Export type $ref: '#/components/schemas/ExportType' exportTypeSpecificParameters: $ref: '#/components/schemas/ExportTypeSpecificParameters' status: description: Job status $ref: '#/components/schemas/JobStatus' files: description: Export files URLs type: array items: type: string fileNames: description: Exported files type: array items: type: string startTime: description: Job start timestamp type: string format: date-time endTime: description: Job end timestamp type: string format: date-time metadata: description: Standard FOLIO metadata $ref: '#/components/schemas/Metadata' outputFormat: description: Job output format type: string errorDetails: description: Job error details type: string identifierType: description: Identifier type $ref: '#/components/schemas/IdentifierType' entityType: description: Entity type $ref: '#/components/schemas/EntityType' progress: description: Progress for records being processed $ref: '#/components/schemas/Progress' additionalProperties: false required: - type - exportTypeSpecificParameters JobStatus: type: string enum: - SCHEDULED - IN_PROGRESS - SUCCESSFUL - FAILED 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 IdentifierType: type: string enum: - ID - BARCODE - HRID - FORMER_IDS - ACCESSION_NUMBER - HOLDINGS_RECORD_ID - USER_NAME - EXTERNAL_SYSTEM_ID - INSTANCE_HRID - ITEM_BARCODE - ISBN - ISSN 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 EntityType: type: string enum: - USER - ITEM - HOLDINGS_RECORD - INSTANCE 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 securitySchemes: okapiToken: type: apiKey in: header name: x-okapi-token accessToken: type: apiKey in: cookie name: folioAccessToken x-refined-from: - folio-mod-agreements-openapi.json - folio-mod-data-export-spring-jobs-openapi.json - folio-mod-agreements-openapi.yml - folio-mod-data-export-spring-jobs-openapi.yml