Add or Update Authority Record

Start Add or Update Authority Record Process

POST /api/.../workflow

This method allows the caller to add a new authority record or update an existing authority record. When used for update, if the MARC21 collection is not passed in, a provisional record will be re-saved as a final record.

It is also possible to delete the authority record by passing in a LDR/05 value of 's' or 'x'.

The API will load the existing authority record and update.

Request Information

Parameters
Name Type Required Description
WorkflowRequest DtoWorkflowRequest Yes Define this parameter in the request body.
DtoWorkflowRequest
Property Type Nullable Description
WorkflowRequestType Int No Required. For add or update authority record, this must be set to 35.
TxnBranchID Int No Transacting branch ID.
TxnUserID Int No Transacting Polaris user ID.
TxnWorkstationID Int No Transacting workstation ID.
RequestExtension DtoWorkflowRequestExtension No An update authority record request requires a DtoAddOrUpdateAuthorityRecordExtensionData object.
WorkflowReplies List of DtoWorkflowReply Yes It is possible to pass in a list of replies for automated processing.
DtoWorkflowRequestExtension
Property Type Nullable Description
WorkflowRequestExtensionType Int No For an add or update authority record request, the extension type must be a 32 (AddOrUpdateAuthorityRecordData).
Data Object No This must be an extension data object of type DtoAddOrUpdateAuthorityRecordExtensionData
DtoAddOrUpdateAuthorityRecordExtensionData
Property Type Nullable Required Description
AuthorityRecordIDIntNoNoAuthority record ID. Only required if updating an existing authority record.
IsTemplateBooleanNoYesIs this a authority template record? Default: false
IsNewRecordBooleanNoYesIs this a new authority record? Default: false
RecordStatusIDIntNoNo
MARC21CollectionMARC21CollectionNoNo

Example: Add new authority record

Request body
application/json, text/json
{
  "WorkflowRequestType":35,
  "TxnBranchID":"3",
  "TxnUserID":"1",
  "TxnWorkstationID":"1242",
  "WorkflowReplies":null,
  "RequestExtension":{
    "WorkflowRequestExtensionType":32,
      "Data":{
        "AuthorityRecordID":0,
        "IsTemplate":false,
        "IsNewRecord":true,
        "RecordStatusID":1,
        "MARC21Collection": {
        "records": [
          {
            "id": 0,
            "leader": "     nz   22     o  4500",
            "controlfields": [
              {
                "tag": "003",
                "data": "PolarisTest 01",
                "position": 2
              },
              {
                "tag": "008",
                "data": "890306n| azannaabn          |b aaa      ",
                "position": 4
              }
            ],
            "datafields": [
              {
                "tag": "040",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "AMS"
                  },
				  {
                    "code": "c",
                    "data": "AMS"
                  }
                ],
                "position": 5
              },
			  {
                "tag": "150",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "Polaris Test Subject Heading"
                  }
                ],
                "position": 6
              },
			  {
                "tag": "667",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "Polaris system generated authority record"
                  }
                ],
                "position": 7
              }
            ]
          }
        ]
      }
    }
  }
}
Response Information
Example: DtoWorkflowAnswer - The authority record has been added.
application/json, text/json
{
  "WorkflowRequestGuid": "00000000-0000-0000-0000-000000000000",
  "WorkflowRequestType": 35,
  "WorkflowStatus": 1,
  "Prompt": null,
  "InformationMessages": [
    {
      "Type": 1,
      "Title": "",
      "Message": "The authority record has been added."
    }
  ],
  "AnswerExtension": {
    "WorkflowAnswerExtensionType": 13,
    "Data": {
      "AuthorityRecordID": 925313
    }
  },
  "CircTranType": 0,
  "ReceiptType": 0,
  "ReceiptUrl": "",
  "FineEReceiptSent": false
}

Example: Update a provisional record to final

