Check Headings Assistant

Start Check Headings Assistant Process

POST /api/.../workflow

This method allows the caller to check headings for an existing bibliographic record. It returns a list of problematic headings if any problems are found. It will create authority records per solutions provided by the caller.

Request Information

Name Type Required Description
WorkflowRequest DtoWorkflowRequest Yes Define this parameter in the request body.
DtoWorkflowRequest
Property Type Nullable Description
WorkflowRequestType Int No Required. Must set to 38 (CheckHeadingsAssistant).
TxnBranchID Int No Transacting branch ID.
TxnUserID Int No Transacting Polaris user ID.
TxnWorkstationID Int No Transacting workstation ID.
RequestExtension DtoWorkflowRequestExtension No An update bibliographic record request requires a DtoAddOrUpdateBibRecordExtensionData 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 The extension type must be a 12 (AddOrUpdateBibRecordData)
Data Object No The extension data object type must be DtoAddOrUpdateBibRecordExtensionData

See DtoAddOrUpdateBibRecordExtensionData for detail.

Example

Request body
application/json, text/json
    {
        "WorkflowRequestType": 38,
        "TxnBranchID": "90",
        "TxnUserID": "1018",
        "TxnWorkstationID": "1164",
        "WorkflowReplies": null,
        "RequestExtension": {
            "WorkflowRequestExtensionType": 12,
            "Data": {
                "BibRecordID": "1402098",
                "IsTemplate": false,
                "IsNewRecord": false,
                "DisplayInPAC": true,
                "DoNotOverlay": false,
                "RecordOwnerID": "1",
                "RecordStatusID": 1,
                "MARC21Collection": {
                    "records": [
                        "Record": {
                            "leader": "     cam 222     i 44500",
                            "controlfields": [
                                {
                                    "tag": "001",
                                    "data": "1400752",
                                    "position": 1,
                                    "type": "CF"
                                },
                            ],
                            "datafields": [
                                {
                                    "tag": "010",
                                    "ind1": " ",
                                    "ind2": " ",
                                    "subfields": [
                                        {
                                            "code": "a",
                                            "data": "2019018578"
                                        }
                                    ],
                                    "position": 5,
                                    "type": "DF"
                                },
                                {
                                    "tag": "100",
                                    "ind1": "1",
                                    "ind2": " ",
                                    "subfields": [
                                        {
                                            "code": "a",
                                            "data": "Landau, Elaine."
                                        }
                                    ],
                                    "position": 5,
                                    "type": "DF"
                                },
                            ]
                        }
                    ]
                }
            }
        }
    }
    
Response Information
<== Answer from server - If no problems were found
                {
                  "WorkflowRequestGuid": "00000000-0000-0000-0000-000000000000",
                  "WorkflowRequestType": 38,
                  "WorkflowStatus": 1,
                  "Prompt": null,
                  "InformationMessages": [
                    {
                      "Type": 1,
                      "Title": "",
                      "Message": "No heading problems were found."
                    }
                  ],
                  "AnswerExtension": null,
                  "CircTranType": 0,
                  "ReceiptType": 0,
                  "ReceiptUrl": "",
                  "FineEReceiptSent": false,
                  "ErrorCode": null
                }
                
