Record Specifications API (1.0.0)

API for managing record specifications and validating records against them

specification-storage

Provides API for managing specifications.

Get Specifications

Get a collection of specifications.

query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "specifications": [
    ],
  • "totalRecords": 2
}

Get Specification by ID

Get a specification by id.

path Parameters
specificationId
required
string <uuid>

Specification ID

query Parameters
include
string (includeParam)
Default: "none"
Enum: "all" "none" "fields.required"

Limit the number of elements returned in the response.

Responses

Response samples

Content type
application/json
{
  • "id": "6eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
  • "title": "MARC Bibliographic Specification",
  • "family": "MARC",
  • "profile": "bibliographic",
  • "fields": [ ],
  • "rules": [ ],
  • "metadata": {
    }
}

Sync specification

Sync or return to defaults the specification (will remove all changes)

path Parameters
specificationId
required
string <uuid>

Specification ID

query Parameters
preserveLocal
boolean
Default: false

When true, local field/indicator/subfield/indicator-code definitions are preserved during sync instead of being removed, unless the spec now defines the same tag/order/code itself, in which case the spec definition overrides the local one. When false (default), sync removes all existing definitions and recreates them from the spec, as before.

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "total_records": 1
}

Get Specification Rules

Get a collection of specification rules enabled and disabled.

path Parameters
specificationId
required
string <uuid>

Specification ID

Responses

Response samples

Content type
application/json
{
  • "rules": [
    ],
  • "totalRecords": 12
}

Toggle Specification Rule

Enable or disable specification rule.

path Parameters
specificationId
required
string <uuid>

Specification ID

id
required
string <uuid>

Specification Rule ID

Request Body schema: application/json
required
enabled
required
boolean

Flag that enable or disable specification rule

Responses

Request samples

Content type
application/json
Example
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "total_records": 1
}

Get Specification Field Definitions

Get a collection of fields definitions that are defined in the specification.

path Parameters
specificationId
required
string <uuid>

Specification ID

Responses

Response samples

Content type
application/json
{
  • "fields": [
    ],
  • "totalRecords": 3
}

Create Local Field Definition

Create new local field definition for the specification

path Parameters
specificationId
required
string <uuid>

Specification ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "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": {
    }
}

specification-storage-fields

Provides API for managing specification fields.

Delete Field Definition

Delete field definition

path Parameters
id
required
string <uuid>

Specification Field ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "total_records": 1
}

Update Field Definitions

Update a fields definition.

path Parameters
id
required
string <uuid>

Specification Field ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get Field Subfields Definitions

Get a collection of subfields definitions that are defined in the field.

path Parameters
fieldId
required
string <uuid>

Specification Field ID

Responses

Response samples

Content type
application/json
{
  • "subfields": [
    ]
}

Create Local Subfield Definition

Create new local subfield definition for the field

path Parameters
fieldId
required
string <uuid>

Specification Field ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "code": "a",
  • "label": "Subfield A",
  • "repeatable": true,
  • "required": true
}

Response samples

Content type
application/json
{
  • "id": "1ee161ba-5d50-4687-95f4-8dc9c52fcd53",
  • "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
  • "code": "a",
  • "label": "Subfield A",
  • "scope": "local",
  • "metadata": {
    }
}

Get Field Indicator Definitions

Get a collection of indicators definitions that are defined in the field.

path Parameters
fieldId
required
string <uuid>

Specification Field ID

Responses

Response samples

Content type
application/json
{
  • "indicators": [
    ],
  • "totalRecords": 2
}

Create Local Indicator Definition

Create new local indicator definition for the field

path Parameters
fieldId
required
string <uuid>

Specification Field ID

Request Body schema: application/json
required
order
required
integer [ 1 .. 2 ]

Indicator order

label
required
string <= 350 characters

Indicator description

Responses

Request samples

Content type
application/json
{
  • "order": 1,
  • "label": "Ind 1"
}

Response samples

Content type
application/json
{
  • "id": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
  • "fieldId": "5eefa4c6-bbf7-4845-ad82-de7fc4abd0e3",
  • "order": 1,
  • "label": "Ind 1",
  • "metadata": {
    }
}

specification-storage-indicators

Provides API for managing specification field indicators.

Update Field Indicators

Update an indicator definition.

path Parameters
indicatorId
required
string <uuid>

Field Indicator ID

Request Body schema: application/json
required
order
required
integer [ 1 .. 2 ]

Indicator order

label
required
string <= 350 characters

Indicator description

Responses

Request samples

Content type
application/json
{
  • "order": 1,
  • "label": "Ind 1"
}

Response samples

Content type
application/json
{
  • "order": 1,
  • "label": "Ind 1"
}

Get Indicator Code Definitions

Get a collection of codes definitions that are defined in the indicator.

path Parameters
indicatorId
required
string <uuid>

Field Indicator ID

Responses

Response samples

Content type
application/json
{
  • "codes": [
    ],
  • "totalRecords": 2
}

Create Local Code Definition

Create new local code definition for the indicator

path Parameters
indicatorId
required
string <uuid>

Field Indicator ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "code": "a",
  • "label": "Code a"
}

Response samples

Content type
application/json
{
  • "id": "ff0780f9-573d-46ba-8bf1-73181052f4c1",
  • "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
  • "code": "0",
  • "label": "Code 0",
  • "scope": "local",
  • "metadata": {
    }
}

Delete Indicator Code Definition

Delete indicator code definition

path Parameters
indicatorCodeId
required
string <uuid>

Indicator code ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "total_records": 1
}

Update Indicator Codes

Update an indicator code definition.

path Parameters
indicatorCodeId
required
string <uuid>

Indicator code ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "code": "a",
  • "label": "Code a"
}

Response samples

Content type
application/json
{
  • "id": "ff0780f9-573d-46ba-8bf1-73181052f4c1",
  • "indicatorId": "ff0780f9-573d-46ba-8bf1-73181052f4b5",
  • "code": "0",
  • "label": "Code 0",
  • "scope": "local",
  • "metadata": {
    }
}

specification-storage-subfields

Provides API for managing specification field subfields.

Delete Subfield Definition

Delete subfield definition

path Parameters
subfieldId
required
string <uuid>

Subfield ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "total_records": 1
}

Update Subfield

Update an subfield definition.

path Parameters
subfieldId
required
string <uuid>

Subfield ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "code": "a",
  • "label": "Subfield A",
  • "repeatable": true,
  • "required": true
}

Response samples

Content type
application/json
{
  • "id": "1ee161ba-5d50-4687-95f4-8dc9c52fcd53",
  • "fieldId": "27ce6b65-f959-4a4b-89b6-a2be7d2e9fc1",
  • "code": "a",
  • "label": "Subfield A",
  • "scope": "local",
  • "metadata": {
    }
}