Request body
application/json, text/json
{
    "WorkflowRequestType":35,
    "TxnBranchID":"3",
    "TxnUserID":"1",
    "TxnWorkstationID":"1242",
    "WorkflowReplies":null,
    "RequestExtension":{
        "WorkflowRequestExtensionType":32,
        "Data":{
            "AuthorityRecordID":"1126739",
            "IsTemplate":false,
            "IsNewRecord":false,
            "RecordStatusID":1,
            "MARC21Collection":null
        }
    }
}
Response Information
Example: DtoWorkflowAnswer - The authority record has been updated.
application/json, text/json
{
  "WorkflowRequestGuid": "00000000-0000-0000-0000-000000000000",
  "WorkflowRequestType": 35,
  "WorkflowStatus": 1,
  "Prompt": null,
  "InformationMessages": [
    {
      "Type": 1,
      "Title": "",
      "Message": "The authority record has been updated."
    }
  ],
  "AnswerExtension": null,
  "CircTranType": 0,
  "ReceiptType": 0,
  "ReceiptUrl": "",
  "FineEReceiptSent": false
}

Example: Update marc data

Request body
application/json, text/json
{
  "WorkflowRequestType":35,
  "TxnBranchID":"3",
  "TxnUserID":"1",
  "TxnWorkstationID":"1242",
  "WorkflowReplies":null,
  "RequestExtension":{
    "WorkflowRequestExtensionType":32,
      "Data":{
        "AuthorityRecordID":925311,
        "IsTemplate":false,
        "IsNewRecord":false,
        "RecordStatusID":1,
        "MARC21Collection": {
        "records": [
          {
            "id": 0,
            "leader": "     nz   22     o  4500",
            "controlfields": [
              {
                "tag": "003",
                "data": "PolarisTest 01",
                "position": 2
              },
              {
                "tag": "008",
                "data": "890306n|eabannaa|n           n ann    |d",
                "position": 4
              }
            ],
            "datafields": [
              {
                "tag": "040",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "AMS"
                  },
				  {
                    "code": "c",
                    "data": "AMS"
                  }
                ],
                "position": 5
              },
			  {
                "tag": "150",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "Polaris Test Subject Heading E - Modified"
                  }
                ],
                "position": 6
              },
			  {
                "tag": "667",
                "ind1": " ",
                "ind2": " ",
                "subfields": [
                  {
                    "code": "a",
                    "data": "Polaris system generated authority record"
                  }
                ],
                "position": 7
              }
            ]
          }
        ]
      }
    }
  }
}
Response Information
Example: DtoWorkflowAnswer - The authority record has been updated.
application/json, text/json
{
  "WorkflowRequestGuid": "00000000-0000-0000-0000-000000000000",
  "WorkflowRequestType": 35,
  "WorkflowStatus": 1,
  "Prompt": null,
  "InformationMessages": [
    {
      "Type": 1,
      "Title": "",
      "Message": "The authority record has been updated."
    }
  ],
  "AnswerExtension": null,
  "CircTranType": 0,
  "ReceiptType": 0,
  "ReceiptUrl": "",
  "FineEReceiptSent": false
}

Possible Responses