<== Answer from server - If headings with problems were found
Server would like caller to prompt for more input. Display information is provided.
                {
                  "WorkflowRequestGuid": "ae56e49b-084b-423e-b533-ea34c68becaa",
                  "WorkflowRequestType": 38,
                  "WorkflowStatus": -3,
                  "Prompt": {
                    "WorkflowPromptID": 85,
                    "Name": null,
                    "Description": null,
                    "WorkflowPromptType": 24,
                    "WorkflowPromptOptions": 6,
                    "DefaultPromptOption": 0,
                    "Title": "Check Headings Assistant",
                    "Message": "The bibliographic headings with no exact authority matches are listed below.",
                    "AlternateMessage": "",
                    "AlternateYesText": "",
                    "AlternateNoText": "",
                    "AlternateCancelText": "",
                    "AlternateContinueText": "",
                    "PromptExtension": {
                      "WorkflowPromptExtensionType": 28,
                      "Data": {
                        "Errors": [
                          {
                            "ErrorText": "100 1  ‡aPAS API Tester",
                            "ErrorType": 8,
                            "Tag": {
                              "TagID": 0,
                              "SequenceNumber": 0,
                              "TagNumber": 100,
                              "IndicatorOne": "1",
                              "IndicatorTwo": " ",
                              "Subfields": [
                                {
                                  "BibliographicSubfieldID": 0,
                                  "SequenceNumber": 0,
                                  "SubfieldDesignator": "a",
                                  "Data": "PAS API Tester",
                                  "AuthorizingRecordID": null,
                                  "NumberOfNonFilingCharacters": 0,
                                  "Status": 3
                                }
                              ],
                              "AssociatedAuthorityRecordID": 0,
                              "EffectiveTagNumber": 0,
                              "TagStatus": 0,
                              "BulkAddReportTag": null
                            },
                            "TagIndex": 7,
                            "AssociatedRecordID": 0,
                            "AssociatedObjectID": 0,
                            "AssociatedObjectType": 0,
                            "AuthorityControlError": 1,
                            "ValidationError": 0,
                            "DisplayText": "Leave heading unlinked"
                          }
                        ],
                        "Warnings": [
                          {
                            "ErrorText": "130    ‡aLandau, Elaine",
                            "ErrorType": 0,
                            "Tag": {
                              "TagID": 0,
                              "SequenceNumber": 0,
                              "TagNumber": 130,
                              "IndicatorOne": " ",
                              "IndicatorTwo": " ",
                              "Subfields": [
                                {
                                  "BibliographicSubfieldID": 0,
                                  "SequenceNumber": 0,
                                  "SubfieldDesignator": "a",
                                  "Data": "Landau, Elaine",
                                  "AuthorizingRecordID": null,
                                  "NumberOfNonFilingCharacters": 0,
                                  "Status": 3
                                }
                              ],
                              "AssociatedAuthorityRecordID": 0,
                              "EffectiveTagNumber": 0,
                              "TagStatus": 0,
                              "BulkAddReportTag": null
                            },
                            "TagIndex": 10,
                            "AssociatedRecordID": 0,
                            "AssociatedObjectID": 0,
                            "AssociatedObjectType": 0,
                            "AuthorityControlError": 17,
                            "ValidationError": 0,
                            "DisplayText": "Indicator one value"
                          }
                        ],
                        "Tags": [
                          {
                            "TagID": 0,
                            "SequenceNumber": 0,
                            "TagNumber": 0,
                            "IndicatorOne": "\u0000",
                            "IndicatorTwo": "\u0000",
                            "Subfields": [
                              {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "\u0000",
                                "Data": "     cam  22        4500",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": 0
                              }
                            ],
                            "AssociatedAuthorityRecordID": 0,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null
                          },
                          ...
                        ],
                        "AuthorityControlErrors": [
                          {
                            "Solution": 4, // 4 = "leave unlinked"; default solution
                            "TagID": 0,
                            "SequenceNumber": 0,
                            "TagNumber": 100,
                            "IndicatorOne": "1",
                            "IndicatorTwo": " ",
                            "Subfields": [
                              {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "a",
                                "Data": "PAS API Tester",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": "Added"
                              }
                            ],
                            "AssociatedAuthorityRecordID": 0,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null
                          }
                        ],
                        "IsBib": true,
                        "SavingRecord": false,
                        "HeadingsOnReplace": false,
                        "RecordID": 1402098,
                        "Tag008DataString": ""
                      }
                    }
                  },
                  "InformationMessages": [],
                  "AnswerExtension": null,
                  "CircTranType": 0,
                  "ReceiptType": 0,
                  "ReceiptUrl": "",
                  "FineEReceiptSent": false,
                  "ErrorCode": null
                }            
            
