API for managing record specifications and validating records against them
Get a collection of specifications.
family | string (family) Value: "MARC" Filter by specification's family. |
profile | string (familyProfile) Enum: "authority" "bibliographic" Filter by specification's family profile. |
include | string (includeParam) Default: "none" Enum: "all" "none" "fields.required" Limit the number of elements returned in the response. |
limit | integer [ 0 .. 500 ] Default: 100 Limit the number of elements returned in the response. |
offset | integer [ 0 .. 9999 ] Default: 0 Skip over a number of elements by specifying an offset value for the query. |
{- "specifications": [
- {
- "id": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "title": "MARC Bibliographic Specification",
- "family": "MARC",
- "profile": "bibliographic",
- "fields": [ ],
- "rules": [ ],
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "a37d01ba-75c7-4a0c-997e-309823f1df3f",
- "title": "MARC Authority Specification",
- "family": "MARC",
- "profile": "authority",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
], - "totalRecords": 2
}
Get a specification by id.
specificationId required | string <uuid> Specification ID |
include | string (includeParam) Default: "none" Enum: "all" "none" "fields.required" Limit the number of elements returned in the response. |
{- "id": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "title": "MARC Bibliographic Specification",
- "family": "MARC",
- "profile": "bibliographic",
- "fields": [ ],
- "rules": [ ],
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Sync or return to defaults the specification (will remove all changes)
specificationId required | string <uuid> Specification ID |
{- "errors": [
- {
- "message": "must not be null",
- "type": "MethodArgumentNotValidException",
- "code": "validation_error",
- "parameters": [
- {
- "key": "parameter",
- "value": "null"
}
]
}
], - "total_records": 1
}
Get a collection of specification rules enabled and disabled.
specificationId required | string <uuid> Specification ID |
{- "rules": [
- {
- "id": "7c843a14-4c87-4c7d-9ad6-5c7654bff9b5",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Undefined Field",
- "description": "Field is not defined but exists in a record",
- "code": "undefinedField",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "b67da9f9-6f54-4727-9fd0-58a522a56fde",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Deprecated Field",
- "description": "Field is deprecated but exists in a record",
- "code": "deprecatedField",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "c1b80d56-5f6f-4c0e-92df-6d2356eb379f",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Non-Repeatable Field",
- "description": "Field is non-repeatable but exists more than once in a record",
- "code": "nonRepeatableField",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "db1f2423-037e-4ec9-9931-ff25ccbac917",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Missing Field",
- "description": "Field is required but does not exist in a record",
- "code": "missingField",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "35675d8c-7753-4d74-9e8c-5ff749931f2a",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Invalid Field Value",
- "description": "Field is flat and contains an invalid value",
- "code": "invalidFieldValue",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "3ec76c78-28c9-4c29-9439-19f8345e86db",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Invalid Indicator",
- "description": "Field contains specified indicators and codes but with invalid indicator in the record",
- "code": "invalidIndicator",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "108ca421-24ba-4dc2-8d0f-661c00667e9a",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Undefined Subfield",
- "description": "Subfield is not defined but exists in a record's field",
- "code": "undefinedSubfield",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ceb0cfc7-d2b1-4358-829b-f7204f4305bd",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Deprecated Subfield",
- "description": "Subfield is deprecated but exists in a record's field",
- "code": "deprecatedSubfield",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "1aa070fd-d2b5-4def-bf3d-699895f13b88",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Non-Repeatable Subfield",
- "description": "Subfield is non-repeatable but exists more than once in a record's field",
- "code": "nonRepeatableSubfield",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "3cf61681-deb9-482c-beac-db8544fa3019",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Missing Subfield",
- "description": "Subfield is required but does not exist in a record's field",
- "code": "missingSubfield",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "2182d955-c1e8-44b6-8f97-94b2b173244d",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Invalid Subfield Value",
- "description": "Subfield value is not valid based on subfield definition",
- "code": "invalidSubfieldValue",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ed98f7ce-ee87-47a3-a509-367e3fae540f",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "name": "Non-Repeatable 1XX Field",
- "description": "More than one field from the 1XX group exists in a record",
- "code": "nonRepeatable1XXField",
- "enabled": true,
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 14:55:06",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
], - "totalRecords": 12
}
Enable or disable specification rule.
specificationId required | string <uuid> Specification ID |
id required | string <uuid> Specification Rule ID |
enabled required | boolean Flag that enable or disable specification rule |
{- "enabled": true
}
{- "errors": [
- {
- "message": "must not be null",
- "type": "MethodArgumentNotValidException",
- "code": "validation_error",
- "parameters": [
- {
- "key": "parameter",
- "value": "null"
}
]
}
], - "total_records": 1
}
Get a collection of fields definitions that are defined in the specification.
specificationId required | string <uuid> Specification ID |
{- "fields": [
- {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4b4",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "tag": "001",
- "label": "Control Number",
- "repeatable": false,
- "required": true,
- "deprecated": false,
- "scope": "system",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "7f38eb68-31e5-47c0-8553-8dfcacf167bc",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "tag": "270",
- "label": "Address",
- "repeatable": true,
- "required": false,
- "deprecated": false,
- "scope": "standard",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "0005d827-5be7-4bd3-b7ce-2a51a353d1ab",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "tag": "LDR",
- "label": "Leader",
- "repeatable": false,
- "required": true,
- "deprecated": false,
- "scope": "system",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
], - "totalRecords": 3
}
Create new local field definition for the specification
specificationId required | string <uuid> Specification ID |
tag required | string\d{3} Record tag |
label required | string <= 350 characters Tag description |
url | string <= 350 characters Help url for the tag |
repeatable | boolean Default: true Define if tag is repeatable |
required | boolean Default: false Define if tag is required |
deprecated | boolean Default: false Define if tag is deprecated |
{- "tag": "888",
- "label": "Custom Field - Contributor Data",
- "repeatable": true,
- "required": true
}
{- "id": "ff0780f9-573d-46ba-8bf1-73181052f4b4",
- "specificationId": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "tag": "666",
- "label": "Mystic Field",
- "repeatable": false,
- "required": true,
- "deprecated": false,
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Delete field definition
id required | string <uuid> Specification Field ID |
{- "errors": [
- {
- "message": "must not be null",
- "type": "MethodArgumentNotValidException",
- "code": "validation_error",
- "parameters": [
- {
- "key": "parameter",
- "value": "null"
}
]
}
], - "total_records": 1
}
Update a fields definition.
id required | string <uuid> Specification Field ID |
tag required | string\d{3} Record tag |
label required | string <= 350 characters Tag description |
url | string <= 350 characters Help url for the tag |
repeatable | boolean Default: true Define if tag is repeatable |
required | boolean Default: false Define if tag is required |
deprecated | boolean Default: false Define if tag is deprecated |
{- "tag": "888",
- "label": "Custom Field - Contributor Data",
- "repeatable": true,
- "required": true
}
{- "tag": "888",
- "label": "Custom Field - Contributor Data",
- "repeatable": true,
- "required": true
}
Get a collection of subfields definitions that are defined in the field.
fieldId required | string <uuid> Specification Field ID |
{- "subfields": [
- {
- "id": "1ee161ba-5d50-4687-95f4-8dc9c52fcd53",
- "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
- "code": "a",
- "label": "Subfield A",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "83a66097-8752-45c1-ad9f-3382c6b07b93",
- "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
- "code": "b",
- "label": "Subfield B",
- "scope": "standard",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ad27d224-ad62-4160-bde1-1eb88c64e8b8",
- "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
- "code": "9",
- "label": "Subfield 9",
- "scope": "system",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
]
}
Create new local subfield definition for the field
fieldId required | string <uuid> Specification Field ID |
code required | string[0-9a-z] Subfield code |
label required | string <= 350 characters Subfield description |
repeatable | boolean Default: true Define if subfield is repeatable |
required | boolean Default: false Define if subfield is required |
deprecated | boolean Default: false Define if subfield is deprecated |
{- "code": "a",
- "label": "Subfield A",
- "repeatable": true,
- "required": true
}
{- "id": "1ee161ba-5d50-4687-95f4-8dc9c52fcd53",
- "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
- "code": "a",
- "label": "Subfield A",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Get a collection of indicators definitions that are defined in the field.
fieldId required | string <uuid> Specification Field ID |
{- "indicators": [
- {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "fieldId": "5eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "order": 1,
- "label": "Ind 1",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4b6",
- "fieldId": "5eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "order": 2,
- "label": "Ind 2",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
], - "totalRecords": 2
}
Create new local indicator definition for the field
fieldId required | string <uuid> Specification Field ID |
order required | integer [ 1 .. 2 ] Indicator order |
label required | string <= 350 characters Indicator description |
{- "order": 1,
- "label": "Ind 1"
}
{- "id": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "fieldId": "5eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
- "order": 1,
- "label": "Ind 1",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Update an indicator definition.
indicatorId required | string <uuid> Field Indicator ID |
order required | integer [ 1 .. 2 ] Indicator order |
label required | string <= 350 characters Indicator description |
{- "order": 1,
- "label": "Ind 1"
}
{- "order": 1,
- "label": "Ind 1"
}
Get a collection of codes definitions that are defined in the indicator.
indicatorId required | string <uuid> Field Indicator ID |
{- "codes": [
- {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4c2",
- "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "code": "0",
- "label": "Code 0",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4c3",
- "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "code": "1",
- "label": "Code 1",
- "scope": "standard",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}, - {
- "id": "ff0780f9-573d-46ba-8bf1-73181052f4c4",
- "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "code": "#",
- "label": "Code #",
- "scope": "system",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
], - "totalRecords": 2
}
Create new local code definition for the indicator
indicatorId required | string <uuid> Field Indicator ID |
code required | string[0-9a-z#] Indicator code |
label required | string <= 350 characters Code description |
deprecated | boolean Default: false Define if indicator code is deprecated |
{- "code": "a",
- "label": "Code a"
}
{- "id": "ff0780f9-573d-46ba-8bf1-73181052f4c1",
- "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "code": "0",
- "label": "Code 0",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Delete indicator code definition
indicatorCodeId required | string <uuid> Indicator code ID |
{- "errors": [
- {
- "message": "must not be null",
- "type": "MethodArgumentNotValidException",
- "code": "validation_error",
- "parameters": [
- {
- "key": "parameter",
- "value": "null"
}
]
}
], - "total_records": 1
}
Update an indicator code definition.
indicatorCodeId required | string <uuid> Indicator code ID |
code required | string[0-9a-z#] Indicator code |
label required | string <= 350 characters Code description |
deprecated | boolean Default: false Define if indicator code is deprecated |
{- "code": "a",
- "label": "Code a"
}
{- "id": "ff0780f9-573d-46ba-8bf1-73181052f4c1",
- "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
- "code": "0",
- "label": "Code 0",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}
Delete subfield definition
subfieldId required | string <uuid> Subfield ID |
{- "errors": [
- {
- "message": "must not be null",
- "type": "MethodArgumentNotValidException",
- "code": "validation_error",
- "parameters": [
- {
- "key": "parameter",
- "value": "null"
}
]
}
], - "total_records": 1
}
Update an subfield definition.
subfieldId required | string <uuid> Subfield ID |
code required | string[0-9a-z] Subfield code |
label required | string <= 350 characters Subfield description |
repeatable | boolean Default: true Define if subfield is repeatable |
required | boolean Default: false Define if subfield is required |
deprecated | boolean Default: false Define if subfield is deprecated |
{- "code": "a",
- "label": "Subfield A",
- "repeatable": true,
- "required": true
}
{- "id": "1ee161ba-5d50-4687-95f4-8dc9c52fcd53",
- "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
- "code": "a",
- "label": "Subfield A",
- "scope": "local",
- "metadata": {
- "createdDate": "2024-05-22 14:55:06",
- "createdByUserId": "00000000-0000-0000-0000-000000000000",
- "updatedDate": "2024-05-22 15:30:42",
- "updatedByUserId": "00000000-0000-0000-0000-000000000000"
}
}