FOLIO · Schema
mappingProfile
Mapping Profile schema
CompanyLibrariesLibrary Services PlatformOpen SourceMicroservicesEducation
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier |
| name | string | Mapping Profile name |
| default | boolean | Is default mapping profile |
| description | string | Mapping Profile description |
| recordTypes | array | Mapping Profile records type |
| transformations | array | List of mapping profile transformations |
| userInfo | object | First name, last name and username of the user, who updated the Mapping Profile |
| outputFormat | string | Mapping Profile output format |
| fieldsSuppression | string | Fields to suppress |
| suppress999ff | boolean | Supress 999 field rule |
| locked | boolean | True if locked, false if unlocked |
| lockedBy | string | UUID of the user who locked the mapping profile |
| lockedAt | string | Date and time when mapping profile was locked |
| metadata | object | Metadata provided by the server |
JSON Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/folio/main/json-schema/folio-mapping-profile-schema.json",
"title": "mappingProfile",
"description": "Mapping Profile schema",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/folio-mod-data-export-openapi.yml#/components/schemas/mappingProfile",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"type": "string",
"format": "uuid"
},
"name": {
"description": "Mapping Profile name",
"type": "string"
},
"default": {
"description": "Is default mapping profile",
"type": "boolean",
"default": false,
"readonly": true
},
"description": {
"description": "Mapping Profile description",
"type": "string"
},
"recordTypes": {
"description": "Mapping Profile records type",
"type": "array",
"items": {
"type": "string",
"$ref": "#/$defs/recordTypes"
}
},
"transformations": {
"description": "List of mapping profile transformations",
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/transformations"
}
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Mapping Profile",
"type": "object",
"$ref": "#/$defs/userInfo"
},
"outputFormat": {
"description": "Mapping Profile output format",
"type": "string",
"enum": [
"MARC",
"LINKED_DATA"
]
},
"fieldsSuppression": {
"description": "Fields to suppress",
"type": "string"
},
"suppress999ff": {
"description": "Supress 999 field rule",
"type": "boolean",
"default": false
},
"locked": {
"description": "True if locked, false if unlocked",
"type": "boolean",
"default": false
},
"lockedBy": {
"description": "UUID of the user who locked the mapping profile",
"type": "string",
"format": "uuid"
},
"lockedAt": {
"description": "Date and time when mapping profile was locked",
"type": "string",
"format": "date-time"
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"$ref": "#/$defs/metadata",
"readonly": true
}
},
"required": [
"name",
"recordTypes"
],
"$defs": {
"metadata": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
},
"recordTypes": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Enum of entity (record) types",
"type": "string",
"additionalProperties": false,
"enum": [
"INSTANCE",
"HOLDINGS",
"ITEM",
"AUTHORITY",
"SRS",
"LINKED_DATA"
]
},
"transformations": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Mapping transformations detail",
"type": "object",
"javaType": "org.folio.rest.jaxrs.model.Transformations",
"additionalProperties": false,
"properties": {
"fieldId": {
"description": "Field identifier",
"type": "string"
},
"path": {
"description": "JSON path to set mapped value",
"type": "string"
},
"enabled": {
"description": "Indicates whether field should be mapped",
"type": "boolean",
"default": false
},
"transformation": {
"description": "Mapping expression",
"type": "string"
},
"recordType": {
"description": "Mapping Profile type",
"type": "string",
"$ref": "#/$defs/recordTypes"
},
"metadataParameters": {
"description": "Additional parameters used for mapping",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"fieldId",
"recordType"
]
},
"userInfo": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "User information",
"type": "object",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/folio-mapping-profile"
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.