Data Import Converter Storage (v1.0)

http://localhost

Table of contents

Data Import Converter Storage API

API for managing data import profiles

/data-import-profiles

POST /data-import-profiles/jobProfiles

Create a new jobProfile item.

POST /data-import-profiles/jobProfiles
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Job Profile name",
      "type": "string"
    },
    "description": {
      "description": "Job Profile description",
      "type": "string"
    },
    "dataType": {
      "description": "Data type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "deleted": {
      "description": "Flag indicates that the Job Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Job Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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"
    ]
  },
  "deleted": false,
  "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": ""
  }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created jobProfile item

Body

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"
    ]
  },
  "deleted": false,
  "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": ""
  }
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to add jobProfile -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create jobProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/jobProfiles

Retrieve a list of jobProfile items.

GET /data-import-profiles/jobProfiles
Query Parameters
  • showDeleted: (boolean - default: false)

    selection condition of Job Profiles by field 'deleted'

    Example:

    false
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of jobProfile items

Body

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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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": []
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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"
        ]
      },
      "deleted": false,
      "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
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

unable to list jobProfiles -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list jobProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /data-import-profiles/jobProfiles/{id}

Update jobProfile item with given {jobProfileId}

PUT /data-import-profiles/jobProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Job Profile name",
      "type": "string"
    },
    "description": {
      "description": "Job Profile description",
      "type": "string"
    },
    "dataType": {
      "description": "Data type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "deleted": {
      "description": "Flag indicates that the Job Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Job Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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"
    ]
  },
  "deleted": false,
  "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": ""
  }
}

Response 200

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Job Profile name",
      "type": "string"
    },
    "description": {
      "description": "Job Profile description",
      "type": "string"
    },
    "dataType": {
      "description": "Data type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "deleted": {
      "description": "Flag indicates that the Job Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Job Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "dataType"
  ]
}

Response 204

Item successfully updated

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to update jobProfile -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"jobProfile not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /data-import-profiles/jobProfiles/{id}

Delete jobProfile item with given {jobProfileId}

DELETE /data-import-profiles/jobProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to delete jobProfile -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"jobProfile not found"

Response 409

Body

Media type: text/plain

Type: any

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/jobProfiles/{id}

Retrieve jobProfile item with given {jobProfileId}

GET /data-import-profiles/jobProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Job Profile name",
      "type": "string"
    },
    "description": {
      "description": "Job Profile description",
      "type": "string"
    },
    "dataType": {
      "description": "Data type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "deleted": {
      "description": "Flag indicates that the Job Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Job Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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"
    ]
  },
  "deleted": false,
  "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": ""
  }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"jobProfile not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /data-import-profiles/matchProfiles

Create a new matchProfile item.

