copycat version v0.0
http://localhost
/copycat
Import record from external system
post /copycat/imports
Import record from external system
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"description": "copycat import request/response",
"type": "object",
"properties": {
"externalIdentifier": {
"description": "external identifier for the record (for Z39.50 retrieval)",
"type": "string"
},
"internalIdentifier": {
"description": "FOLIO instance identifier for the record; specify when a record should be updated",
"type": "string"
},
"profileId": {
"description": "profile to be used for importing",
"type": "string"
},
"selectedJobProfileId": {
"description": "Job profile to be used for importing",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"record": {
"description": "local record",
"type": "object",
"properties": {
"json": {
"description": "JSON MARC record object within json property",
"type": "string"
},
"marc": {
"description": "base64 encoded ISO2709 MARC",
"type": "string"
}
}
}
},
"additionalProperties": false,
"required": [
"profileId"
]
}
HTTP status code 200
Imported OK
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"description": "copycat import request/response",
"type": "object",
"properties": {
"externalIdentifier": {
"description": "external identifier for the record (for Z39.50 retrieval)",
"type": "string"
},
"internalIdentifier": {
"description": "FOLIO instance identifier for the record; specify when a record should be updated",
"type": "string"
},
"profileId": {
"description": "profile to be used for importing",
"type": "string"
},
"selectedJobProfileId": {
"description": "Job profile to be used for importing",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"record": {
"description": "local record",
"type": "object",
"properties": {
"json": {
"description": "JSON MARC record object within json property",
"type": "string"
},
"marc": {
"description": "base64 encoded ISO2709 MARC",
"type": "string"
}
}
}
},
"additionalProperties": false,
"required": [
"profileId"
]
}
HTTP status code 400
Import error
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
HTTP status code 500
Internal error
Body
Media type: text/plain
Type: any
Create profile
Get profiles
post /copycat/profiles
Create profile
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "copycat profile",
"description": "copycat import profile",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "unique identifier and primary key"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"url": {
"type": "string",
"description": "Location of remote service to obtain records from"
},
"authentication": {
"type": "string",
"description": "Authentication credentials to use for the remote service"
},
"externalIdQueryMap": {
"type": "string",
"description": "Specifies which field at the remote service should be searched with the value of `externalIdentifier` when an import request is POSTed. Could be specified as a YAZ prefix-query string, e.g. '@attr 1=12 $identifier'"
},
"internalIdEmbedPath": {
"type": "string",
"description": "Specifies where the internalIdentifier is to be embedded in the MARC record, e.g. '999__$i' to place it in field 999, indicator double space (absent) and subfield i; this field only has effect when internalIdentifier is present"
},
"createJobProfileId": {
"type": "string",
"description": "Default job profile to use for create",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"updateJobProfileId": {
"type": "string",
"description": "Default job profile to use for update",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"allowedCreateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for create",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"allowedUpdateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for update",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"targetOptions": {
"type": "object",
"description": "A 1-level Json Object containing ZOOM options. The most important ones being preferredRecordSyntax, charset, marcencoding (encoding for retrieved MARC records - default is marc-8). See https://software.indexdata.com/yaz/doc/zoom.html#zoom-connections and https://software.indexdata.com/yaz/doc/zoom.resultsets.html#zoom.resultset.options"
},
"externalIdentifierType": {
"type": "string",
"description": "UUID of an identifier-type defined by the inventory module",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"enabled": {
"type": "boolean",
"description": "Whether this profile should be presented to users importing records"
}
},
"additionalProperties": false,
"required": [
"name",
"createJobProfileId",
"updateJobProfileId"
]
}
HTTP status code 201
Created OK
Headers
- Location: required(string)
URI of profile
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "copycat profile",
"description": "copycat import profile",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "unique identifier and primary key"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"url": {
"type": "string",
"description": "Location of remote service to obtain records from"
},
"authentication": {
"type": "string",
"description": "Authentication credentials to use for the remote service"
},
"externalIdQueryMap": {
"type": "string",
"description": "Specifies which field at the remote service should be searched with the value of `externalIdentifier` when an import request is POSTed. Could be specified as a YAZ prefix-query string, e.g. '@attr 1=12 $identifier'"
},
"internalIdEmbedPath": {
"type": "string",
"description": "Specifies where the internalIdentifier is to be embedded in the MARC record, e.g. '999__$i' to place it in field 999, indicator double space (absent) and subfield i; this field only has effect when internalIdentifier is present"
},
"createJobProfileId": {
"type": "string",
"description": "Default job profile to use for create",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"updateJobProfileId": {
"type": "string",
"description": "Default job profile to use for update",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"allowedCreateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for create",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"allowedUpdateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for update",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"targetOptions": {
"type": "object",
"description": "A 1-level Json Object containing ZOOM options. The most important ones being preferredRecordSyntax, charset, marcencoding (encoding for retrieved MARC records - default is marc-8). See https://software.indexdata.com/yaz/doc/zoom.html#zoom-connections and https://software.indexdata.com/yaz/doc/zoom.resultsets.html#zoom.resultset.options"
},
"externalIdentifierType": {
"type": "string",
"description": "UUID of an identifier-type defined by the inventory module",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"enabled": {
"type": "boolean",
"description": "Whether this profile should be presented to users importing records"
}
},
"additionalProperties": false,
"required": [
"name",
"createJobProfileId",
"updateJobProfileId"
]
}
HTTP status code 400
Error in usage
Body
Media type: text/plain
Type: any
HTTP status code 500
Internal error
Body
Media type: text/plain
Type: any
get /copycat/profiles
Get profiles
Query Parameters
- totalRecords: (string - default: auto - pattern: exact|estimated|none|auto)
How to calculate the totalRecords property. "exact" for the correct number, "estimated" for an estimation, "auto" to automatically select "exact" or "estimated", "none" for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
none
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- query: (string)
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
search profiles
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode name = loc
HTTP status code 200
Get collection OK
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CopyCat Profiles Response",
"description": "CopyCat Profiles",
"type": "object",
"properties": {
"profiles": {
"description": "List of CopyCat profiles",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "copycat profile",
"description": "copycat import profile",
"properties": {
"id": {
"type": "string",
"description": "unique identifier and primary key"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"url": {
"type": "string",
"description": "Location of remote service to obtain records from"
},
"authentication": {
"type": "string",
"description": "Authentication credentials to use for the remote service"
},
"externalIdQueryMap": {
"type": "string",
"description": "Specifies which field at the remote service should be searched with the value of `externalIdentifier` when an import request is POSTed. Could be specified as a YAZ prefix-query string, e.g. '@attr 1=12 $identifier'"
},
"internalIdEmbedPath": {
"type": "string",
"description": "Specifies where the internalIdentifier is to be embedded in the MARC record, e.g. '999__$i' to place it in field 999, indicator double space (absent) and subfield i; this field only has effect when internalIdentifier is present"
},
"createJobProfileId": {
"type": "string",
"description": "Default job profile to use for create",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"updateJobProfileId": {
"type": "string",
"description": "Default job profile to use for update",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"allowedCreateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for create",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"allowedUpdateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for update",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"targetOptions": {
"type": "object",
"description": "A 1-level Json Object containing ZOOM options. The most important ones being preferredRecordSyntax, charset, marcencoding (encoding for retrieved MARC records - default is marc-8). See https://software.indexdata.com/yaz/doc/zoom.html#zoom-connections and https://software.indexdata.com/yaz/doc/zoom.resultsets.html#zoom.resultset.options"
},
"externalIdentifierType": {
"type": "string",
"description": "UUID of an identifier-type defined by the inventory module",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"enabled": {
"type": "boolean",
"description": "Whether this profile should be presented to users importing records"
}
},
"additionalProperties": false,
"required": [
"name",
"createJobProfileId",
"updateJobProfileId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"profiles",
"totalRecords"
]
}
HTTP status code 400
Error in usage
Body
Media type: text/plain
Type: any
HTTP status code 500
Internal error
Body
Media type: text/plain
Type: any
Get profile
Update target profile
Delete target profile
get /copycat/profiles/{id}
Get profile
URI Parameters
- id: required(string)
HTTP status code 200
retrieved OK
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "copycat profile",
"description": "copycat import profile",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "unique identifier and primary key"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"url": {
"type": "string",
"description": "Location of remote service to obtain records from"
},
"authentication": {
"type": "string",
"description": "Authentication credentials to use for the remote service"
},
"externalIdQueryMap": {
"type": "string",
"description": "Specifies which field at the remote service should be searched with the value of `externalIdentifier` when an import request is POSTed. Could be specified as a YAZ prefix-query string, e.g. '@attr 1=12 $identifier'"
},
"internalIdEmbedPath": {
"type": "string",
"description": "Specifies where the internalIdentifier is to be embedded in the MARC record, e.g. '999__$i' to place it in field 999, indicator double space (absent) and subfield i; this field only has effect when internalIdentifier is present"
},
"createJobProfileId": {
"type": "string",
"description": "Default job profile to use for create",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"updateJobProfileId": {
"type": "string",
"description": "Default job profile to use for update",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"allowedCreateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for create",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"allowedUpdateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for update",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"targetOptions": {
"type": "object",
"description": "A 1-level Json Object containing ZOOM options. The most important ones being preferredRecordSyntax, charset, marcencoding (encoding for retrieved MARC records - default is marc-8). See https://software.indexdata.com/yaz/doc/zoom.html#zoom-connections and https://software.indexdata.com/yaz/doc/zoom.resultsets.html#zoom.resultset.options"
},
"externalIdentifierType": {
"type": "string",
"description": "UUID of an identifier-type defined by the inventory module",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"enabled": {
"type": "boolean",
"description": "Whether this profile should be presented to users importing records"
}
},
"additionalProperties": false,
"required": [
"name",
"createJobProfileId",
"updateJobProfileId"
]
}
HTTP status code 400
User error
Body
Media type: text/plain
Type: any
HTTP status code 404
Not found
Body
Media type: text/plain
Type: any
HTTP status code 500
Internal error
Body
Media type: text/plain
Type: any
put /copycat/profiles/{id}
Update target profile
URI Parameters
- id: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "copycat profile",
"description": "copycat import profile",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "unique identifier and primary key"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"url": {
"type": "string",
"description": "Location of remote service to obtain records from"
},
"authentication": {
"type": "string",
"description": "Authentication credentials to use for the remote service"
},
"externalIdQueryMap": {
"type": "string",
"description": "Specifies which field at the remote service should be searched with the value of `externalIdentifier` when an import request is POSTed. Could be specified as a YAZ prefix-query string, e.g. '@attr 1=12 $identifier'"
},
"internalIdEmbedPath": {
"type": "string",
"description": "Specifies where the internalIdentifier is to be embedded in the MARC record, e.g. '999__$i' to place it in field 999, indicator double space (absent) and subfield i; this field only has effect when internalIdentifier is present"
},
"createJobProfileId": {
"type": "string",
"description": "Default job profile to use for create",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"updateJobProfileId": {
"type": "string",
"description": "Default job profile to use for update",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"allowedCreateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for create",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"allowedUpdateJobProfileIds": {
"type": "array",
"description": "Job profiles to use for update",
"items": {
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"targetOptions": {
"type": "object",
"description": "A 1-level Json Object containing ZOOM options. The most important ones being preferredRecordSyntax, charset, marcencoding (encoding for retrieved MARC records - default is marc-8). See https://software.indexdata.com/yaz/doc/zoom.html#zoom-connections and https://software.indexdata.com/yaz/doc/zoom.resultsets.html#zoom.resultset.options"
},
"externalIdentifierType": {
"type": "string",
"description": "UUID of an identifier-type defined by the inventory module",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"enabled": {
"type": "boolean",
"description": "Whether this profile should be presented to users importing records"
}
},
"additionalProperties": false,
"required": [
"name",
"createJobProfileId",
"updateJobProfileId"
]
}