==> Caller sends a reply to the server indicating they want to continue (PromptResult=5).
If continue (Continue=5) is selected, the DtoCheckHeadingsExtension (WorkflowReplyExtensionType=19) object is used in the reply extension:
PUT /api/.../workflow/34ad1205-d622-44fb-ad1c-fd6245298b1a
                {
                  "WorkflowPromptID": 86,
                  "WorkflowPromptResult": 5,
                  "ReplyValue": null,
                  "ReplyExtension": {
                    "WorkflowReplyExtensionType": 19,
                    "Data": {
                        ...
                        "AuthorityControlErrors": [
                          {
                            "TagDataText": "100 1  ‡aPAS API Tester
                            "Solution": 0, // 0 = "Create new authority record"
                            "TagID": 0,
                            "SequenceNumber": 5,
                            "TagNumber": 100,
                            "IndicatorOne": "1",
                            "IndicatorTwo": " ",
                            "Subfields": [
                              {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "a",
                                "Data": "PAS API Tester",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": 3
                              }
                            ],
                            "AssociatedAuthorityRecordID": 0,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null,
                          },
                          {
                            "TagDataText": "130 1  ‡aPAS API Tester B"
                            "Solution": 1, // 1 = "Adjust bib heading"
                            "TagID": 0,
                            "SequenceNumber": 6,
                            "TagNumber": 100,
                            "IndicatorOne": "1",
                            "IndicatorTwo": " ",
                            "Subfields": [
                              {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "a",
                                "Data": "PAS API Tester B",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": 3
                              }
                            ],
                            "AssociatedAuthorityRecordID": 123,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null,
                          },
                          {
                            "TagDataText": "400 1  ‡aPAS API Tester Adjust Bib failed"
                            "Solution": 1, // 1 = "Adjust bib heading"
                            "TagID": 0,
                            "SequenceNumber": 7,
                            "TagNumber": 400,
                            "IndicatorOne": "1",
                            "IndicatorTwo": " ",
                            "Subfields": [
                              {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "a",
                                "Data": "PAS API Tester Adjust Bib failed",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": 3
                              }
                            ],
                            "AssociatedAuthorityRecordID": 456,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null,
                          },
                          {
                            "TagDataText": "610 10 ‡aPAS API tester 610 a",
                            "Solution": 2, // 2 = "Adjust usage of authority record"
                            "TagID": 0,
                            "SequenceNumber": 16,
                            "TagNumber": 610,
                            "IndicatorOne": "1",
                            "IndicatorTwo": "0",
                            "Subfields": [
                                {
                                "BibliographicSubfieldID": 0,
                                "SequenceNumber": 0,
                                "SubfieldDesignator": "a",
                                "Data": "PAS API tester 610 a",
                                "AuthorizingRecordID": null,
                                "NumberOfNonFilingCharacters": 0,
                                "Status": 3
                                }
                            ],
                            "AssociatedAuthorityRecordID": 123,
                            "EffectiveTagNumber": 0,
                            "TagStatus": 0,
                            "BulkAddReportTag": null,
                            "SolutionText": "Adjust AR usage"
                          },
                          {
                              "TagDataText": "130 1  ‡aPAS API Tester B",
                              "Solution": 2, // 2 = "Adjust usage of authority record"
                              "TagID": 0,
                              "SequenceNumber": 10,
                              "TagNumber": 130,
                              "IndicatorOne": "1",
                              "IndicatorTwo": " ",
                              "Subfields": [
                                {
                                  "BibliographicSubfieldID": 0,
                                  "SequenceNumber": 0,
                                  "SubfieldDesignator": "a",
                                  "Data": "PAS API Tester B",
                                  "AuthorizingRecordID": null,
                                  "NumberOfNonFilingCharacters": 0,
                                  "Status": 3
                                }
                              "AssociatedAuthorityRecordID": 925636,
                              "EffectiveTagNumber": 0,
                              "TagStatus": 0,
                              "BulkAddReportTag": null,
                              "SolutionText": "Adjust AR usage"
                          }
                       ],
                    }
                  }
                }
            
DtoCheckHeadingsExtension
Name Type Required Description
Errors List No List of problematic authority tags that need to be resolved.
Warnings List No List of problematic authority tags that will be ignored.
Tags List No List of all MARC tags of the existing bibliographic record.
AuthorityControlErrors List No List of problematic MARC headings tags with specified solution.

Possible solutions: AC_CREATE_AUTHORITY_RECORD = 0, AC_ADJUST_BIB_HEADING = 1, AC_ADJUST_USAGE = 2, AC_ADJUST_BOTH = 3, AC_LEAVE_UNLINKED = 4

IsBib boolean Yes True
SavingRecord boolean Yes False
RecordID integer Yes ID of the existing bibliographic record.
Tag008DataString string No Tag 008 value of the bibliographic record.
<== Answer from server - If the workflow completes with solutions other than "Leave unlinked" being applied.
Server will return InformationMessages to indicate the status of the creation or adjustment process. An object of CheckHeadingsCompleteData (WorkflowAnswerExtensionType=15) is attached to AnswerExtension.Data to return the list of heading tags that have been adjusted.
                {
                    "WorkflowRequestGuid": "aea04698-cb3a-44ab-9e29-f1ff5f99f3b7",
                    "WorkflowRequestType": 38,
                    "WorkflowStatus": 1,
                    "Prompt": null,
                    "InformationMessages": [],
                    "AnswerExtension": {
                        "WorkflowAnswerExtensionType": 15,
                        "Data": {
                            "RecordID": 1401924,
                            "RecordType": 2,
                            "Tags": [
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 7,
                                    "TagNumber": 100,
                                    "TagDataText": "100 1  ‡aPAS API Tester A",
                                    "Solution": 0,
                                    "AssociatedAuthorityRecordID": 925807,
                                    "MessageType": 1,
                                    "Message": "Authority record 925807 was created successfully.",
                                    "NewTag": null
                                },
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 8,
                                    "TagNumber": 100,
                                    "TagDataText": "100 1  ‡aPAS API Tester A",
                                    "Solution": 4,
                                    "AssociatedAuthorityRecordID": 0,
                                    "MessageType": 1,
                                    "Message": "Leave heading unlinked",
                                    "NewTag": null
                                },
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 9,
                                    "TagNumber": 130,
                                    "TagDataText": "130 1  ‡aPAS API Tester B",
                                    "Solution": 0,
                                    "AssociatedAuthorityRecordID": 123,
                                    "MessageType": 1,
                                    "Message": "Was successfully adjusted to 130 0  ‡aScience experiments.",
                                    "NewTag": {
                                        "tag": "130",
                                        "ind1": "0",
                                        "ind2": " ",
                                        "subfields": [
                                            {
                                                "code": "a",
                                                "data": "Science experiments"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 10,
                                    "TagNumber": 130,
                                    "TagDataText": "130 1  ‡aPAS API Tester B",
                                    "Solution": 3,
                                    "AssociatedAuthorityRecordID": 925636,
                                    "MessageType": 2,
                                    "Message": "Was not adjusted. Cannot adjust both bibliographic tag and the usage of authority record 925636.",
                                    "NewTag": null
                                },
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 16,
                                    "TagNumber": 610,
                                    "TagDataText": "610 10 ‡aPAS API tester 610 a",
                                    "Solution": 2,
                                    "AssociatedAuthorityRecordID": 123,
                                    "MessageType": 1,
                                    "Message": "The usage of authority record 123 was adjusted successfully:",
                                    "NewTag": null
                                },
                                {
                                    "TagID": 0,
                                    "SequenceNumber": 29,
                                    "TagNumber": 800,
                                    "TagDataText": "800 12 ‡aPAS API Tester 800 a",
                                    "Solution": 3,
                                    "AssociatedAuthorityRecordID": 925636,
                                    "MessageType": 1,
                                    "Message": "Was successfully adjusted to 800 12 ‡aPAS API Tester 800 a.
The usage of authority record 925636 was adjusted successfully:", "NewTag": { "tag": "800", "ind1": "1", "ind2": "2", "subfields": [ { "code": "a", "data": "PAS API Tester 800 a" } ] } }, { "TagID": 0, "SequenceNumber": 30, "TagNumber": 800, "TagDataText": "800 12 ‡PAS API tester 800 A", "Solution": 3, "AssociatedAuthorityRecordID": 999999999, "MessageType": 2, "Message": "Was not adjusted. Authority record 999999999 is not final.", "NewTag": null } ] } }, "CircTranType": 0, "ReceiptType": 0, "ReceiptUrl": "", "FineEReceiptSent": false, "ErrorCode": null }
CheckHeadingsCompleteData
Name Type Required Description
RecordID integer Yes ID of the record the tags attached to.
RecordType integer Yes Type of the record the tags attached to. Possible value 1 (Authority) or 2 (Bibliographic).
Tags List Yes List of heading tags with MessageType (success=1 or failure=2), Message and/or adjusted NewTag fields.

Possible Steps and Related Prompts or Blocks

Prompts - DtoWorkflowAnswer.Prompt
Step WorkflowPromptID WorkflowPromptType WorkflowPromptOptions Title
CheckMARC21RecordStructureAndRequiredFields 66 (NoDisplayInPAC) 45 (BibMARCFormatError) 8 (Ok) "MARC Validation Results"
CheckHeadings 85 (CheckHeadingsAssistant) 24 (CheckHeadingsAssistant) 6 (ContinueCancel) "Check Headings Assistant"
Blocks - DtoWorkflowAnswer.WorkflowStatus = -2 (ErrorOccurred)
Step InformationMessages.Type InformationMessages.Title InformationMessages.Message
StartProcedureCheckHeadingsAssist 2 (Failure) n/a "Bib record is locked by Other Staff.", etc.

HTTP Response Codes

Code Description
200 OK. Success

Required Permissions

Permission IDs found here.

    AccessCatalogingSubsystem_Allow
    BibliographicRecords_Access
    AuthorityRecords_Create (only if new authority records need to be created from unlinked headings tags)
    AuthorityRecords_Modify (only if unlinked headings tags include a solution of "adjust usage in authority record" or "adjust both".)