POST /data-import-profiles/matchProfiles
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "entityType": {
      "description": "Entity type",
      "type": "string"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "existingRecordType": {
      "description": "Existing record type to match",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "incomingDataValueType": {
      "description": "Incoming data value type",
      "type": "string",
      "enum": [
        "VALUE_FROM_INCOMING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "field": {
      "description": "Only if incomingDataValueType = VALUE_FROM_INCOMING_RECORD only including options for MARC incoming records for now",
      "type": "string"
    },
    "incomingIndicator1": {
      "description": "Indicator 1",
      "type": "string"
    },
    "incomingIndicator2": {
      "description": "Indicator 2",
      "type": "string"
    },
    "incomingRecordSubfield": {
      "description": "incomingRecordSubfield",
      "type": "string"
    },
    "incomingStaticValueType": {
      "description": "Static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "incomingText": {
      "description": "Only if incomingStaticValueType = TEXT",
      "type": "string"
    },
    "incomingNumber": {
      "description": "Only if incomingStaticValueType = NUMBER",
      "type": "number"
    },
    "incomingDateType": {
      "description": "Only if incomingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "incomingFromDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingToDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "incomingInclude": {
      "description": "incomingInclude",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "incomingHowMuch": {
      "description": "incoming how much",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "matchingCriteria": {
      "description": "Matching criteria",
      "type": "string",
      "enum": [
        "EXACTLY_MATCHES",
        "CONTAINS",
        "BEGINS_WITH",
        "ENDS_WITH"
      ]
    },
    "existingDataValueType": {
      "description": "Existing data value type",
      "type": "string",
      "enum": [
        "VALUE_IN_EXISTING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "fieldMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType = one of the MARC formats",
      "type": "string"
    },
    "existingIndicator1": {
      "description": "existing record indicator 1",
      "type": "string"
    },
    "existingIndicator2": {
      "description": "existing record indicator 2",
      "type": "string"
    },
    "existingRecordSubfield": {
      "description": "existing record subfield",
      "type": "string"
    },
    "fieldNonMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType is NOT one of the MARC formats Acceptable values: list of FOLIO fields for whichever record types is chosen as the existing record type",
      "type": "string",
      "enum": [
        "PO_LINE_NUMBER",
        "ISBN",
        "INSTANCE_HRID",
        "LOCATION_CODE",
        "VENDOR_INVOICE_NUMBER",
        "ITEM_BARCODE"
      ]
    },
    "existingStaticValueType": {
      "description": "existing static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "existingText": {
      "description": "Only if existingStaticValueType = TEXT",
      "type": "string"
    },
    "existingNumber": {
      "description": "Only if existingStaticValueType = NUMBER",
      "type": "number"
    },
    "existingDateType": {
      "description": "Only if existingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "existingFromDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingToDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "existingInclude": {
      "description": "include",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "existingHowMuch": {
      "description": "existingHowMuch",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "booleanOperation": {
      "description": "Used to add sub-matches to an existing match profile",
      "type": "string",
      "enum": [
        "AND",
        "AND NOT",
        "OR"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Match Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Match Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "existingRecordType",
    "incomingDataValueType"
  ]
}

Example:

{
  "id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
  "name": "POL-MARC",
  "description": "Use for POL in 990 p",
  "tags": {
    "tagList": [
      "pol"
    ]
  },
  "entityType": "INVENTORY_ITEM",
  "incomingRecordType": "MARC",
  "existingRecordType": "ORDER",
  "incomingDataValueType": "VALUE_FROM_INCOMING_RECORD",
  "field": "990",
  "incomingIndicator1": " ",
  "incomingIndicator2": " ",
  "incomingRecordSubfield": "p",
  "incomingText": "",
  "incomingNumber": "",
  "incomingFromDate": "",
  "incomingToDate": "",
  "incomingDate": "",
  "incomingInclude": "MATCH_ON",
  "incomingHowMuch": "COMPLETE_STRING",
  "matchingCriteria": "EXACTLY_MATCHES",
  "existingDataValueType": "VALUE_IN_EXISTING_RECORD",
  "fieldMarc": "",
  "existingIndicator1": "",
  "existingIndicator2": "",
  "existingRecordSubfield": "",
  "fieldNonMarc": "PO_LINE_NUMBER",
  "existingText": "",
  "existingNumber": "",
  "existingFromDate": "",
  "existingToDate": "",
  "existingDate": "",
  "existingInclude": "MATCH_ON",
  "existingHowMuch": "COMPLETE_STRING",
  "deleted": false,
  "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"
  }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created matchProfile item

Body

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"
    ]
  },
  "entityType": "INVENTORY_ITEM",
  "incomingRecordType": "MARC",
  "existingRecordType": "ORDER",
  "incomingDataValueType": "VALUE_FROM_INCOMING_RECORD",
  "field": "990",
  "incomingIndicator1": " ",
  "incomingIndicator2": " ",
  "incomingRecordSubfield": "p",
  "incomingText": "",
  "incomingNumber": "",
  "incomingFromDate": "",
  "incomingToDate": "",
  "incomingDate": "",
  "incomingInclude": "MATCH_ON",
  "incomingHowMuch": "COMPLETE_STRING",
  "matchingCriteria": "EXACTLY_MATCHES",
  "existingDataValueType": "VALUE_IN_EXISTING_RECORD",
  "fieldMarc": "",
  "existingIndicator1": "",
  "existingIndicator2": "",
  "existingRecordSubfield": "",
  "fieldNonMarc": "PO_LINE_NUMBER",
  "existingText": "",
  "existingNumber": "",
  "existingFromDate": "",
  "existingToDate": "",
  "existingDate": "",
  "existingInclude": "MATCH_ON",
  "existingHowMuch": "COMPLETE_STRING",
  "deleted": false,
  "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"
  }
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to add matchProfile -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create matchProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/matchProfiles

Retrieve a list of matchProfile items.

GET /data-import-profiles/matchProfiles
Query Parameters
  • showDeleted: (boolean - default: false)

    selection condition of Match Profiles by field 'deleted'

    Example:

    false
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of matchProfile items

Body

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"
          ]
        },
        "entityType": "INVENTORY_ITEM",
        "incomingRecordType": "MARC",
        "existingRecordType": "ORDER",
        "incomingDataValueType": "VALUE_FROM_INCOMING_RECORD",
        "field": "990",
        "incomingIndicator1": " ",
        "incomingIndicator2": " ",
        "incomingRecordSubfield": "p",
        "incomingText": "",
        "incomingNumber": "",
        "incomingFromDate": "",
        "incomingToDate": "",
        "incomingDate": "",
        "incomingInclude": "MATCH_ON",
        "incomingHowMuch": "COMPLETE_STRING",
        "matchingCriteria": "EXACTLY_MATCHES",
        "existingDataValueType": "VALUE_IN_EXISTING_RECORD",
        "fieldMarc": "",
        "existingIndicator1": "",
        "existingIndicator2": "",
        "existingRecordSubfield": "",
        "fieldNonMarc": "PO_LINE_NUMBER",
        "existingText": "",
        "existingNumber": "",
        "existingFromDate": "",
        "existingToDate": "",
        "existingDate": "",
        "existingInclude": "MATCH_ON",
        "existingHowMuch": "COMPLETE_STRING",
        "deleted": false,
        "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
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

unable to list matchProfiles -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list matchProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /data-import-profiles/matchProfiles/{id}

Update matchProfile item with given {matchProfileId}

PUT /data-import-profiles/matchProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "entityType": {
      "description": "Entity type",
      "type": "string"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "existingRecordType": {
      "description": "Existing record type to match",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "incomingDataValueType": {
      "description": "Incoming data value type",
      "type": "string",
      "enum": [
        "VALUE_FROM_INCOMING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "field": {
      "description": "Only if incomingDataValueType = VALUE_FROM_INCOMING_RECORD only including options for MARC incoming records for now",
      "type": "string"
    },
    "incomingIndicator1": {
      "description": "Indicator 1",
      "type": "string"
    },
    "incomingIndicator2": {
      "description": "Indicator 2",
      "type": "string"
    },
    "incomingRecordSubfield": {
      "description": "incomingRecordSubfield",
      "type": "string"
    },
    "incomingStaticValueType": {
      "description": "Static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "incomingText": {
      "description": "Only if incomingStaticValueType = TEXT",
      "type": "string"
    },
    "incomingNumber": {
      "description": "Only if incomingStaticValueType = NUMBER",
      "type": "number"
    },
    "incomingDateType": {
      "description": "Only if incomingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "incomingFromDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingToDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "incomingInclude": {
      "description": "incomingInclude",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "incomingHowMuch": {
      "description": "incoming how much",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "matchingCriteria": {
      "description": "Matching criteria",
      "type": "string",
      "enum": [
        "EXACTLY_MATCHES",
        "CONTAINS",
        "BEGINS_WITH",
        "ENDS_WITH"
      ]
    },
    "existingDataValueType": {
      "description": "Existing data value type",
      "type": "string",
      "enum": [
        "VALUE_IN_EXISTING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "fieldMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType = one of the MARC formats",
      "type": "string"
    },
    "existingIndicator1": {
      "description": "existing record indicator 1",
      "type": "string"
    },
    "existingIndicator2": {
      "description": "existing record indicator 2",
      "type": "string"
    },
    "existingRecordSubfield": {
      "description": "existing record subfield",
      "type": "string"
    },
    "fieldNonMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType is NOT one of the MARC formats Acceptable values: list of FOLIO fields for whichever record types is chosen as the existing record type",
      "type": "string",
      "enum": [
        "PO_LINE_NUMBER",
        "ISBN",
        "INSTANCE_HRID",
        "LOCATION_CODE",
        "VENDOR_INVOICE_NUMBER",
        "ITEM_BARCODE"
      ]
    },
    "existingStaticValueType": {
      "description": "existing static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "existingText": {
      "description": "Only if existingStaticValueType = TEXT",
      "type": "string"
    },
    "existingNumber": {
      "description": "Only if existingStaticValueType = NUMBER",
      "type": "number"
    },
    "existingDateType": {
      "description": "Only if existingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "existingFromDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingToDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "existingInclude": {
      "description": "include",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "existingHowMuch": {
      "description": "existingHowMuch",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "booleanOperation": {
      "description": "Used to add sub-matches to an existing match profile",
      "type": "string",
      "enum": [
        "AND",
        "AND NOT",
        "OR"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Match Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Match Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "existingRecordType",
    "incomingDataValueType"
  ]
}

Example:

{
  "id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
  "name": "POL-MARC",
  "description": "Use for POL in 990 p",
  "tags": {
    "tagList": [
      "pol"
    ]
  },
  "entityType": "INVENTORY_ITEM",
  "incomingRecordType": "MARC",
  "existingRecordType": "ORDER",
  "incomingDataValueType": "VALUE_FROM_INCOMING_RECORD",
  "field": "990",
  "incomingIndicator1": " ",
  "incomingIndicator2": " ",
  "incomingRecordSubfield": "p",
  "incomingText": "",
  "incomingNumber": "",
  "incomingFromDate": "",
  "incomingToDate": "",
  "incomingDate": "",
  "incomingInclude": "MATCH_ON",
  "incomingHowMuch": "COMPLETE_STRING",
  "matchingCriteria": "EXACTLY_MATCHES",
  "existingDataValueType": "VALUE_IN_EXISTING_RECORD",
  "fieldMarc": "",
  "existingIndicator1": "",
  "existingIndicator2": "",
  "existingRecordSubfield": "",
  "fieldNonMarc": "PO_LINE_NUMBER",
  "existingText": "",
  "existingNumber": "",
  "existingFromDate": "",
  "existingToDate": "",
  "existingDate": "",
  "existingInclude": "MATCH_ON",
  "existingHowMuch": "COMPLETE_STRING",
  "deleted": false,
  "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"
  }
}

Response 200

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "entityType": {
      "description": "Entity type",
      "type": "string"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "existingRecordType": {
      "description": "Existing record type to match",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "incomingDataValueType": {
      "description": "Incoming data value type",
      "type": "string",
      "enum": [
        "VALUE_FROM_INCOMING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "field": {
      "description": "Only if incomingDataValueType = VALUE_FROM_INCOMING_RECORD only including options for MARC incoming records for now",
      "type": "string"
    },
    "incomingIndicator1": {
      "description": "Indicator 1",
      "type": "string"
    },
    "incomingIndicator2": {
      "description": "Indicator 2",
      "type": "string"
    },
    "incomingRecordSubfield": {
      "description": "incomingRecordSubfield",
      "type": "string"
    },
    "incomingStaticValueType": {
      "description": "Static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "incomingText": {
      "description": "Only if incomingStaticValueType = TEXT",
      "type": "string"
    },
    "incomingNumber": {
      "description": "Only if incomingStaticValueType = NUMBER",
      "type": "number"
    },
    "incomingDateType": {
      "description": "Only if incomingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "incomingFromDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingToDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "incomingInclude": {
      "description": "incomingInclude",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "incomingHowMuch": {
      "description": "incoming how much",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "matchingCriteria": {
      "description": "Matching criteria",
      "type": "string",
      "enum": [
        "EXACTLY_MATCHES",
        "CONTAINS",
        "BEGINS_WITH",
        "ENDS_WITH"
      ]
    },
    "existingDataValueType": {
      "description": "Existing data value type",
      "type": "string",
      "enum": [
        "VALUE_IN_EXISTING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "fieldMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType = one of the MARC formats",
      "type": "string"
    },
    "existingIndicator1": {
      "description": "existing record indicator 1",
      "type": "string"
    },
    "existingIndicator2": {
      "description": "existing record indicator 2",
      "type": "string"
    },
    "existingRecordSubfield": {
      "description": "existing record subfield",
      "type": "string"
    },
    "fieldNonMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType is NOT one of the MARC formats Acceptable values: list of FOLIO fields for whichever record types is chosen as the existing record type",
      "type": "string",
      "enum": [
        "PO_LINE_NUMBER",
        "ISBN",
        "INSTANCE_HRID",
        "LOCATION_CODE",
        "VENDOR_INVOICE_NUMBER",
        "ITEM_BARCODE"
      ]
    },
    "existingStaticValueType": {
      "description": "existing static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "existingText": {
      "description": "Only if existingStaticValueType = TEXT",
      "type": "string"
    },
    "existingNumber": {
      "description": "Only if existingStaticValueType = NUMBER",
      "type": "number"
    },
    "existingDateType": {
      "description": "Only if existingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "existingFromDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingToDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "existingInclude": {
      "description": "include",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "existingHowMuch": {
      "description": "existingHowMuch",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "booleanOperation": {
      "description": "Used to add sub-matches to an existing match profile",
      "type": "string",
      "enum": [
        "AND",
        "AND NOT",
        "OR"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Match Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Match Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "existingRecordType",
    "incomingDataValueType"
  ]
}

Response 204

Item successfully updated

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to update matchProfile -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"matchProfile not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /data-import-profiles/matchProfiles/{id}

Delete matchProfile item with given {matchProfileId}

DELETE /data-import-profiles/matchProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to delete matchProfile -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"matchProfile not found"

Response 409

Body

Media type: text/plain

Type: any

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/matchProfiles/{id}

Retrieve matchProfile item with given {matchProfileId}

GET /data-import-profiles/matchProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "entityType": {
      "description": "Entity type",
      "type": "string"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "$ref": "../common/dataType.json"
    },
    "existingRecordType": {
      "description": "Existing record type to match",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "incomingDataValueType": {
      "description": "Incoming data value type",
      "type": "string",
      "enum": [
        "VALUE_FROM_INCOMING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "field": {
      "description": "Only if incomingDataValueType = VALUE_FROM_INCOMING_RECORD only including options for MARC incoming records for now",
      "type": "string"
    },
    "incomingIndicator1": {
      "description": "Indicator 1",
      "type": "string"
    },
    "incomingIndicator2": {
      "description": "Indicator 2",
      "type": "string"
    },
    "incomingRecordSubfield": {
      "description": "incomingRecordSubfield",
      "type": "string"
    },
    "incomingStaticValueType": {
      "description": "Static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "incomingText": {
      "description": "Only if incomingStaticValueType = TEXT",
      "type": "string"
    },
    "incomingNumber": {
      "description": "Only if incomingStaticValueType = NUMBER",
      "type": "number"
    },
    "incomingDateType": {
      "description": "Only if incomingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "incomingFromDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingToDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "incomingDate": {
      "description": "Only if incomingStaticValueType = DATE and incomingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "incomingInclude": {
      "description": "incomingInclude",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "incomingHowMuch": {
      "description": "incoming how much",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "matchingCriteria": {
      "description": "Matching criteria",
      "type": "string",
      "enum": [
        "EXACTLY_MATCHES",
        "CONTAINS",
        "BEGINS_WITH",
        "ENDS_WITH"
      ]
    },
    "existingDataValueType": {
      "description": "Existing data value type",
      "type": "string",
      "enum": [
        "VALUE_IN_EXISTING_RECORD",
        "STATIC_VALUE"
      ]
    },
    "fieldMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType = one of the MARC formats",
      "type": "string"
    },
    "existingIndicator1": {
      "description": "existing record indicator 1",
      "type": "string"
    },
    "existingIndicator2": {
      "description": "existing record indicator 2",
      "type": "string"
    },
    "existingRecordSubfield": {
      "description": "existing record subfield",
      "type": "string"
    },
    "fieldNonMarc": {
      "description": "Only if existingDataValueType = VALUE_IN_EXISTING_RECORD and existingRecordType is NOT one of the MARC formats Acceptable values: list of FOLIO fields for whichever record types is chosen as the existing record type",
      "type": "string",
      "enum": [
        "PO_LINE_NUMBER",
        "ISBN",
        "INSTANCE_HRID",
        "LOCATION_CODE",
        "VENDOR_INVOICE_NUMBER",
        "ITEM_BARCODE"
      ]
    },
    "existingStaticValueType": {
      "description": "existing static value type",
      "type": "string",
      "$ref": "staticValueType.json"
    },
    "existingText": {
      "description": "Only if existingStaticValueType = TEXT",
      "type": "string"
    },
    "existingNumber": {
      "description": "Only if existingStaticValueType = NUMBER",
      "type": "number"
    },
    "existingDateType": {
      "description": "Only if existingStaticValueType = DATE",
      "type": "string",
      "$ref": "dateType.json"
    },
    "existingFromDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingToDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = RANGE",
      "type": "string",
      "format": "date-time"
    },
    "existingDate": {
      "description": "Only if existingStaticValueType = DATE and existingDateType = EXACT_DATE",
      "type": "string",
      "format": "date-time"
    },
    "existingInclude": {
      "description": "include",
      "type": "string",
      "$ref": "inclusionType.json"
    },
    "existingHowMuch": {
      "description": "existingHowMuch",
      "type": "string",
      "$ref": "matchingDegreeType.json"
    },
    "booleanOperation": {
      "description": "Used to add sub-matches to an existing match profile",
      "type": "string",
      "enum": [
        "AND",
        "AND NOT",
        "OR"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Match Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Match Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "existingRecordType",
    "incomingDataValueType"
  ]
}

Example:

{
  "id": "1kl9m60r-fvb7-45n0-23c0-13n8gbkl7091",
  "name": "POL-MARC",
  "description": "Use for POL in 990 p",
  "tags": {
    "tagList": [
      "pol"
    ]
  },
  "entityType": "INVENTORY_ITEM",
  "incomingRecordType": "MARC",
  "existingRecordType": "ORDER",
  "incomingDataValueType": "VALUE_FROM_INCOMING_RECORD",
  "field": "990",
  "incomingIndicator1": " ",
  "incomingIndicator2": " ",
  "incomingRecordSubfield": "p",
  "incomingText": "",
  "incomingNumber": "",
  "incomingFromDate": "",
  "incomingToDate": "",
  "incomingDate": "",
  "incomingInclude": "MATCH_ON",
  "incomingHowMuch": "COMPLETE_STRING",
  "matchingCriteria": "EXACTLY_MATCHES",
  "existingDataValueType": "VALUE_IN_EXISTING_RECORD",
  "fieldMarc": "",
  "existingIndicator1": "",
  "existingIndicator2": "",
  "existingRecordSubfield": "",
  "fieldNonMarc": "PO_LINE_NUMBER",
  "existingText": "",
  "existingNumber": "",
  "existingFromDate": "",
  "existingToDate": "",
  "existingDate": "",
  "existingInclude": "MATCH_ON",
  "existingHowMuch": "COMPLETE_STRING",
  "deleted": false,
  "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"
  }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"matchProfile not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /data-import-profiles/mappingProfiles

Create a new mappingProfile item.

POST /data-import-profiles/mappingProfiles
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Mapping Profile name",
      "type": "string"
    },
    "description": {
      "description": "Mapping Profile description",
      "type": "string"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "enum": [
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY",
        "EDIFACT_INVOICE",
        "DELIMITED"
      ]
    },
    "folioRecord": {
      "description": "FOLIO record type to mapping",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Mapping Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Mapping Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "folioRecord"
  ]
}

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",
  "folioRecord": "INSTANCE",
  "deleted": false,
  "userInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "userName": "@janedoe"
  },
  "metadata": {
      "createdDate": "2019-01-01T11:550:09Z",
      "createdByUserId": "",
      "createdByUsername": "",
      "updatedDate": "2019-01-12T14:21:11Z",
      "updatedByUserId": "",
      "updatedByUsername": ""
    }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created mappingProfile item

Body

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",
  "folioRecord": "INSTANCE",
  "deleted": false,
  "userInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "userName": "@janedoe"
  },
  "metadata": {
      "createdDate": "2019-01-01T11:550:09Z",
      "createdByUserId": "",
      "createdByUsername": "",
      "updatedDate": "2019-01-12T14:21:11Z",
      "updatedByUserId": "",
      "updatedByUsername": ""
    }
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to add mappingProfile -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create mappingProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/mappingProfiles

Retrieve a list of mappingProfile items.

GET /data-import-profiles/mappingProfiles
Query Parameters
  • showDeleted: (boolean - default: false)

    selection condition of Mapping Profiles by field 'deleted'

    Example:

    false
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of mappingProfile items

Body

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",
      "folioRecord": "INSTANCE",
      "deleted": false,
      "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
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

unable to list mappingProfiles -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list mappingProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /data-import-profiles/mappingProfiles/{id}

Update mappingProfile item with given {mappingProfileId}

PUT /data-import-profiles/mappingProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Mapping Profile name",
      "type": "string"
    },
    "description": {
      "description": "Mapping Profile description",
      "type": "string"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "enum": [
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY",
        "EDIFACT_INVOICE",
        "DELIMITED"
      ]
    },
    "folioRecord": {
      "description": "FOLIO record type to mapping",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Mapping Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Mapping Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "folioRecord"
  ]
}

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",
  "folioRecord": "INSTANCE",
  "deleted": false,
  "userInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "userName": "@janedoe"
  },
  "metadata": {
      "createdDate": "2019-01-01T11:550:09Z",
      "createdByUserId": "",
      "createdByUsername": "",
      "updatedDate": "2019-01-12T14:21:11Z",
      "updatedByUserId": "",
      "updatedByUsername": ""
    }
}

Response 200

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Mapping Profile name",
      "type": "string"
    },
    "description": {
      "description": "Mapping Profile description",
      "type": "string"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "enum": [
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY",
        "EDIFACT_INVOICE",
        "DELIMITED"
      ]
    },
    "folioRecord": {
      "description": "FOLIO record type to mapping",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Mapping Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Mapping Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "folioRecord"
  ]
}

Response 204

Item successfully updated

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to update mappingProfile -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"mappingProfile not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /data-import-profiles/mappingProfiles/{id}

Delete mappingProfile item with given {mappingProfileId}

DELETE /data-import-profiles/mappingProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to delete mappingProfile -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"mappingProfile not found"

Response 409

Body

Media type: text/plain

Type: any

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/mappingProfiles/{id}

Retrieve mappingProfile item with given {mappingProfileId}

GET /data-import-profiles/mappingProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

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",
      "type": "string"
    },
    "name": {
      "description": "Mapping Profile name",
      "type": "string"
    },
    "description": {
      "description": "Mapping Profile description",
      "type": "string"
    },
    "tags": {
      "description": "Set of tags assigned to the current Job Profile",
      "type": "object",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "incomingRecordType": {
      "description": "Incoming record type",
      "type": "string",
      "enum": [
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY",
        "EDIFACT_INVOICE",
        "DELIMITED"
      ]
    },
    "folioRecord": {
      "description": "FOLIO record type to mapping",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Mapping Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Mapping Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "incomingRecordType",
    "folioRecord"
  ]
}

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",
  "folioRecord": "INSTANCE",
  "deleted": false,
  "userInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "userName": "@janedoe"
  },
  "metadata": {
      "createdDate": "2019-01-01T11:550:09Z",
      "createdByUserId": "",
      "createdByUsername": "",
      "updatedDate": "2019-01-12T14:21:11Z",
      "updatedByUserId": "",
      "updatedByUsername": ""
    }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"mappingProfile not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /data-import-profiles/actionProfiles

Create a new actionProfile item.

POST /data-import-profiles/actionProfiles
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "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. COMBINE allowed for Inventory, MARC, Invoice records only. REPLACE allowed for Inventory and MARC records only. DELETE allowed for all records types. MODIFY allowed for MARC records only",
      "type": "string",
      "enum": [
        "CREATE",
        "COMBINE",
        "REPLACE",
        "DELETE",
        "MODIFY"
      ]
    },
    "folioRecord": {
      "description": "Record type",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Action Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Action Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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",
  "deleted": false,
  "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": ""
  }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created actionProfile item

Body

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",
  "deleted": false,
  "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": ""
  }
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to add actionProfile -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create actionProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/actionProfiles

Retrieve a list of actionProfile items.

GET /data-import-profiles/actionProfiles
Query Parameters
  • showDeleted: (boolean - default: false)

    selection condition of Action Profiles by field 'deleted'

    Example:

    false
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of actionProfile items

Body

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",
      "deleted": false,
      "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
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

unable to list actionProfiles -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list actionProfiles -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /data-import-profiles/actionProfiles/{id}

Update actionProfile item with given {actionProfileId}

PUT /data-import-profiles/actionProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "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. COMBINE allowed for Inventory, MARC, Invoice records only. REPLACE allowed for Inventory and MARC records only. DELETE allowed for all records types. MODIFY allowed for MARC records only",
      "type": "string",
      "enum": [
        "CREATE",
        "COMBINE",
        "REPLACE",
        "DELETE",
        "MODIFY"
      ]
    },
    "folioRecord": {
      "description": "Record type",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Action Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Action Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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",
  "deleted": false,
  "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": ""
  }
}

Response 200

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "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. COMBINE allowed for Inventory, MARC, Invoice records only. REPLACE allowed for Inventory and MARC records only. DELETE allowed for all records types. MODIFY allowed for MARC records only",
      "type": "string",
      "enum": [
        "CREATE",
        "COMBINE",
        "REPLACE",
        "DELETE",
        "MODIFY"
      ]
    },
    "folioRecord": {
      "description": "Record type",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Action Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Action Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "name",
    "action",
    "folioRecord"
  ]
}

Response 204

Item successfully updated

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to update actionProfile -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"actionProfile not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /data-import-profiles/actionProfiles/{id}

Delete actionProfile item with given {actionProfileId}

DELETE /data-import-profiles/actionProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to delete actionProfile -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"actionProfile not found"

Response 409

Body

Media type: text/plain

Type: any

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/actionProfiles/{id}

Retrieve actionProfile item with given {actionProfileId}

GET /data-import-profiles/actionProfiles/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

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",
      "type": "string"
    },
    "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",
      "$ref": "../../raml-util/schemas/tags.schema"
    },
    "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. COMBINE allowed for Inventory, MARC, Invoice records only. REPLACE allowed for Inventory and MARC records only. DELETE allowed for all records types. MODIFY allowed for MARC records only",
      "type": "string",
      "enum": [
        "CREATE",
        "COMBINE",
        "REPLACE",
        "DELETE",
        "MODIFY"
      ]
    },
    "folioRecord": {
      "description": "Record type",
      "type": "string",
      "enum": [
        "INSTANCE",
        "HOLDINGS",
        "ITEM",
        "ORDER",
        "INVOICE",
        "MARC_BIBLIOGRAPHIC",
        "MARC_HOLDINGS",
        "MARC_AUTHORITY"
      ]
    },
    "deleted": {
      "description": "Flag indicates that the Action Profile marked as deleted",
      "type": "boolean",
      "default": false
    },
    "userInfo": {
      "description": "First name, last name and username of the user, who updated the Action Profile",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "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",
  "deleted": false,
  "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": ""
  }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"actionProfile not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /data-import-profiles/profileAssociations

Create a new profileAssociation item.

POST /data-import-profiles/profileAssociations
Query Parameters
  • master: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE
  • detail: required (string)

    It needs to identify master profile type in association

    Example:

    ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "masterProfileId": {
      "description": "Unique identifier of the 'master' profile",
      "type": "string"
    },
    "detailProfileId": {
      "description": "Unique identifier of the 'detail' profile",
      "type": "string"
    },
    "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
    },
    "triggered": {
      "description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
      "type": "boolean",
      "default": "false"
    }
  },
  "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"
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created profileAssociation item

Body

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

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to add profileAssociation -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create profileAssociations -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/profileAssociations

Retrieve a list of profileAssociation items.

GET /data-import-profiles/profileAssociations
Query Parameters
  • master: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE
  • detail: required (string)

    It needs to identify master profile type in association

    Example:

    ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of profileAssociation items

Body

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",
        "$ref": "profileAssociation.json"
      }
    },
    "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
}

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

