FOLIO · Schema

transactionHoldDTO

INN-Reach Transaction hold record

CompanyLibrariesLibrary Services PlatformOpen SourceMicroservicesEducation

Properties

Name Type Description
id string Transaction Hold id
transactionTime integer Transaction time
pickupLocation string Pickup location
patronId string Base32-encoded FOLIO user UUID (lowercase, no padding). The caller obtains this value from the patron verification response. Decoded server-side to resolve the FOLIO patron.
patronAgencyCode string Patron agency code
itemAgencyCode string Item agency code
itemId string FOLIO inventory item HRID (Human-Readable ID). Used to look up the item in FOLIO inventory.
needBefore integer Need before time
dueDateTime integer Due date time
centralItemType integer Central item type
centralPatronType integer Central patron type
patronName string Patron name
patronHomeLibrary string Patron home library
patronPhone string Patron phone
title string Bibliographic title of the requested item. For item holds, this value is overwritten from inventory; the caller-supplied value is not used.
author string Patron hold author
callNumber string Patron hold call number
shippedItemBarcode string Shipped item barcode
folioInstanceId string Folio instance id
folioHoldingId string Folio holding id
folioPatronId string Folio patron id
folioItemId string Folio item id
folioRequestId string Folio request id
folioLoanId string Folio loan id
folioPatronBarcode string Folio patron barcode
folioItemBarcode string Folio item barcode
metadata object Entity metadata
View JSON Schema on GitHub

JSON Schema

folio-transaction-hold-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/folio/main/json-schema/folio-transaction-hold-dto-schema.json",
  "title": "transactionHoldDTO",
  "description": "INN-Reach Transaction hold record",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/folio-mod-inn-reach-circulation-openapi.yml#/components/schemas/transactionHoldDTO",
  "type": "object",
  "properties": {
    "id": {
      "description": "Transaction Hold id",
      "type": "string",
      "format": "UUID"
    },
    "transactionTime": {
      "description": "Transaction time",
      "type": "integer"
    },
    "pickupLocation": {
      "description": "Pickup location",
      "type": "string"
    },
    "patronId": {
      "description": "Base32-encoded FOLIO user UUID (lowercase, no padding). The caller obtains this value from the patron verification response. Decoded server-side to resolve the FOLIO patron.",
      "type": "string",
      "pattern": "[a-z,0-9]{1,32}"
    },
    "patronAgencyCode": {
      "description": "Patron agency code",
      "type": "string",
      "minLength": 5,
      "maxLength": 5
    },
    "itemAgencyCode": {
      "description": "Item agency code",
      "type": "string",
      "minLength": 5,
      "maxLength": 5
    },
    "itemId": {
      "description": "FOLIO inventory item HRID (Human-Readable ID). Used to look up the item in FOLIO inventory.",
      "type": "string",
      "pattern": "[a-z,0-9]{1,32}"
    },
    "needBefore": {
      "description": "Need before time",
      "type": "integer"
    },
    "dueDateTime": {
      "description": "Due date time",
      "type": "integer"
    },
    "centralItemType": {
      "description": "Central item type",
      "type": "integer",
      "minimum": 0,
      "maximum": 255
    },
    "centralPatronType": {
      "description": "Central patron type",
      "type": "integer",
      "minimum": 0,
      "maximum": 255
    },
    "patronName": {
      "description": "Patron name",
      "type": "string"
    },
    "patronHomeLibrary": {
      "description": "Patron home library",
      "type": "string"
    },
    "patronPhone": {
      "description": "Patron phone",
      "type": "string"
    },
    "title": {
      "description": "Bibliographic title of the requested item. For item holds, this value is overwritten from inventory; the caller-supplied value is not used.",
      "type": "string"
    },
    "author": {
      "description": "Patron hold author",
      "type": "string"
    },
    "callNumber": {
      "description": "Patron hold call number",
      "type": "string"
    },
    "shippedItemBarcode": {
      "description": "Shipped item barcode",
      "type": "string"
    },
    "folioInstanceId": {
      "description": "Folio instance id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioHoldingId": {
      "description": "Folio holding id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioPatronId": {
      "description": "Folio patron id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioItemId": {
      "description": "Folio item id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioRequestId": {
      "description": "Folio request id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioLoanId": {
      "description": "Folio loan id",
      "type": "string",
      "format": "UUID",
      "readOnly": true
    },
    "folioPatronBarcode": {
      "description": "Folio patron barcode",
      "type": "string",
      "readOnly": true
    },
    "folioItemBarcode": {
      "description": "Folio item barcode",
      "type": "string",
      "readOnly": true
    },
    "metadata": {
      "description": "Entity metadata",
      "type": "object",
      "$ref": "#/$defs/metadata"
    }
  },
  "additionalProperties": false,
  "required": [
    "transactionTime",
    "pickupLocation",
    "patronId",
    "patronAgencyCode",
    "itemAgencyCode",
    "itemId"
  ],
  "$defs": {
    "metadata": {
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "type": "object",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/folio-transaction-hold-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.