endpoints
/accounts
/alternative-title-types
/audit-data/circulation/logs
/call-number-types
/cancellation-reason-storage/cancellation-reasons
/circulation/loans
/contributor-name-types
/contributor-types
/data-import
/fixed-due-date-schedule-storage/fixed-due-date-schedules
/holdings-sources
/holdings-storage/holdings
/holdings-types
/identifier-types
/instance-note-types
/instance-relationship-types
/instance-storage/instance-relationships
/instance-storage/instances
/instance-types
/inventory-storage/bound-with-parts
/invoice-storage/invoice-lines
/invoice-storage/invoices
/item-storage/items
/loan-types
/location-units/campuses
/location-units/institutions
/location-units/libraries
/locations
/lost-item-fees-policies
/material-types
/metadata-provider/jobLogEntries/{jobExecutionId}
/orders-storage/po-lines
/overdue-fines-policies
/perms/permissions
/perms/users
/perms/users/[permissionUsers.id]/permissions
/request-storage/requests
/scheduled-notice-storage/scheduled-notices
/search/instances/ids
/source-storage/records
/users
perl scripts
DiscogsAtDrew-add2DoYo.pl DiscogsAtDrew-edit.pl deleteAllPerInstanceId.pl get-okapi-token.pl locationBasedShelfList.pl ncipBorrowingCleanup.pl
projects
BuildingWebApps.pdf DiscogsAtDrew IJoL Rapido
tables
accounts alternativeTitleTypes boundWithParts callNumberTypes cancellationReasons contributorNameTypes contributorTypes entries fixedDueDateSchedules holdingsRecords holdingsRecordsSources holdingsTypes identifierTypes ids instanceNoteTypes instanceRelationshipTypes instanceRelationships instanceTypes instances invoiceLines invoices items loans loantypes locations loccamps locinsts loclibs logRecords lostItemFeePolicies mtypes overdueFinePolicies permissionNames permissionUsers permissions poLines records requests scheduledNotices uploadDefinitions users
UI apps
|
1st get a token every API call requires an X-Okapi-Token which is specific to a particular username within your tenant
to get a token POST to /authn/login* like so:
curl -i -s -X POST -H 'Content-type: application/json' -H 'X-Okapi-Tenant: $tenantId' -d '{"username":"$username", "password":"$password"}' $yourFOLIOurl/authn/login
curl will return something that looks like this
HTTP/2 201
date: Mon, 02 Oct 2023 20:03:54 GMT
content-type: application/json
server: nginx
x-okapi-token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhcGlhZG1pbiIsInR5cGUiOiJsZWdhY3ktYWNjZXNzIiwidXNlcl9pZCI6IjdiMjcwMDY5LTY...
refreshtoken: eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..ikmWU6th2ks8Hpkz.hBwnR8ajz5iY7-6UiVZA3N1Y-MTgJnx0Lf4AUn87Yxh3WRO...
{
"okapiToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhcGlhZG1pbiIsInR5cGUiOiJsZWdhY3ktYWNjZXNzIiwidXNlcl9pZCI6IjdiMjcwMDY5LTY...",
"refreshToken" : "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..ikmWU6th2ks8Hpkz.hBwnR8ajz5iY7-6UiVZA3N1Y-MTgJnx0Lf4AUn87Yxh3WRO..."
}
I use this Perl script, get-okapi-token.pl, to parse the token out of the above response and save to use whenever I need it.
You'll have to update the token the next time your FOLIO is updated.
* this is going to change with the release of Poppy
accounts
- mod-feesfines
- /accounts
- amount
- remaining
- status
- paymentStatus
- name : Outstanding, Paid partially, Paid fully, Waived partially, Waived fully, Transferred partially, Transferred fully, Refunded partially, Refunded fully, Credited fully, Credited partially, Cancelled item returned, Cancelled item renewed, Cancelled item declared lost, Cancelled as error, or Suspended claim returned
- feeFineType
- feeFineOwner
- title
- callNumber
- barcode
- materialType
- location
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- dueDate
- returnedDate
- loanId =~ loans.id
- userId
- itemId
- materialTypeId
- feeFineId
- ownerId
- id
- holdingsRecordId
- instanceId
- contributors
- loanPolicyId
- overdueFinePolicyId
- lostItemFeePolicyId
alternativeTitleTypes
- mod-inventory-storage
- /alternative-title-types
- FOLIO's reference data suggests that these should include "Uniform title" (aka 130, 240, or 730) and the options listed for the 2nd indicator of 246...
- No type specified
- Portion of title
- Parallel title
- Distinctive title
- Other title
- Cover title
- Added title page title
- Caption title
- Running title
- Spine title
...but I think that it would be good to add options that are relevant to other title fields (210, 222, 242, 243, 247, or 740)…
- Abbreviated title
- Abbreviated key title
- Collective uniform title
- Former title
- Key title
- Translation of title
- Uncontrolled related/analytical title
…so that is what I did
boundWithParts callNumberTypes
!!! not to be confused with classificationTypes which are associated with instances !!!
cancellationReasons contributorNameTypes contributorTypes entries fixedDueDateSchedules holdingsRecords holdingsRecordsSources holdingsTypes
this is used to indicate whether an eResource is
- open access,
- perpetual access,
- or subscription
identifierTypes ids
e.g. GET /search/instances/ids?query=title="lutheran%20quarterly*"
note that while this is not case-sensitive it does, unlike the UI, require punctuation to be included in the query: e.g.
/search/instances/ids?query=contributors=kean%20thomas%20h* did not work
/search/instances/ids?query=contributors=kean,%20thomas%20h* did work
also note that this endpoint does not respect a limit - if there's anything to get you get it all
instanceNoteTypes instanceRelationshipTypes instanceRelationships instanceTypes instances
- mod-inventory-storage
- /instance-storage/instances
- id ~= holdingsRecords.instanceId; instanceRelationships.subInstanceId; instanceRelationships.superInstanceId
- _version
- hrid
- source
- title
- indexTitle
- alternativeTitles []
- editions []
- series []
- identifiers []
- contributors []
- subjects []
- classifications []
- classificationNumber
- classificationTypeId
- publication [
- publisher
- place
- dateOfPublication
- role
]
- publicationFrequency []
- publicationRange []
- electronicAccess
- uri
- linkText
- materialsSpecification
- publicNote
- relationshipId
- instanceTypeId =~ instanceTypes.id / in the UI these are "Resource types"
- instanceFormatIds []
- instanceFormats []
- physicalDescriptions []
- languages []
- notes []
- administrativeNotes []
- modeOfIssuanceId
- previouslyHeld
- discoverySuppress
- statisticalCodeIds []
- statusUpdatedDate
- tags
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- holdingsRecords2 []
- natureOfContentTermIds []
invoiceLines
- mod-invoice-storage
- /invoice-storage/invoice-lines
- id
- accountNumber
- adjustments
- adjustmentsTotal
- description
- fundDistributions
- code
- fundId
- distributionType
- expenseClassId
- value
- invoiceId
- invoiceLineNumber
- invoiceLineStatus
- poLineId
- quantity
- releaseEncumbrance
- subTotal
- total
- referenceNumbers
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId:
invoices
- mod-invoice-storage
- /invoice-storage/invoices
- id
- adjustments
- adjustmentsTotal
- approvedBy
- approvalDate
- batchGroupId
- chkSubscriptionOverlap
- currency
- enclosureNeeded
- exchangeRate
- exportToAccounting
- folioInvoiceNo
- invoiceDate
- paymentDate
- paymentMethod
- status
- source
- subTotal
- total
- vendorInvoiceNo
- voucherNumber
- poNumbers
- vendorId
- acqUnitIds
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
items loans
- mod-circulation
- /circulation/loans
- id ~= accounts.loanId;
scheduledNotices.loanId
- userId =~ users.id
- itemId =~ items.id;
requests.itemId
- itemEffectiveLocationIdAtCheckOut
- status
- loanDate
- dueDate
- returnDate
- systemReturnDate
- action
- loanPolicyId
- checkoutServicePointId
- checkinServicePointId
- overdueFinePolicyId
- lostItemPolicyId
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- patronGroupAtCheckout
- item
- id
- holdingsRecordId
- instanceId
- title
- barcode
- contributors
- callNumber
- callNumberComponents
- status
- location
- materialType
- checkinServicePoint
- name
- code
- discoveryDisplayName
- description
- shelvingLagTime
- pickupLocation
- checkoutServicePoint
- name
- code
- discoveryDisplayName
- description
- shelvingLagTime
- pickupLocation
- borrower
- firstName
- lastName
- middleName
- barcode
- loanPolicy
- overdueFinePolicy
- lostItemPolicy
- feesAndFines
loantypes locations
loccamps locinsts loclibs logRecords
- mod-audit
- /audit-data/circulation/logs
- id
- userBarcode
- items
- itemBarcode
- itemId
- instanceId
- holdingId
- loanId
- object ("N/A", "Fee/Fine", "Item Block", "Loan", "Manual Block", "Notice", "Patron Block", "Request", or "CheckIn/CheckOut")
- action ("Age to lost",
"Anonymize",
"Billed",
"Cancelled",
"Cancelled as error",
"Changed due date",
"Check in",
"Check out",
"Checked in",
"Checked out",
"Checked out through override",
"Claimed returned",
"Closed loan",
"Created",
"Created through override",
"Credited fully",
"Declared lost",
"Deleted",
"Edited",
"Expired",
"Marked as missing",
"Modified",
"Moved",
"Paid fully",
"Paid partially",
"Patron blocked from requesting",
"Pickup expired",
"Queue position reordered",
"Recall requested",
"Refunded fully",
"Refunded partially",
"Renewed",
"Renewed through override",
"Request status changed",
"Send",
"Send error",
"Patron info added",
"Staff info added",
"Staff information only added",
"Transferred fully",
"Transferred partially",
"Waived fully",
or "Waived partially")
- date
- servicePointId
- source
- linkToIds
- userId (and/or ... requestId, feeFineId, templateId, noticePolicyId ... ?)
lostItemFeePolicies
- mod-feesfines
- /lost-item-fees-policies
- name
- description
- itemAgedLostOverdue
- patronBilledAfterAgedLost
- recalledItemAgedLostOverdue
- patronBilledAfterRecalledItemAgedLost
- chargeAmountItem
- lostItemProcessingFee
- chargeAmountItemPatron
- chargeAmountItemSystem
- lostItemChargeFeeFine
- returnedLostItemProcessingFee
- replacedLostItemProcessingFee
- replacementProcessingFee
- replacementAllowed
- lostItemReturned
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- id
mtypes overdueFinePolicies
- mod-feesfines
- /overdue-fines-policies
- name
- description
- overdueFine
- countClosed
- maxOverdueFine
- forgiveOverdueFine
- gracePeriodRecall
- maxOverdueRecallFine
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- id
permissionNames permissionUsers permissions
- mod-permissions
- /perms/permissions
- permissions
- permissionName
- displayName
- id
- description
- tags
- subPermissions
- childOf
- grantedTo
- mutable
- visible
- dummy
- deprecated
- moduleName
- moduleVersion
poLines
- mod-orders-storage
- /orders-storage/po-lines
- id
- edition
- checkinItems
- acquisitionMethod
- automaticExport
- alerts
- claims
- collection
- contributors
- contributor
- contributorNameTypeId
- cost
- listUnitPrice
- currency
- additionalCost
- discountType
- quantityPhysical
- poLineEstimatedPrice
- description
- details
- fundDistribution
- code
- fundId
- expenseClassId
- distributionType
- value
- instanceId
- isPackage
- locations
- orderFormat
- paymentStatus
- physical
- createInventory
- materialType
- materialSupplier
- volumes
- poLineNumber
- publicationDate
- publisher
- purchaseOrderId
- receiptDate
- receiptStatus
- reportingCodes
- rush
- source
- titleOrPackage
- vendorDetail
- instructions
- vendorAccount
- referenceNumbers
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
records
- mod-source-record-storage
- /source-storage/records
"records" : [ {
"id" : "00002755-f29b-4e6b-b5e8-0c445dbcf857",
"snapshotId" : "86c283d0-7149-4501-8530-1577bea8bd53",
"matchedId" : "00002755-f29b-4e6b-b5e8-0c445dbcf857",
"generation" : 0,
"recordType" : "MARC_BIB",
"rawRecord" : {
"id" : "00002755-f29b-4e6b-b5e8-0c445dbcf857",
"content" : "01540cam a2200409 i 4500001000800000005001700008008004100025010001600066020003800082020003800120035001800158035002000176035002200196035002100218035002900239049001400268040003300282050002500315082001500340092002400355100002500379245012300404264006000527300005700587336002600644337002800670338002700698500002400725500007700749504005100826600005200877700002800929948002700957035002100984035002901005999009601034\u001Ea293434\u001E19961211174918.0\u001E951207s1996 dcua bc 001 0 eng \u001E \u001Fa 95049654\u001E \u001Fa1560986247\u001Fqcloth\u001Fqalkaline paper\u001E \u001Fa1560986239\u001Fqpaper\u001Fqalkaline paper\u001E \u001Fa(ckey)a293434\u001E \u001Fa(Sirsi) a293434\u001E \u001Fa(Sirsi) l95049654\u001E \u001Fa(Sirsi) ADC-7586\u001E00\u001FiLCMARC/AUB-2279/VDEBBINK\u001E \u001FaDRUM\u001FlNEW\u001E \u001FaDLC\u001Fbeng\u001Ferda\u001FcDLC\u001FdDLC\u001FdMvI\u001E00\u001FaN6537.D4464\u001FbA4 1996\u001E00\u001Fa759.13\u001F220\u001E \u001Fa759.13\u001FbD519Y H682a\u001E1 \u001FaHobbs, Susan,\u001Fd1945-\u001E14\u001FaThe art of Thomas Wilmer Dewing :\u001Fbbeauty reconfigured /\u001FcSusan A. Hobbs with a contribution by Barbara Dayer Gallati.\u001E 1\u001FaWashington, DC :\u001FbSmithsonian Institution Press,\u001Fc1996.\u001E \u001Faxv, 224 pages :\u001Fbillustrations (some color) ;\u001Fc29 cm\u001E \u001Fatext\u001Fbtxt\u001F2rdacontent\u001E \u001Faunmediated\u001Fbn\u001F2rdamedia\u001E \u001Favolume\u001Fbnc\u001F2rdacarrier\u001E \u001FaExhibition catalog.\u001E \u001Fa\"The Brooklyn Museum in association with Smithsonian Institution Press.\"\u001E \u001FaIncludes bibliographical references and index.\u001E10\u001FaDewing, Thomas Wilmer,\u001Fd1851-1938\u001FxExhibitions.\u001E1 \u001FaGallati, Barbara Dayer.\u001E \u001Fa02/28/1997\u001Fb03/27/1998\u001E \u001Fa(Sirsi) ADC-7586\u001E00\u001FiLCMARC/AUB-2279/VDEBBINK\u001E \u001Fa759.13 D519Y H682a\u001FwDEWEY\u001Fc1\u001Fi31144004397963\u001FlSTACKS\u001FmDREWLIB\u001Fp$75.00\u001FrY\u001FsY\u001FtBOOK\u001Fu9/3/1997\u001E\u001D"
},
"parsedRecord" : {
"id" : "00002755-f29b-4e6b-b5e8-0c445dbcf857",
"content" : {
"fields" : [ {
"001" : "in00000797779"
}, {
"008" : "951207s1996 dcua bc 001 0 eng "
}, {
"005" : "20230319031605.1"
}, {
"010" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : " 95049654"
} ]
}
}, {
"020" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "1560986247"
}, {
"q" : "cloth"
}, {
"q" : "alkaline paper"
} ]
}
}, {
"020" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "1560986239"
}, {
"q" : "paper"
}, {
"q" : "alkaline paper"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "(ckey)a293434"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "(Sirsi) a293434"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "(Sirsi) l95049654"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "(Sirsi) ADC-7586"
} ]
}
}, {
"035" : {
"ind1" : "0",
"ind2" : "0",
"subfields" : [ {
"i" : "LCMARC/AUB-2279/VDEBBINK"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "a293434"
} ]
}
}, {
"049" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "DRUM"
}, {
"l" : "NEW"
} ]
}
}, {
"040" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "DLC"
}, {
"b" : "eng"
}, {
"e" : "rda"
}, {
"c" : "DLC"
}, {
"d" : "DLC"
}, {
"d" : "MvI"
} ]
}
}, {
"050" : {
"ind1" : "0",
"ind2" : "0",
"subfields" : [ {
"a" : "N6537.D4464"
}, {
"b" : "A4 1996"
} ]
}
}, {
"082" : {
"ind1" : "0",
"ind2" : "0",
"subfields" : [ {
"a" : "759.13"
}, {
"2" : "20"
} ]
}
}, {
"092" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "759.13"
}, {
"b" : "D519Y H682a"
} ]
}
}, {
"100" : {
"ind1" : "1",
"ind2" : " ",
"subfields" : [ {
"a" : "Hobbs, Susan,"
}, {
"d" : "1945-"
} ]
}
}, {
"245" : {
"ind1" : "1",
"ind2" : "4",
"subfields" : [ {
"a" : "The art of Thomas Wilmer Dewing :"
}, {
"b" : "beauty reconfigured /"
}, {
"c" : "Susan A. Hobbs with a contribution by Barbara Dayer Gallati."
} ]
}
}, {
"264" : {
"ind1" : " ",
"ind2" : "1",
"subfields" : [ {
"a" : "Washington, DC :"
}, {
"b" : "Smithsonian Institution Press,"
}, {
"c" : "1996."
} ]
}
}, {
"300" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "xv, 224 pages :"
}, {
"b" : "illustrations (some color) ;"
}, {
"c" : "29 cm"
} ]
}
}, {
"336" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "text"
}, {
"b" : "txt"
}, {
"2" : "rdacontent"
} ]
}
}, {
"337" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "unmediated"
}, {
"b" : "n"
}, {
"2" : "rdamedia"
} ]
}
}, {
"338" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "volume"
}, {
"b" : "nc"
}, {
"2" : "rdacarrier"
} ]
}
}, {
"500" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "Exhibition catalog."
} ]
}
}, {
"500" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "\"The Brooklyn Museum in association with Smithsonian Institution Press.\""
} ]
}
}, {
"504" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "Includes bibliographical references and index."
} ]
}
}, {
"600" : {
"ind1" : "1",
"ind2" : "0",
"subfields" : [ {
"a" : "Dewing, Thomas Wilmer,"
}, {
"d" : "1851-1938"
}, {
"x" : "Exhibitions."
} ]
}
}, {
"700" : {
"ind1" : "1",
"ind2" : " ",
"subfields" : [ {
"a" : "Gallati, Barbara Dayer."
} ]
}
}, {
"948" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "02/28/1997"
}, {
"b" : "03/27/1998"
} ]
}
}, {
"035" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "(Sirsi) ADC-7586"
} ]
}
}, {
"035" : {
"ind1" : "0",
"ind2" : "0",
"subfields" : [ {
"i" : "LCMARC/AUB-2279/VDEBBINK"
} ]
}
}, {
"999" : {
"ind1" : " ",
"ind2" : " ",
"subfields" : [ {
"a" : "759.13 D519Y H682a"
}, {
"w" : "DEWEY"
}, {
"c" : "1"
}, {
"i" : "31144004397963"
}, {
"l" : "STACKS"
}, {
"m" : "DREWLIB"
}, {
"p" : "$75.00"
}, {
"r" : "Y"
}, {
"s" : "Y"
}, {
"t" : "BOOK"
}, {
"u" : "9/3/1997"
} ]
}
}, {
"999" : {
"ind1" : "f",
"ind2" : "f",
"subfields" : [ {
"s" : "00002755-f29b-4e6b-b5e8-0c445dbcf857"
}, {
"i" : "fd011f23-1fa4-4fce-9826-c49afef20415"
} ]
}
} ],
"leader" : "01661cam a2200433 i 4500"
}
},
"deleted" : false,
"order" : 0,
"externalIdsHolder" : {
"instanceId" : "fd011f23-1fa4-4fce-9826-c49afef20415",
"instanceHrid" : "in00000797779"
},
"additionalInfo" : {
"suppressDiscovery" : false
},
"state" : "ACTUAL",
"leaderRecordStatus" : "c",
"metadata" : {
"createdDate" : "2023-03-19T03:16:04.866+00:00",
"createdByUserId" : "308a01e4-1108-4ea3-aa25-8b1b32cf7643",
"updatedDate" : "2023-03-19T03:16:05.136+00:00",
"updatedByUserId" : "308a01e4-1108-4ea3-aa25-8b1b32cf7643"
}
} ],
to get a record for a given instanceId: /source-storage/records/$instanceId/formatted?idType=INSTANCE
to delete an instance's record:
$record = `curl -s -X GET $headers $baseURL/source-storage/records/$instanceId/formatted?idType=INSTANCE`;
$hash = decode_json $record;
$recordId = $hash->{'id'};
$delete = `curl -s -X DELETE $headers $baseURL/source-storage/records/$recordId`;
here is an example of how to pull data out of a record
$records = `curl -s -X GET -G $headers -d 'idType=INSTANCE' $baseURL/source-storage/records/$instanceId/formatted`;
$hash = decode_json $records;
for ( @{$hash->{'parsedRecord'}{'content'}{'fields'}} ) {
for ( @{$_->{'999'}{'subfields'}} ) {
$a = $_->{'a'};
$t = $_->{'t'};
}
}
requests scheduledNotices uploadDefinitions
- POST -d '{"fileDefinitions":[ { "name":"filename.mrc" } ]}' /data-import/uploadDefinitions
this returns an uploadDefinition which includes two UUIDs that are required by the next step
- POST -d '@filename.mrc' /data-import/uploadDefinitions/$uploadDefinitionId/files/$fileDefinitionId
this actually uploads the file to a folder named ./storage/upload/$uploadDefinitionId/$fileDefinitionId
before the third step it is necessary to add jobProfileInfo to the uploadDefinition - this can be done using regex like so
$uploadDefinition =~ s/^\{/\{\n "uploadDefinition" : \{/;
$jobProfileInfo = qq[\n\ },\n "jobProfileInfo": { "id": "e34d7b92-9b83-11eb-a8b3-0242ac130003", "name": "Default - Create instance and SRS MARC Bib", "dataType": "MARC" }];
$metadataRegex = qq[,\n "metadata" : .+\n.+\n.+\n.+\n.+\n.+];
$uploadDefinition =~ s/$metadataRegex/$jobProfileInfo/;
- POST -d '$uploadDefinition' /data-import/uploadDefinitions/$uploadDefinitionId/processFiles
- id
- metaJobExecutionId
- status
- createdDate
- fileDefinitions
- id
- sourcePath
- name
- status
- jobExecutionId
- uploadDefinitionId
- createDate
- uploadedDate
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
users
- mod-users
- /users
- username
- id ~= loans.userId;
permissionUsers.userId;
scheduledNotices.recipientUserId
- externalSystemId
- barcode =~ requests.requester.barcode
- active (true or false)
- patronGroup
- departments
- proxyFor
- personal
- lastName
- firstName
- middleName
- email
- phone
- addresses
- countryId
- addressLine1
- addressLine2
- city
- region (aka state)
- postalCode
- addressTypeId
- primaryAddress (true or false)
- preferredContactTypeId
- enrollmentDate
- expirationDate
- createdDate
- updatedDate
- metadata
- createdDate
- createdByUserId
- updatedDate
- updatedByUserId
- tags
|