unable to list profileAssociations -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list profileAssociations -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

GET /data-import-profiles/profileAssociations/{id}

Retrieve profileAssociation item with given {profileAssociationId}

GET /data-import-profiles/profileAssociations/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • master: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE
  • detail: required (string)

    It needs to identify master profile type in association

    Example:

    ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

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",
      "type": "string"
    },
    "masterProfileId": {
      "description": "Unique identifier of the 'master' profile",
      "type": "string"
    },
    "detailProfileId": {
      "description": "Unique identifier of the 'detail' profile",
      "type": "string"
    },
    "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
    },
    "triggered": {
      "description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
      "type": "boolean",
      "default": "false"
    }
  },
  "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"
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"profileAssociation not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /data-import-profiles/profileAssociations/{id}

Update profileAssociation item with given {profileAssociationId}

PUT /data-import-profiles/profileAssociations/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • master: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE
  • detail: required (string)

    It needs to identify master profile type in association

    Example:

    ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

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",
      "type": "string"
    },
    "masterProfileId": {
      "description": "Unique identifier of the 'master' profile",
      "type": "string"
    },
    "detailProfileId": {
      "description": "Unique identifier of the 'detail' profile",
      "type": "string"
    },
    "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
    },
    "triggered": {
      "description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
      "type": "boolean",
      "default": "false"
    }
  },
  "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"
}