Example: DtoWorkflowAnswer - MARC validation structure and required fields
application/json, text/json
{
  "WorkflowRequestGuid": "ff18c283-2312-40cd-aacb-9d1c58ae68eb",
  "WorkflowRequestType": 35,
  "WorkflowStatus": -3,
  "Prompt": {
    "WorkflowPromptID": 143,
    "Name": null,
    "Description": null,
    "WorkflowPromptType": 53,
    "WorkflowPromptOptions": 8,
    "DefaultPromptOption": 1,
    "Title": "MARC Validation Results",
    "Message": "Leader is not the correct length of 24
", "AlternateMessage": "The authority record cannot be saved with the following errors.", "AlternateYesText": "", "AlternateNoText": "", "AlternateCancelText": "", "AlternateContinueText": "", "PromptExtension": null }, "InformationMessages": [], "AnswerExtension": null, "CircTranType": 0, "ReceiptType": 0, "ReceiptUrl": "", "FineEReceiptSent": false }
Example: DtoWorkflowAnswer - Duplicate Detection
application/json, text/json
{
  "WorkflowRequestGuid": "250989b2-6b49-4309-bba8-fa33e92c4614",
  "WorkflowRequestType": 35,
  "WorkflowStatus": -3,
  "Prompt": {
    "WorkflowPromptID": 142,
    "Name": null,
    "Description": null,
    "WorkflowPromptType": 52,
    "WorkflowPromptOptions": 2,
    "DefaultPromptOption": 3,
    "Title": "Check For Duplicates Results",
    "Message": "This record appears to be a duplicate of existing records:",
    "AlternateMessage": "",
    "AlternateYesText": "Replace",
    "AlternateNoText": "Continue",
    "AlternateCancelText": "",
    "AlternateContinueText": "",
    "PromptExtension": {
      "WorkflowPromptExtensionType": 47,
      "Data": {
        "AuthorityRecordID": 925310,
        "LaunchedFromSavingRecord": true,
        "DuplicateErrors": [
          {
            "ErrorText": "925311",
            "ErrorType": 10,
            "ObjectType": 0,
            "ObjectID": 0,
            "RecordID": 925311,
            "OwnerID": 0,
            "OwnerName": "",
            "Reason": "Heading/Thesaurus",
            "Author": "",
            "Title": "",
            "FormatID": 0,
            "FormatDescription": "",
            "RecordStatusID": null,
            "LinkedRecordCount": 0,
            "DoNotOverlay": false
          }
        ]
      }
    }
  },
  "InformationMessages": [],
  "AnswerExtension": null,
  "CircTranType": 0,
  "ReceiptType": 0,
  "ReceiptUrl": "",
  "FineEReceiptSent": false
}
Reply options for the duplicate records prompt are:
  • Yes - 2 (Replace)
  • No - 3 (Continue)
  • Cancel - 4 (Cancel)
If replace records (Yes=2) is selected, the ReplaceRecordsReplyData (WorkflowReplyExtensionType=18) object is used in the reply extension:
application/json, text/json
{
    "WorkflowPromptID": 87,
    "WorkflowPromptResult": 2,
    "ReplyValue": null,
    "ReplyExtension": {
        "WorkflowReplyExtensionType": 18,
        "Data": {
            "RecordToMaintainID": 0,
            "RecordIDs": [925311]
        }
    }
}

'RecordToMaintainID' is not used when adding or updating authority records.


Example: DtoWorkflowAnswer - Check for Linked Records
application/json, text/json
{
	"WorkflowRequestGuid": "0888d9ea-103e-4e6d-9bfb-3b03b38dd86e",
	"WorkflowRequestType": 35,
	"WorkflowStatus": -3,
	"Prompt": {
		"WorkflowPromptID": 145,
		"Name": null,
		"Description": null,
		"WorkflowPromptType": 54,
		"WorkflowPromptOptions": 6,
		"DefaultPromptOption": 0,
		"Title": "Manage Linked Records",
		"Message": "The heading data or usage has changed for this authority record and links need to be reprocessed.",
		"AlternateMessage": "",
		"AlternateYesText": "",
		"AlternateNoText": "",
		"AlternateCancelText": "",
		"AlternateContinueText": "",
		"PromptExtension": {
			"WorkflowPromptExtensionType": 48,
			"Data": {
				"BibHeading": "4 Bibliographic heading(s) will be affected by this change.",
				"SeeAlsoHeading": "1 See also reference(s) will be affected by this change.",
				"BibModifyHeadingsEnabled": true,
				"BibDeleteHeadingsEnabled": true,
				"BibUnlinkHeadingsEnabled": true,
				"SeeAlsoModifyHeadingsEnabled": true,
				"SeeAlsoDeleteHeadingsEnabled": true,
				"SeeAlsoUnlinkHeadingsEnabled": true,
				"BibUnlinkReasons": [
					{
						"Reason": "No headings have to be unlinked",
						"Count": "-"
					}
				],
				"SeeAlsoUnlinkReasons": [
					{
						"Reason": "No references have to be unlinked.",
						"Count": "-"
					}
				]
			}
		}
	},
	"InformationMessages": [],
	"AnswerExtension": null,
	"CircTranType": 0,
	"ReceiptType": 0,
	"ReceiptUrl": "",
	"FineEReceiptSent": false
}
Check for Linked Records reply.
  • Example DtoWorkflowReply:
    "ReplyExtension": {
        "WorkflowReplyExtensionType": 17,
        "Data": {
            "BibOption": 0,
            "SeeAlsoOption": 0        
        }
    }
    BibOption and SeeAlsoOption values:
    -1 - Not applicable
    0 - Modify heading
    1 - Remove heading
    2 - Unlink heading

HTTP Response Codes

Code Description
200 OK. Success

Required Permissions

Permission IDs found here.

    AccessCatalogingSubsystem_Allow
    AuthorityRecords_Access
    AuthorityRecords_Create - If adding a record
    AuthorityRecords_Modify - If deleting a record
    AuthorityRecords_Modify