http://localhost
API for managing data import profiles
Create a new jobProfile item.
POST /data-import-profiles/jobProfilesMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Job Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Job Profile object",
"javaType": "org.folio.rest.jaxrs.model.JobProfile"
},
"addedRelations": {
"description": "Job profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Job profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created jobProfile item
Media type: application/json
Type: any
Example:
{
"id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add jobProfile -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create jobProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorRetrieve a list of jobProfile items.
GET /data-import-profiles/jobProfilesselection condition of Job Profiles by field 'hidden'
Example:
falseLoad profile with related child and parent profiles
Example:
falseA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Returns a list of jobProfile items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Job Profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"jobProfiles": {
"description": "List of Job Profiles",
"type": "array",
"id": "jobProfileList",
"items": {
"type": "object",
"$ref": "jobProfile.json"
}
},
"totalRecords": {
"description": "Total number of Job Profiles",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"jobProfiles",
"totalRecords"
]
}Example:
{
"jobProfiles": [
{
"id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "295e28b4-aea2-4458-9073-385a31e1da05",
"name": "Load shelfready cataloging records",
"description": "Overlay brief bibs, update holdings and item records, create invoice",
"dataType": "MARC",
"tags": {
"tagList": [
"cat", "weekly"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-10-30T12:42:18.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-03T10:01:30.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "bb689511-5365-4050-8084-a03d94728d88",
"name": "Approval plan records",
"description": "Create bibs, holdings, items, orders, and invoices",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "cat", "weekly"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-10-30T12:45:33.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-03T11:22:30.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "3e705998-9169-4f31-b048-90ffdcbd24c1",
"name": "Load KB eResource records",
"description": "Create, update, delete existing eContent bib records",
"dataType": "MARC",
"tags": {
"tagList": [
"monthly", "KB"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-01T10:12:51.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-02T09:05:30.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "15426802-bb0d-4dfb-8eee-90f64fed0cf1",
"name": "ETL Bib records",
"description": "Reload bib records that were exported and updated outside of FOLIO",
"dataType": "MARC",
"tags": {
"tagList": []
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-01T10:37:53.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-03T11:45:21.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "87e4ad58-d677-43dd-8b04-9795741b2103",
"name": "Loading authority records",
"description": "Load new and updated MARC authority records",
"dataType": "MARC",
"tags": {
"tagList": [
"cat", "monthly"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-02T10:20:32.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-02T10:45:21.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "72af7eb7-d7e2-4d16-93ac-682b9a58a94c",
"name": "DDA discovery records",
"description": "Load DDA discovery MARC records to create bib and holdings",
"dataType": "MARC",
"tags": {
"tagList": [
"weekly", "DDA"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-02T10:18:44.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-03T14:20:21.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "4d1b5024-2c49-42bd-b781-4330d14cefb0",
"name": "Create orders from spreadsheets",
"description": "Selector-provided spreadsheet creates instance, holdings, item, and order",
"dataType": "Delimited",
"tags": {
"tagList": [
"acq"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-01T10:09:51.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-01T15:21:28.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "b32e79bc-01d9-4d31-bc08-a3621fcfc1aa",
"name": "Load EDI Invoice",
"description": "",
"dataType": "EDIFACT",
"tags": {
"tagList": [
"acq"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-01T10:18:42.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-05T13:08:12.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
},
{
"id": "828a787c-bcf3-4c28-891a-9e6f3ba5068b",
"name": "Load MARC, then throw away",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; then discard MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-11-01T11:08:21.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-12-01T19:01:41.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
],
"totalRecords": 10
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list jobProfiles -- malformed parameter 'query', syntax error at column 6Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list jobProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorRetrieve jobProfile item with given {jobProfileId}
GET /data-import-profiles/jobProfiles/{id}Load profile with related child and parent profiles
Example:
falseReturns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Job Profile schema",
"additionalProperties": false,
"type": "object",
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Job Profile name",
"type": "string"
},
"description": {
"description": "Job Profile description",
"type": "string"
},
"dataType": {
"description": "Data type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"Delimited",
"EDIFACT",
"MARC"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"type": "string",
"enum": [
"MATCH",
"NON-MATCH"
]
},
"tags": {
"description": "Set of tags assigned to the current Job Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Job Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Job Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"dataType"
]
}Example:
{
"id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"jobProfile not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorUpdate jobProfile item with given {jobProfileId}
PUT /data-import-profiles/jobProfiles/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Job Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Job Profile object",
"javaType": "org.folio.rest.jaxrs.model.JobProfile"
},
"addedRelations": {
"description": "Job profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Job profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "448ae575-daec-49c1-8041-d64c8ed8e5b1",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataType": "MARC",
"tags": {
"tagList": [
"acq", "daily"
]
},
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Job Profile schema",
"additionalProperties": false,
"type": "object",
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Job Profile name",
"type": "string"
},
"description": {
"description": "Job Profile description",
"type": "string"
},
"dataType": {
"description": "Data type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"Delimited",
"EDIFACT",
"MARC"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"type": "string",
"enum": [
"MATCH",
"NON-MATCH"
]
},
"tags": {
"description": "Set of tags assigned to the current Job Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Job Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Job Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"dataType"
]
}Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update jobProfile -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"jobProfile not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflictValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorDelete jobProfile item with given {jobProfileId}
DELETE /data-import-profiles/jobProfiles/{id}Item deleted successfully
Media type: text/plain
Type: any
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete jobProfile -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"jobProfile not found"
Media type: text/plain
Type: any
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorCreate a new matchProfile item.
POST /data-import-profiles/matchProfilesMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Match Profile object",
"javaType": "org.folio.rest.jaxrs.model.MatchProfile"
},
"addedRelations": {
"description": "Match profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Match profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "POL-MARC",
"description": "Use for POL in 990 p",
"tags": {
"tagList": [
"pol"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"matchDetails": [
{
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"incomingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "990"
},
{
"label": "indicator1",
"value": " "
},
{
"label": "indicator2",
"value": " "
},
{
"label": "recordSubfield",
"value": "p"
}
]
},
"matchCriterion": "EXACTLY_MATCHES",
"existingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "PO_LINE_NUMBER"
}
]
}
}
],
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "@janedoe",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": "@janedoe"
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created matchProfile item
Media type: application/json
Type: any
Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "POL-MARC",
"description": "Use for POL in 990 p",
"tags": {
"tagList": [
"pol"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"matchDetails": [
{
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"incomingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "990"
},
{
"label": "indicator1",
"value": " "
},
{
"label": "indicator2",
"value": " "
},
{
"label": "recordSubfield",
"value": "p"
}
]
},
"matchCriterion": "EXACTLY_MATCHES",
"existingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "PO_LINE_NUMBER"
}
]
}
}
],
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "@janedoe",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": "@janedoe"
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add matchProfile -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create matchProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorRetrieve a list of matchProfile items.
GET /data-import-profiles/matchProfilesselection condition of Match Profiles by field 'hidden'
Example:
falseLoad profile with related child and parent profiles
Example:
falseA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Returns a list of matchProfile items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Match Profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"matchProfiles": {
"description": "List of Match Profiles",
"type": "array",
"id": "matchProfileList",
"items": {
"type": "object",
"$ref": "matchProfile.json"
}
},
"totalRecords": {
"description": "Total number of Match Profiles",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"matchProfiles",
"totalRecords"
]
}Example:
{
"matchProfiles": [
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "POL-MARC",
"description": "Use for POL in 990 p",
"tags": {
"tagList": [
"pol"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"matchDetails": [
{
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"incomingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "990"
},
{
"label": "indicator1",
"value": " "
},
{
"label": "indicator2",
"value": " "
},
{
"label": "recordSubfield",
"value": "p"
}
]
},
"matchCriterion": "EXACTLY_MATCHES",
"existingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "PO_LINE_NUMBER"
}
]
}
}
],
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "@janedoe",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": "@janedoe"
}
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list matchProfiles -- malformed parameter 'query', syntax error at column 6Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list matchProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorRetrieve matchProfile item with given {matchProfileId}
GET /data-import-profiles/matchProfiles/{id}Load profile with related child and parent profiles
Example:
falseReturns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Match Profile name",
"type": "string"
},
"description": {
"description": "Match Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Match Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "Existing record type to match",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"matchDetails": {
"description": "Match profile details list",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match profile detail",
"additionalProperties": false,
"properties": {
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "Existing record type to match",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"incomingMatchExpression": {
"description": "Incoming data match expression definition",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.MatchExpression",
"additionalProperties": false,
"properties": {
"dataValueType": {
"description": "Data value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"VALUE_FROM_RECORD",
"STATIC_VALUE"
]
},
"fields": {
"description": "Only if dataValueType = VALUE_FROM_RECORD",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Record field definition for marc and non marc records",
"additionalProperties": false,
"properties": {
"label": {
"description": "Label from UI form which describes field or subfield in record",
"type": "string"
},
"value": {
"description": "Field or subfield name in record",
"type": "string",
"default": ""
}
},
"required": [
"label",
"value"
]
}
},
"staticValueDetails": {
"description": "Static value details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"staticValueType": {
"description": "Static value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"TEXT",
"NUMBER",
"DATE_RANGE",
"EXACT_DATE"
]
},
"text": {
"description": "Only if staticValueType = TEXT",
"type": "string"
},
"number": {
"description": "Only if staticValueType = NUMBER",
"type": "string"
},
"fromDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"toDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"exactDate": {
"description": "Only if staticValueType = EXACT_DATE",
"type": "string",
"format": "date-time"
}
}
},
"qualifier": {
"description": "Qualifier for data which will be used in matching, optional",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"qualifierType": {
"description": "Qualifier type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"BEGINS_WITH",
"ENDS_WITH",
"CONTAINS"
]
},
"qualifierValue": {
"description": "Qualifier value, only if qualifierType is specified",
"type": "string"
},
"comparisonPart": {
"description": "Part of the value to compare",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"NUMERICS_ONLY",
"ALPHANUMERICS_ONLY"
]
}
}
}
},
"required": [
"dataValueType"
]
},
"matchCriterion": {
"description": "Matching criteria",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"EXACTLY_MATCHES",
"EXISTING_VALUE_CONTAINS_INCOMING_VALUE",
"INCOMING_VALUE_CONTAINS_EXISTING_VALUE",
"EXISTING_VALUE_BEGINS_WITH_INCOMING_VALUE",
"INCOMING_VALUE_BEGINS_WITH_EXISTING_VALUE",
"EXISTING_VALUE_ENDS_WITH_INCOMING_VALUE",
"INCOMING_VALUE_ENDS_WITH_EXISTING_VALUE"
]
},
"existingMatchExpression": {
"description": "Existing data match expression definition",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.MatchExpression",
"additionalProperties": false,
"properties": {
"dataValueType": {
"description": "Data value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"VALUE_FROM_RECORD",
"STATIC_VALUE"
]
},
"fields": {
"description": "Only if dataValueType = VALUE_FROM_RECORD",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Record field definition for marc and non marc records",
"additionalProperties": false,
"properties": {
"label": {
"description": "Label from UI form which describes field or subfield in record",
"type": "string"
},
"value": {
"description": "Field or subfield name in record",
"type": "string",
"default": ""
}
},
"required": [
"label",
"value"
]
}
},
"staticValueDetails": {
"description": "Static value details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"staticValueType": {
"description": "Static value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"TEXT",
"NUMBER",
"DATE_RANGE",
"EXACT_DATE"
]
},
"text": {
"description": "Only if staticValueType = TEXT",
"type": "string"
},
"number": {
"description": "Only if staticValueType = NUMBER",
"type": "string"
},
"fromDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"toDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"exactDate": {
"description": "Only if staticValueType = EXACT_DATE",
"type": "string",
"format": "date-time"
}
}
},
"qualifier": {
"description": "Qualifier for data which will be used in matching, optional",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"qualifierType": {
"description": "Qualifier type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"BEGINS_WITH",
"ENDS_WITH",
"CONTAINS"
]
},
"qualifierValue": {
"description": "Qualifier value, only if qualifierType is specified",
"type": "string"
},
"comparisonPart": {
"description": "Part of the value to compare",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"NUMERICS_ONLY",
"ALPHANUMERICS_ONLY"
]
}
}
}
},
"required": [
"dataValueType"
]
},
"booleanOperation": {
"description": "Used to add sub-matches to an existing match profile",
"type": "string",
"enum": [
"AND",
"AND NOT",
"OR"
]
}
},
"required": [
"incomingRecordType",
"existingRecordType",
"incomingMatchExpression",
"matchCriterion",
"existingMatchExpression"
]
}
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Match Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Match Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"incomingRecordType",
"existingRecordType"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "POL-MARC",
"description": "Use for POL in 990 p",
"tags": {
"tagList": [
"pol"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"matchDetails": [
{
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"incomingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "990"
},
{
"label": "indicator1",
"value": " "
},
{
"label": "indicator2",
"value": " "
},
{
"label": "recordSubfield",
"value": "p"
}
]
},
"matchCriterion": "EXACTLY_MATCHES",
"existingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "PO_LINE_NUMBER"
}
]
}
}
],
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "@janedoe",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": "@janedoe"
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"matchProfile not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorUpdate matchProfile item with given {matchProfileId}
PUT /data-import-profiles/matchProfiles/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Match Profile object",
"javaType": "org.folio.rest.jaxrs.model.MatchProfile"
},
"addedRelations": {
"description": "Match profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Match profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "POL-MARC",
"description": "Use for POL in 990 p",
"tags": {
"tagList": [
"pol"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"matchDetails": [
{
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "ORDER",
"incomingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "990"
},
{
"label": "indicator1",
"value": " "
},
{
"label": "indicator2",
"value": " "
},
{
"label": "recordSubfield",
"value": "p"
}
]
},
"matchCriterion": "EXACTLY_MATCHES",
"existingMatchExpression": {
"dataValueType": "VALUE_FROM_RECORD",
"fields": [
{
"label": "field",
"value": "PO_LINE_NUMBER"
}
]
}
}
],
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "@janedoe",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": "@janedoe"
}
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Match Profile name",
"type": "string"
},
"description": {
"description": "Match Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Match Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "Existing record type to match",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"matchDetails": {
"description": "Match profile details list",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Match profile detail",
"additionalProperties": false,
"properties": {
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "Existing record type to match",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"incomingMatchExpression": {
"description": "Incoming data match expression definition",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.MatchExpression",
"additionalProperties": false,
"properties": {
"dataValueType": {
"description": "Data value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"VALUE_FROM_RECORD",
"STATIC_VALUE"
]
},
"fields": {
"description": "Only if dataValueType = VALUE_FROM_RECORD",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Record field definition for marc and non marc records",
"additionalProperties": false,
"properties": {
"label": {
"description": "Label from UI form which describes field or subfield in record",
"type": "string"
},
"value": {
"description": "Field or subfield name in record",
"type": "string",
"default": ""
}
},
"required": [
"label",
"value"
]
}
},
"staticValueDetails": {
"description": "Static value details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"staticValueType": {
"description": "Static value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"TEXT",
"NUMBER",
"DATE_RANGE",
"EXACT_DATE"
]
},
"text": {
"description": "Only if staticValueType = TEXT",
"type": "string"
},
"number": {
"description": "Only if staticValueType = NUMBER",
"type": "string"
},
"fromDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"toDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"exactDate": {
"description": "Only if staticValueType = EXACT_DATE",
"type": "string",
"format": "date-time"
}
}
},
"qualifier": {
"description": "Qualifier for data which will be used in matching, optional",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"qualifierType": {
"description": "Qualifier type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"BEGINS_WITH",
"ENDS_WITH",
"CONTAINS"
]
},
"qualifierValue": {
"description": "Qualifier value, only if qualifierType is specified",
"type": "string"
},
"comparisonPart": {
"description": "Part of the value to compare",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"NUMERICS_ONLY",
"ALPHANUMERICS_ONLY"
]
}
}
}
},
"required": [
"dataValueType"
]
},
"matchCriterion": {
"description": "Matching criteria",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"EXACTLY_MATCHES",
"EXISTING_VALUE_CONTAINS_INCOMING_VALUE",
"INCOMING_VALUE_CONTAINS_EXISTING_VALUE",
"EXISTING_VALUE_BEGINS_WITH_INCOMING_VALUE",
"INCOMING_VALUE_BEGINS_WITH_EXISTING_VALUE",
"EXISTING_VALUE_ENDS_WITH_INCOMING_VALUE",
"INCOMING_VALUE_ENDS_WITH_EXISTING_VALUE"
]
},
"existingMatchExpression": {
"description": "Existing data match expression definition",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.MatchExpression",
"additionalProperties": false,
"properties": {
"dataValueType": {
"description": "Data value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"VALUE_FROM_RECORD",
"STATIC_VALUE"
]
},
"fields": {
"description": "Only if dataValueType = VALUE_FROM_RECORD",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Record field definition for marc and non marc records",
"additionalProperties": false,
"properties": {
"label": {
"description": "Label from UI form which describes field or subfield in record",
"type": "string"
},
"value": {
"description": "Field or subfield name in record",
"type": "string",
"default": ""
}
},
"required": [
"label",
"value"
]
}
},
"staticValueDetails": {
"description": "Static value details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"staticValueType": {
"description": "Static value type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"TEXT",
"NUMBER",
"DATE_RANGE",
"EXACT_DATE"
]
},
"text": {
"description": "Only if staticValueType = TEXT",
"type": "string"
},
"number": {
"description": "Only if staticValueType = NUMBER",
"type": "string"
},
"fromDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"toDate": {
"description": "Only if staticValueType = DATE_RANGE",
"type": "string",
"format": "date-time"
},
"exactDate": {
"description": "Only if staticValueType = EXACT_DATE",
"type": "string",
"format": "date-time"
}
}
},
"qualifier": {
"description": "Qualifier for data which will be used in matching, optional",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"qualifierType": {
"description": "Qualifier type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"BEGINS_WITH",
"ENDS_WITH",
"CONTAINS"
]
},
"qualifierValue": {
"description": "Qualifier value, only if qualifierType is specified",
"type": "string"
},
"comparisonPart": {
"description": "Part of the value to compare",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"enum": [
"NUMERICS_ONLY",
"ALPHANUMERICS_ONLY"
]
}
}
}
},
"required": [
"dataValueType"
]
},
"booleanOperation": {
"description": "Used to add sub-matches to an existing match profile",
"type": "string",
"enum": [
"AND",
"AND NOT",
"OR"
]
}
},
"required": [
"incomingRecordType",
"existingRecordType",
"incomingMatchExpression",
"matchCriterion",
"existingMatchExpression"
]
}
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Match Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Match Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"incomingRecordType",
"existingRecordType"
]
}Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update matchProfile -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"matchProfile not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflictValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorDelete matchProfile item with given {matchProfileId}
DELETE /data-import-profiles/matchProfiles/{id}Item deleted successfully
Media type: text/plain
Type: any
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete matchProfile -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"matchProfile not found"
Media type: text/plain
Type: any
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorCreate a new mappingProfile item.
POST /data-import-profiles/mappingProfilesMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Mapping Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Mapping Profile object",
"javaType": "org.folio.rest.jaxrs.model.MappingProfile"
},
"addedRelations": {
"description": "Mapping profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Mapping profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "MARC brief instance 1",
"description": "Preliminary instance from CoolVendor MARC order record",
"tags": {
"tagList": [
"cool-vendor"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "INSTANCE",
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"marcFieldProtectionSettings": [
{
"id": "2d706874-8a10-4d3e-a190-33c301d157e3",
"field": "050",
"indicator1": "",
"indicator2": "",
"subfield": "",
"data": "*",
"source": "USER",
"override": true,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
},
{
"id": "82d0b904-f8b0-4cc2-b238-7d8cddef7b7e",
"field": "700",
"indicator1": "",
"indicator2": "",
"subfield": "*",
"data": "*",
"source": "USER",
"override": false,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
}
],
"parentProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"childProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2019-01-01T11:550:09Z",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2019-01-12T14:21:11Z",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created mappingProfile item
Media type: application/json
Type: any
Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "MARC brief instance 1",
"description": "Preliminary instance from CoolVendor MARC order record",
"tags": {
"tagList": [
"cool-vendor"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "INSTANCE",
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"marcFieldProtectionSettings": [
{
"id": "2d706874-8a10-4d3e-a190-33c301d157e3",
"field": "050",
"indicator1": "",
"indicator2": "",
"subfield": "",
"data": "*",
"source": "USER",
"override": true,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
},
{
"id": "82d0b904-f8b0-4cc2-b238-7d8cddef7b7e",
"field": "700",
"indicator1": "",
"indicator2": "",
"subfield": "*",
"data": "*",
"source": "USER",
"override": false,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
}
],
"parentProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"childProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2019-01-01T11:550:09Z",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2019-01-12T14:21:11Z",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add mappingProfile -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create mappingProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorRetrieve a list of mappingProfile items.
GET /data-import-profiles/mappingProfilesselection condition of Mapping Profiles by field 'hidden'
Example:
falseLoad profile with related child and parent profiles
Example:
falseA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Returns a list of mappingProfile items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Mapping Profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"mappingProfiles": {
"description": "List of Mapping Profiles",
"type": "array",
"id": "mappingProfileList",
"items": {
"type": "object",
"$ref": "mappingProfile.json"
}
},
"totalRecords": {
"description": "Total number of Mapping Profiles",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"mappingProfiles",
"totalRecords"
]
}Example:
{
"mappingProfiles": [
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "MARC brief instance 1",
"description": "Preliminary instance from CoolVendor MARC order record",
"tags": {
"tagList": [
"cool-vendor"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "INSTANCE",
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"metadata": {
"createdDate": "2019-01-01T11:550:09Z",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2019-01-12T14:21:11Z",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list mappingProfiles -- malformed parameter 'query', syntax error at column 6Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list mappingProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorRetrieve mappingProfile item with given {mappingProfileId}
GET /data-import-profiles/mappingProfiles/{id}Load profile with related child and parent profiles
Example:
falseReturns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Mapping Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Mapping Profile name",
"type": "string"
},
"description": {
"description": "Mapping Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Mapping Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "FOLIO record type to mapping",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Mapping Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"marcFieldProtectionSettings": {
"description": "MARC field protection settings",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.MarcFieldProtectionSetting>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "MARC field protection setting schema",
"javaType": "org.folio.rest.jaxrs.model.MarcFieldProtectionSetting",
"additionalProperties": false,
"properties": {
"id": {
"description": "MARC field protection setting id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"field": {
"description": "Field",
"type": "string"
},
"indicator1": {
"description": "Indicator 1",
"type": "string"
},
"indicator2": {
"description": "Indicator 2",
"type": "string"
},
"subfield": {
"description": "Subfield",
"type": "string"
},
"data": {
"description": "Data",
"type": "string"
},
"source": {
"description": "Source",
"type": "string",
"enum": [
"SYSTEM",
"USER"
]
},
"override": {
"description": "Indicates whether field can be overridden or not, always false for SYSTEM protection settings",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"field"
]
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"mappingDetails": {
"description": "Mapping details with mapping rules",
"$ref": "mapping-profile-detail/mappingDetail.json"
},
"hidden": {
"description": "Flag indicates that the Mapping Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"incomingRecordType"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "MARC brief instance 1",
"description": "Preliminary instance from CoolVendor MARC order record",
"tags": {
"tagList": [
"cool-vendor"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "INSTANCE",
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"marcFieldProtectionSettings": [
{
"id": "2d706874-8a10-4d3e-a190-33c301d157e3",
"field": "050",
"indicator1": "",
"indicator2": "",
"subfield": "",
"data": "*",
"source": "USER",
"override": true,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
},
{
"id": "82d0b904-f8b0-4cc2-b238-7d8cddef7b7e",
"field": "700",
"indicator1": "",
"indicator2": "",
"subfield": "*",
"data": "*",
"source": "USER",
"override": false,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
}
],
"parentProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"childProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2019-01-01T11:550:09Z",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2019-01-12T14:21:11Z",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"mappingProfile not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorUpdate mappingProfile item with given {mappingProfileId}
PUT /data-import-profiles/mappingProfiles/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Mapping Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Mapping Profile object",
"javaType": "org.folio.rest.jaxrs.model.MappingProfile"
},
"addedRelations": {
"description": "Mapping profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Mapping profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
"name": "MARC brief instance 1",
"description": "Preliminary instance from CoolVendor MARC order record",
"tags": {
"tagList": [
"cool-vendor"
]
},
"incomingRecordType": "MARC_BIBLIOGRAPHIC",
"existingRecordType": "INSTANCE",
"userInfo": {
"firstName": "Jane",
"lastName": "Doe",
"userName": "@janedoe"
},
"marcFieldProtectionSettings": [
{
"id": "2d706874-8a10-4d3e-a190-33c301d157e3",
"field": "050",
"indicator1": "",
"indicator2": "",
"subfield": "",
"data": "*",
"source": "USER",
"override": true,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
},
{
"id": "82d0b904-f8b0-4cc2-b238-7d8cddef7b7e",
"field": "700",
"indicator1": "",
"indicator2": "",
"subfield": "*",
"data": "*",
"source": "USER",
"override": false,
"metadata": {
"createdDate": "2020-08-13T14:44:07Z",
"createdByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"createdByUsername": "@janedoe",
"updatedDate": "2020-08-13T14:44:07Z",
"updatedByUserId": "201e6a06-b60d-4618-bfcb-a551cbdc9f2f",
"updatedByUsername": "@janedoe"
}
}
],
"parentProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"childProfiles": [
{
"id": "0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId": "dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType": "JOB_PROFILE",
"content": {
"id": "dc4ac439-57ae-4779-872e-1892b163bb47",
"name": "Load vendor order records",
"description": "Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes": [
"MARC_BIB"
],
"tags": {
"tagList": [
"acq",
"daily"
]
}
}
}
],
"metadata": {
"createdDate": "2019-01-01T11:550:09Z",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2019-01-12T14:21:11Z",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Mapping Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Mapping Profile name",
"type": "string"
},
"description": {
"description": "Mapping Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Mapping Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"incomingRecordType": {
"description": "Incoming record type",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"existingRecordType": {
"description": "FOLIO record type to mapping",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.EntityType",
"additionalProperties": false,
"enum": [
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY",
"EDIFACT_INVOICE",
"DELIMITED",
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"STATIC_VALUE",
"PO_LINE"
]
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Mapping Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"marcFieldProtectionSettings": {
"description": "MARC field protection settings",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.MarcFieldProtectionSetting>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "MARC field protection setting schema",
"javaType": "org.folio.rest.jaxrs.model.MarcFieldProtectionSetting",
"additionalProperties": false,
"properties": {
"id": {
"description": "MARC field protection setting id",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"field": {
"description": "Field",
"type": "string"
},
"indicator1": {
"description": "Indicator 1",
"type": "string"
},
"indicator2": {
"description": "Indicator 2",
"type": "string"
},
"subfield": {
"description": "Subfield",
"type": "string"
},
"data": {
"description": "Data",
"type": "string"
},
"source": {
"description": "Source",
"type": "string",
"enum": [
"SYSTEM",
"USER"
]
},
"override": {
"description": "Indicates whether field can be overridden or not, always false for SYSTEM protection settings",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"field"
]
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"mappingDetails": {
"description": "Mapping details with mapping rules",
"$ref": "mapping-profile-detail/mappingDetail.json"
},
"hidden": {
"description": "Flag indicates that the Mapping Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"incomingRecordType"
]
}Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update mappingProfile -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"mappingProfile not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflictValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorDelete mappingProfile item with given {mappingProfileId}
DELETE /data-import-profiles/mappingProfiles/{id}Item deleted successfully
Media type: text/plain
Type: any
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete mappingProfile -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"mappingProfile not found"
Media type: text/plain
Type: any
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorCreate a new actionProfile item.
POST /data-import-profiles/actionProfilesMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Action Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Action Profile object",
"javaType": "org.folio.rest.jaxrs.model.ActionProfile"
},
"addedRelations": {
"description": "Action profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Action profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id":"cf3d7393-8534-44fb-93fd-7495d220f4f6",
"name":"Create preliminary instance",
"description":"Brief instance created by order, will be updated later",
"tags":{
"tagList":[
"acq-related",
"preliminary"
]
},
"reactTo":"NON-MATCH",
"action":"CREATE",
"folioRecord":"INSTANCE",
"remove9Subfields":false,
"userInfo":{
"firstName":"DIKU",
"lastName":"ADMINISTRATOR",
"userName":"diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata":{
"createdDate":"2018-10-30T12:41:22.000",
"createdByUserId":"",
"createdByUsername":"",
"updatedDate":"2018-11-02T12:09:51.000",
"updatedByUserId":"",
"updatedByUsername":""
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created actionProfile item
Media type: application/json
Type: any
Example:
{
"id":"cf3d7393-8534-44fb-93fd-7495d220f4f6",
"name":"Create preliminary instance",
"description":"Brief instance created by order, will be updated later",
"tags":{
"tagList":[
"acq-related",
"preliminary"
]
},
"reactTo":"NON-MATCH",
"action":"CREATE",
"folioRecord":"INSTANCE",
"remove9Subfields":false,
"userInfo":{
"firstName":"DIKU",
"lastName":"ADMINISTRATOR",
"userName":"diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata":{
"createdDate":"2018-10-30T12:41:22.000",
"createdByUserId":"",
"createdByUsername":"",
"updatedDate":"2018-11-02T12:09:51.000",
"updatedByUserId":"",
"updatedByUsername":""
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add actionProfile -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create actionProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorRetrieve a list of actionProfile items.
GET /data-import-profiles/actionProfilesselection condition of Action Profiles by field 'hidden'
Example:
falseLoad profile with related child and parent profiles
Example:
falseA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Returns a list of actionProfile items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Action Profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"actionProfiles": {
"description": "List of Action Profiles",
"type": "array",
"id": "actionProfileList",
"items": {
"type": "object",
"$ref": "actionProfile.json"
}
},
"totalRecords": {
"description": "Total number of Action Profiles",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"actionProfiles",
"totalRecords"
]
}Example:
{
"actionProfiles": [
{
"id": "cf3d7393-8534-44fb-93fd-7495d220f4f6",
"name": "Create preliminary instance",
"description": "Brief instance created by order, will be updated later",
"tags": {
"tagList": [
"acq-related", "preliminary"
]
},
"reactTo": "NON-MATCH",
"action": "CREATE",
"folioRecord": "INSTANCE",
"userInfo": {
"firstName": "DIKU",
"lastName": "ADMINISTRATOR",
"userName": "diku_admin"
},
"metadata": {
"createdDate": "2018-10-30T12:41:22.000",
"createdByUserId": "",
"createdByUsername": "",
"updatedDate": "2018-11-02T12:09:51.000",
"updatedByUserId": "",
"updatedByUsername": ""
}
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list actionProfiles -- malformed parameter 'query', syntax error at column 6Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list actionProfiles -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorRetrieve actionProfile item with given {actionProfileId}
GET /data-import-profiles/actionProfiles/{id}Load profile with related child and parent profiles
Example:
falseReturns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Action Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Action Profile name",
"type": "string"
},
"description": {
"description": "Action Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Action Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"type": "string",
"enum": [
"MATCH",
"NON-MATCH"
]
},
"action": {
"description": "Action type. CREATE allowed for all record types. UPDATE allowed for all record types except Orders, Invoices. DELETE allowed for all records types. MODIFY allowed for MARC records only",
"type": "string",
"enum": [
"CREATE",
"UPDATE",
"DELETE",
"MODIFY"
]
},
"folioRecord": {
"description": "Record type",
"type": "string",
"enum": [
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY"
]
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Action Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Action Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"remove9Subfields": {
"description": "Flag indicates that 9 subfield should be removed from all linkable MARC bib fields for Action Profile",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"action",
"folioRecord"
]
}Example:
{
"id":"cf3d7393-8534-44fb-93fd-7495d220f4f6",
"name":"Create preliminary instance",
"description":"Brief instance created by order, will be updated later",
"tags":{
"tagList":[
"acq-related",
"preliminary"
]
},
"reactTo":"NON-MATCH",
"action":"CREATE",
"folioRecord":"INSTANCE",
"remove9Subfields":false,
"userInfo":{
"firstName":"DIKU",
"lastName":"ADMINISTRATOR",
"userName":"diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata":{
"createdDate":"2018-10-30T12:41:22.000",
"createdByUserId":"",
"createdByUsername":"",
"updatedDate":"2018-11-02T12:09:51.000",
"updatedByUserId":"",
"updatedByUsername":""
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"actionProfile not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorUpdate actionProfile item with given {actionProfileId}
PUT /data-import-profiles/actionProfiles/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Action Profile Update/Create schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Profile identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profile": {
"description": "Action Profile object",
"javaType": "org.folio.rest.jaxrs.model.ActionProfile"
},
"addedRelations": {
"description": "Action profile added relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"deletedRelations": {
"description": "Action profile deleted relations",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileAssociation>",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
}
},
"required": [
"profile"
]
}Example:
{
"id":"cf3d7393-8534-44fb-93fd-7495d220f4f6",
"name":"Create preliminary instance",
"description":"Brief instance created by order, will be updated later",
"tags":{
"tagList":[
"acq-related",
"preliminary"
]
},
"reactTo":"NON-MATCH",
"action":"CREATE",
"folioRecord":"INSTANCE",
"remove9Subfields":false,
"userInfo":{
"firstName":"DIKU",
"lastName":"ADMINISTRATOR",
"userName":"diku_admin"
},
"parentProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"childProfiles":[
{
"id":"0fc0ba76-d560-4541-826f-f8bdd3b09841",
"profileId":"dc4ac439-57ae-4779-872e-1892b163bb47",
"contentType":"JOB_PROFILE",
"content":{
"id":"dc4ac439-57ae-4779-872e-1892b163bb47",
"name":"Load vendor order records",
"description":"Ordered on vendor site; load MARC to create bib, holdings, item, and order; keep MARC",
"dataTypes":[
"MARC_BIB"
],
"tags":{
"tagList":[
"acq",
"daily"
]
}
}
}
],
"metadata":{
"createdDate":"2018-10-30T12:41:22.000",
"createdByUserId":"",
"createdByUsername":"",
"updatedDate":"2018-11-02T12:09:51.000",
"updatedByUserId":"",
"updatedByUsername":""
}
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Action Profile schema",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"name": {
"description": "Action Profile name",
"type": "string"
},
"description": {
"description": "Action Profile description",
"type": "string"
},
"tags": {
"description": "Set of tags assigned to the current Action Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"type": "string",
"enum": [
"MATCH",
"NON-MATCH"
]
},
"action": {
"description": "Action type. CREATE allowed for all record types. UPDATE allowed for all record types except Orders, Invoices. DELETE allowed for all records types. MODIFY allowed for MARC records only",
"type": "string",
"enum": [
"CREATE",
"UPDATE",
"DELETE",
"MODIFY"
]
},
"folioRecord": {
"description": "Record type",
"type": "string",
"enum": [
"INSTANCE",
"HOLDINGS",
"AUTHORITY",
"ITEM",
"ORDER",
"INVOICE",
"MARC_BIBLIOGRAPHIC",
"MARC_HOLDINGS",
"MARC_AUTHORITY"
]
},
"userInfo": {
"description": "First name, last name and username of the user, who updated the Action Profile",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"firstName": {
"description": "User first name",
"type": "string"
},
"lastName": {
"description": "User last name",
"type": "string"
},
"userName": {
"description": "User name (nickname)",
"type": "string"
}
}
},
"parentProfiles": {
"description": "Associated parent profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"type": "object",
"$ref": "./profileSnapshotWrapper.json"
}
},
"childProfiles": {
"description": "Associated children profiles. Not required field that uses only for batch update/create",
"javaType": "java.util.List<org.folio.rest.jaxrs.model.ProfileSnapshotWrapper>",
"items": {
"$ref": "profileSnapshotWrapper.json",
"type": "object"
}
},
"hidden": {
"description": "Flag indicates that the Action Profile will be hidden on UI",
"type": "boolean",
"default": false
},
"remove9Subfields": {
"description": "Flag indicates that 9 subfield should be removed from all linkable MARC bib fields for Action Profile",
"type": "boolean",
"default": false
},
"metadata": {
"description": "Metadata provided by the server",
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
}
},
"required": [
"name",
"action",
"folioRecord"
]
}Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update actionProfile -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"actionProfile not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflictValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorDelete actionProfile item with given {actionProfileId}
DELETE /data-import-profiles/actionProfiles/{id}Item deleted successfully
Media type: text/plain
Type: any
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete actionProfile -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"actionProfile not found"
Media type: text/plain
Type: any
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorCreate a new profileAssociation item.
POST /data-import-profiles/profileAssociationsIt needs to identify master profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILEIt needs to identify detail profile type in association
Example:
ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}Example:
{
"id": "d79c0c7f-1dca-4523-b438-dd00a5a1f9a6",
"masterProfileId": "4623d797-6987-46ed-925d-0e8c6fe6678a",
"detailProfileId": "6146e173-c664-4404-9d58-c913d89e7114",
"order": 2,
"triggered": "true"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created profileAssociation item
Media type: application/json
Type: any
Example:
{
"id": "d79c0c7f-1dca-4523-b438-dd00a5a1f9a6",
"masterProfileId": "4623d797-6987-46ed-925d-0e8c6fe6678a",
"detailProfileId": "6146e173-c664-4404-9d58-c913d89e7114",
"order": 2,
"triggered": "true"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add profileAssociation -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create profileAssociations -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorRetrieve a list of profileAssociation items.
GET /data-import-profiles/profileAssociationsIt needs to identify master profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILEIt needs to identify detail profile type in association
Example:
ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEReturns a list of profileAssociation items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of Profile associations",
"type": "object",
"additionalProperties": false,
"properties": {
"profileAssociations": {
"description": "List of Profile associations",
"type": "array",
"id": "profileAssociationList",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}
},
"totalRecords": {
"description": "Total number of Profile associations",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"profileAssociations",
"totalRecords"
]
}Example:
{
"profileAssociations": [
{
"id": "d79c0c7f-1dca-4523-b438-dd00a5a1f9a6",
"masterProfileId": "4623d797-6987-46ed-925d-0e8c6fe6678a",
"detailProfileId": "6146e173-c664-4404-9d58-c913d89e7114",
"order": 0,
"triggered": "false"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list profileAssociations -- malformed parameter 'query', syntax error at column 6Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list profileAssociations -- unauthorizedValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorRetrieve profileAssociation item with given {profileAssociationId}
GET /data-import-profiles/profileAssociations/{id}It needs to identify master profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILEIt needs to identify detail profile type in association
Example:
ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEReturns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}Example:
{
"id": "d79c0c7f-1dca-4523-b438-dd00a5a1f9a6",
"masterProfileId": "4623d797-6987-46ed-925d-0e8c6fe6678a",
"detailProfileId": "6146e173-c664-4404-9d58-c913d89e7114",
"order": 2,
"triggered": "true"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"profileAssociation not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorUpdate profileAssociation item with given {profileAssociationId}
PUT /data-import-profiles/profileAssociations/{id}It needs to identify master profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILEIt needs to identify detail profile type in association
Example:
ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}Example:
{
"id": "d79c0c7f-1dca-4523-b438-dd00a5a1f9a6",
"masterProfileId": "4623d797-6987-46ed-925d-0e8c6fe6678a",
"detailProfileId": "6146e173-c664-4404-9d58-c913d89e7114",
"order": 2,
"triggered": "true"
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema represents m2m association between profiles. One kind of 'master' profiles can be associated to another kind of 'detail' profiles",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"masterProfileId": {
"description": "Unique identifier of the 'master' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailProfileId": {
"description": "Unique identifier of the 'detail' profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"detail": {
"description": "Detail profile content (plain Object)"
},
"triggered": {
"description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
"type": "boolean",
"default": false
},
"masterProfileType": {
"description": "Type of master profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"detailProfileType": {
"description": "Type of detail profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"masterWrapperId": {
"description": "Unique identifier of the 'master' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"detailWrapperId": {
"description": "Unique identifier of the 'detail' wrapper profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"jobProfileId": {
"description": "Unique identifier of the job profile, it is used to distinguish associations when building a snapshot tree for particular job profile",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
}
},
"required": [
"masterProfileId",
"detailProfileId",
"order"
]
}Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update profileAssociation -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"profileAssociation not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflictValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administratorDelete profileAssociation item with given {profileAssociationId}
DELETE /data-import-profiles/profileAssociations/{id}It needs to identify master profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEIt needs to identify detail profile type in association
Example:
JOB_PROFILE, ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILEItem deleted successfully
Media type: text/plain
Type: any
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete profileAssociation -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"profileAssociation not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administratorGET /data-import-profiles/profileAssociations/{id}/detailsIt needs to identify master profile type for an id
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILEIt filters returned type of details. For example you need to get only MATCH_PROFILEs for a JOB_PROFILE but the JOB_PROFILE has ACTION_PROFILEs too. So use it as filter for a return type
Example:
ACTION_PROFILE, MATCH_PROFILE, MAPPING_PROFILEA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Validation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
GET /data-import-profiles/profileAssociations/{id}/mastersType of detail profile
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE, MAPPING_PROFILEIt filters returned type of masters. For example you need to get only JOB_PROFILEs for a MATCH_PROFILE but the MATCH_PROFILE has ACTION_PROFILEs too. So use it as filter for a return type
Example:
JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE, MAPPING_PROFILEA 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.
with valid searchable fields: for example userInfo.lastName=Doe
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
userInfo.lastName=Doe
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:
noneSkip over a number of elements by specifying an offset value for the query
Example:
0Limit the number of elements returned in the response
Example:
10Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Validation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Method to get Job Profile Snapshot by id
GET /data-import-profiles/jobProfileSnapshots/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Method to create Job Profile Snapshot by Job Profile id
POST /data-import-profiles/jobProfileSnapshots/{id}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Bad request
Media type: text/plain
Type: any
Example:
Bad requestInternal server error
Media type: text/plain
Type: any
Example:
Internal server errorGet a list of entity types
GET /data-import-profiles/entityTypesMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of entity types",
"type": "object",
"additionalProperties": false,
"properties": {
"entityTypes": {
"description": "Set of entity types",
"type": "array",
"id": "entityTypeList",
"items": {
"type": "string"
}
},
"totalRecords": {
"description": "Total number of entity types",
"type": "integer"
}
},
"excludedFromEqualsAndHashCode": [
"totalRecords"
],
"required": [
"entityTypes",
"totalRecords"
]
}Bad request
Media type: text/plain
Type: any
Example:
Bad requestInternal server error
Media type: text/plain
Type: any
Example:
Internal server errorMethod to import profile snapshot with related profiles.
POST /data-import-profiles/profileSnapshotsMedia type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Bad request
Media type: text/plain
Type: any
Example:
Bad requestValidation errors
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"
}
}
}Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server errorGet a profile snapshot structure for specified profile id and type. Acceptable profileType values are JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE, MAPPING_PROFILE.
GET /data-import-profiles/profileSnapshots/{profileId}Indicates profile type
Example:
JOB_PROFILEIndicates job profile id, should be specified when {profileType} parameter has value JOB_PROFILE or MATCH_PROFILE
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "This schema describes Job Profile snapshot entity",
"javaType": "org.folio.rest.jaxrs.model.ProfileSnapshotWrapper",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Snapshot wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileId": {
"description": "Profile unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"profileWrapperId": {
"description": "Profile wrapper unique identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"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}$"
},
"contentType": {
"description": "Type of the content",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ProfileType",
"type": "string",
"additionalProperties": false,
"enum": [
"ACTION_PROFILE",
"MAPPING_PROFILE",
"MATCH_PROFILE",
"JOB_PROFILE"
]
},
"reactTo": {
"description": "Non-match also used when there is no match profile in the job",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "org.folio.rest.jaxrs.model.ReactToType",
"type": "string",
"additionalProperties": false,
"enum": [
"MATCH",
"NON_MATCH"
]
},
"content": {
"description": "Profile content (plain Object)"
},
"order": {
"description": "The execution order of the 'detail' profile. Job, Action and Matching profiles have an execution order, but this field is always 0 for Mapping profiles because of o2o relationship",
"type": "integer",
"default": 0
},
"childSnapshotWrappers": {
"description": "Set of children profile snapshots",
"type": "array",
"items": {
"$ref": "profileSnapshotWrapper.json"
}
}
},
"required": [
"contentType",
"content"
],
"excludedFromEqualsAndHashCode": [
"content"
]
}Bad request
Media type: text/plain
Type: any
Example:
Bad requestInternal server error
Media type: text/plain
Type: any
Example:
Internal server error