Response 200

Body

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",
      "type": "string"
    },
    "masterProfileId": {
      "description": "Unique identifier of the 'master' profile",
      "type": "string"
    },
    "detailProfileId": {
      "description": "Unique identifier of the 'detail' profile",
      "type": "string"
    },
    "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
    },
    "triggered": {
      "description": "Boolean flag identifies if the 'detail' profile has triggered by the 'master' profile",
      "type": "boolean",
      "default": "false"
    }
  },
  "required": [
    "masterProfileId",
    "detailProfileId",
    "order"
  ]
}

Response 204

Item successfully updated

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to update profileAssociation -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"profileAssociation not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /data-import-profiles/profileAssociations/{id}

Delete profileAssociation item with given {profileAssociationId}

DELETE /data-import-profiles/profileAssociations/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • master: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • detail: required (string)

    It needs to identify master profile type in association

    Example:

    JOB_PROFILE, ACTION_PROFILE, MAPPING_PROFILE, MATCH_PROFILE
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Body

Media type: text/plain

Type: any

Response 400

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.

Body

Media type: text/plain

Type: any

Example:

"unable to delete profileAssociation -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"profileAssociation not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /data-import-profiles/profileAssociations/{id}/details

GET /data-import-profiles/profileAssociations/{id}/details
URI Parameters
  • id: required (string)
