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

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": {
    }
}