Query Parameters
  • masterType: required (string)

    It needs to identify master profile type for an id

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE
  • detailType: (string)

    It 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_PROFILE
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "This schema describes Job Profile snapshot entity",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "Unique identifier",
      "type": "string"
    },
    "contentType": {
      "description": "Type of the content",
      "type": "string",
      "$ref": "profileSnapshotType.json"
    },
    "content": {
      "description": "Profile content (plain Object)"
    },
    "childSnapshotWrappers": {
      "description": "Set of children profile snapshots",
      "type": "array",
      "items": {
        "$ref": "profileSnapshotWrapper.json"
      }
    }
  },
  "required": [
    "contentType",
    "content"
  ],
  "excludedFromEqualsAndHashCode": [
    "content"
  ]
}

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

GET /data-import-profiles/profileAssociations/{id}/masters

GET /data-import-profiles/profileAssociations/{id}/masters
URI Parameters
  • id: required (string)
Query Parameters
  • detailType: required (string)

    Type of detail profile

    Example:

    JOB_PROFILE, ACTION_PROFILE, MATCH_PROFILE, MAPPING_PROFILE
  • masterType: (string)

    It 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_PROFILE
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    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
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "This schema describes Job Profile snapshot entity",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "Unique identifier",
      "type": "string"
    },
    "contentType": {
      "description": "Type of the content",
      "type": "string",
      "$ref": "profileSnapshotType.json"
    },
    "content": {
      "description": "Profile content (plain Object)"
    },
    "childSnapshotWrappers": {
      "description": "Set of children profile snapshots",
      "type": "array",
      "items": {
        "$ref": "profileSnapshotWrapper.json"
      }
    }
  },
  "required": [
    "contentType",
    "content"
  ],
  "excludedFromEqualsAndHashCode": [
    "content"
  ]
}

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

GET /data-import-profiles/jobProfileSnapshots/{id}

Method to get Job Profile Snapshot by id

GET /data-import-profiles/jobProfileSnapshots/{id}
URI Parameters
  • id: required (string)

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "This schema describes Job Profile snapshot entity",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "Unique identifier",
      "type": "string"
    },
    "contentType": {
      "description": "Type of the content",
      "type": "string",
      "$ref": "profileSnapshotType.json"
    },
    "content": {
      "description": "Profile content (plain Object)"
    },
    "childSnapshotWrappers": {
      "description": "Set of children profile snapshots",
      "type": "array",
      "items": {
        "$ref": "profileSnapshotWrapper.json"
      }
    }
  },
  "required": [
    "contentType",
    "content"
  ],
  "excludedFromEqualsAndHashCode": [
    "content"
  ]
}

POST /data-import-profiles/jobProfileSnapshots/{id}

Method to create Job Profile Snapshot by Job Profile id

POST /data-import-profiles/jobProfileSnapshots/{id}
URI Parameters
  • id: required (string)

Response 201

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "This schema describes Job Profile snapshot entity",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "Unique identifier",
      "type": "string"
    },
    "contentType": {
      "description": "Type of the content",
      "type": "string",
      "$ref": "profileSnapshotType.json"
    },
    "content": {
      "description": "Profile content (plain Object)"
    },
    "childSnapshotWrappers": {
      "description": "Set of children profile snapshots",
      "type": "array",
      "items": {
        "$ref": "profileSnapshotWrapper.json"
      }
    }
  },
  "required": [
    "contentType",
    "content"
  ],
  "excludedFromEqualsAndHashCode": [
    "content"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /data-import-profiles/entityTypes

Get a list of entity types

GET /data-import-profiles/entityTypes

Response 200

Body

Media 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"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error