{
    "swagger":"2.0",
    "info":{
        "title":"REST API for Content Capture",
        "description":"The REST API for Content Capture provides a way to integrate and augment the overall processing capabilities of Content Capture in Oracle Content Management. The API supports managing and updating documents as they move through Content Capture and into Oracle Content Management.\n\n<p>Last updated: March 2023.</p>",
        "version":"2023.03.21",
        "x-summary":"The REST API for Content Capture provides a way to integrate and augment the overall processing capabilities of Content Capture in Oracle Content Management."
    },
    "basePath":"/capture/api/v1.1",
    "schemes":[
        "https"
    ],
    "tags":[
        {
            "name":"Attachments",
            "description":"Management of Document Attachments in Capture"
        },
        {
            "name":"Auditing",
            "description":"Query and Analize Batch and Document Processing"
        },
        {
            "name":"Batches",
            "description":"Management of Batches in Capture"
        },
        {
            "name":"Documents",
            "description":"Management of Documents in Capture"
        },
        {
            "name":"Steps",
            "description":"Query and Update Processing Task Queues"
        },
        {
            "name":"System",
            "description":"System Level Operations"
        }
    ],
    "consumes":[
        "application/json"
    ],
    "produces":[
        "application/json"
    ],
    "definitions":{
        "AnyObject":{
            "type":"object",
            "title":"Any Object",
            "description":"<p>This represents any kind of object. The object may or may not have a defined schema.</p>\n<p>This is used by parts of the Content Capture REST API that could vary, or are not known during design time.</p>\n"
        },
        "ErrorDetail":{
            "type":"object",
            "title":"Error Detail",
            "description":"<p>This represents an error in the system, and is the response object returned.</p>\n",
            "properties":{
                "type":{
                    "type":"string",
                    "format":"URI",
                    "description":"<p>Absolute URI that identifies the problem type. When this URI dereferenced, it <b>should</b> provide a human-readable summary of the problem, for example, as a HTML page.</p>\n"
                },
                "title":{
                    "type":"string",
                    "description":"<p>Short, human-readable summary of the problem. It is not advisable to use the title as a way of checking for specific errors, use the <code>o:errorCode</code> for this purpose.</p>\n"
                },
                "status":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>Corresponding HTTP status code for the error.</p>\n"
                },
                "detail":{
                    "type":"string",
                    "description":"<p>Description specific to this occurrence of the problem. The human-readable, potentially multi-line, description the problem in more details.</p>\n"
                },
                "instance":{
                    "type":"string",
                    "format":"URI",
                    "description":"<p>URI to the link that provides more detail about the error.</p>\n"
                },
                "o:errorCode":{
                    "type":"string",
                    "description":"<p>Application error code, which is different from HTTP error code. This code should be used to check for specific errors, rather than comparing fields such as the <code>title</code> or <code>detail</code>.</p>\n"
                },
                "o:errorPath":{
                    "type":"string",
                    "description":"<p>XPath or JSON path to indicate where the error occurs.</p>\n"
                },
                "o:errorDetails":{
                    "type":"array",
                    "title":"Error Details",
                    "items":{
                        "$ref":"#/definitions/ErrorDetail"
                    }
                }
            },
            "required":[
                "type",
                "title"
            ]
        },
        "SystemInfo":{
            "type":"object",
            "title":"System Information",
            "description":"<p>This object defines basic Capture system information, such as version and build date.</p>\n",
            "properties":{
                "name":{
                    "type":"string",
                    "description":"<p>Name of the Content Capture REST API.</p>\n"
                },
                "apiVersion":{
                    "type":"string",
                    "description":"<p>The particular version of the REST API. It will resemble something like: <i>v1</i>, <i>v1.1</i>, <i>v1.1.1</i>, etc.\ndepending on the actual version. However, it will always begin with <i>v</i>.</p>\n"
                },
                "buildTimestamp":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>The date/time of the REST API build in ISO-8601 Instant format (<code>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</code>),\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "buildRevision":{
                    "type":"string",
                    "description":"<p>The build version of the REST API.</p>\n"
                }
            }
        },
        "Link":{
            "type":"object",
            "title":"HATEOAS Link",
            "description":"<p>This is a <a href=\"https://en.wikipedia.org/wiki/HATEOAS\">HATEOAS</a> link and related metadata. If responses provide links\n(for example, a <code>self</code> link to the resource itself) the links provided will include one or more of the\nproperties defined on this link structure.</p>\n\n<p>Internet Assigned Numbers Authority (IANA) maintains a registry of <a href=\"https://www.iana.org/assignments/link-relations/link-relations.xml\">link relations</a>\nfor use in a HATEOAS link. These are well known relations and have specific meanings. If they are applicale in Capture, they are used.\nFor instance, <b>canonical</b> is well known relation, and Capture does use it.</p>\n\n<p>Capture does define its own link relations in certain cases because none of the registered relations provided the proper meaning.\nAs defined in RFC for Web Linking (<a href=\"https://datatracker.ietf.org/doc/html/rfc8288\">RFC 8288</a>) the relation needs to be\na URI. The following link relations are defined by Capture:</p>\n<ul>\n  <li><code>urn:oce:capture:document-content</code> - Represents the link used to obtain a document's content</li>\n  <li><code>urn:oce:capture:document-complete</code> - Represents the link used to complete processing a document in a <b>Step</b> task queue</li>\n  <li><code>urn:oce:capture:attachment-content</code> - Represents the link used to obtain an attachment's content</li>\n</ul>\n",
            "properties":{
                "rel":{
                    "type":"string",
                    "description":"<p>Name of the link relation that, in addition to the type property, can be used to retrieve link details.</p>\n"
                },
                "href":{
                    "type":"string",
                    "description":"<p>The target resource URI. URI <a href=\"https://datatracker.ietf.org/doc/html/rfc3986\">RFC 3986</a> or URI Template\n<a href=\"https://datatracker.ietf.org/doc/html/rfc6570\">RFC 6570</a>. If the value is set to URI Template, then the <code>templated</code>\nproperty must be set to <code>true</code>.</p>\n"
                },
                "templated":{
                    "type":"boolean",
                    "default":false,
                    "description":"<p>Boolean flag that specifies the <code>href</code> property is a URI or URI Template. The property can be assumed to be <code>false</code> if the\nproperty is not present.</p>\n"
                },
                "mediaType":{
                    "type":"string",
                    "default":"application/json",
                    "description":"<p>Media type, as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc2046\">RFC 2046</a>, describing the link target. The property can be assumed to be <code>application/json</code> if\nthe property is not present.</p>\n"
                },
                "method":{
                    "type":"string",
                    "default":"GET",
                    "description":"<p>HTTP method for requesting the target of the link.</p>\n<p>Valid values are:</p>\n<ul>\n  <li><code>OPTIONS</code> - HTTP OPTIONS</li>\n  <li><code>HEAD</code> - HTTP HEAD</li>\n  <li><code>GET</code> - HTTP GET</li>\n  <li><code>POST</code> - HTTP POST</li>\n  <li><code>PUT</code> - HTTP PUT</li>\n  <li><code>PATCH</code> - HTTP PATCH</li>\n  <li><code>DELETE</code> - HTTP DELETE</li>\n</ul>\n<p>The property can be assumed to be <code>GET</code> if the property is not present.</p>\n"
                },
                "profile":{
                    "type":"string",
                    "format":"uri",
                    "description":"<p>Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.\nIf not available, this property will not be present.</p>\n"
                }
            }
        },
        "User":{
            "type":"object",
            "title":"User Information",
            "description":"<p>This object contains information about a given user of Capture.</p>\n\n<p>Models use this object to denote some relation between a user and some other object. For instance, a\nmodel of the API may define the attribute <code>updatedBy</code> that is a user object. This indicates it\nwas last updated by that given user.</p>\n",
            "properties":{
                "name":{
                    "type":"string",
                    "description":"<p>The user's name.</p>\n"
                }
            },
            "required":[
                "name"
            ]
        },
        "Procedure":{
            "type":"object",
            "title":"Capture Procedure",
            "description":"<p>A Capture Procedure defines metadata and procesing steps of a flow.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the procedure in Capture.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the procedure when created</p>\n"
                }
            }
        },
        "Step":{
            "type":"object",
            "title":"Procedure Step",
            "description":"<p>A step in a procedure flow.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the step within the procedure.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the step when created. For instance, the name of the processing job or commit profile.</p>\n"
                },
                "type":{
                    "type":"string",
                    "description":"<p>The type of step. Some example include: <i>External Processor</i>, <i>TIFF Conversion Processor</i>, <i>Asset Lookup Processor</i>, etc.</p>\n"
                }
            }
        },
        "Batch":{
            "type":"object",
            "title":"Capture Batch",
            "description":"<p>A collection of documents in Capture that represent a unit of work in a procedure.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the batch.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the batch.</p>\n<p>When Capture creates a batch, the name is some defined prefix and a sequence number. For example, <b><i>inv_4781</i></b></p>\n"
                },
                "procedure":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Procedure"
                        }
                    ],
                    "description":"<p>The Capture Procedure associated with this batch.</p>\n"
                },
                "state":{
                    "type":"string",
                    "default":"READY",
                    "description":"<p>The current state of the batch.</p>\n<ul>\n  <li><code>READY</code> - The standard resting state of a batch. It is available to be locked by a client.</li>\n  <li><code>LOCKED</code> - The batch is locked by a client for editing, such as adding/removing documents and setting metadata field values.</li>\n  <li><code>ERROR</code> - An error occurred during processing. It is available to be locked by a client for edits to correct processing errors.</li>\n  <li><code>PROCESSING</code> - Capture is presently processing the batch. The batch is in one of the jobs defined in the Capture procedure.</li>\n</ul>\n"
                },
                "priority":{
                    "type":"integer",
                    "format":"int32",
                    "default":0,
                    "minimum":0,
                    "maximum":10,
                    "description":"<p>A user specified priority of the batch.</p>\n<p>This value is used prioritize the batch for a user's attention. Its used to filter and sort batches for viewing in the client.</p>\n"
                },
                "status":{
                    "type":"string",
                    "description":"<p>The current status assigned to the batch.</p>\n<p>The status values are defined in the procedure and can be assigned during batch creation, and during transitions between processing jobs.</p>\n"
                },
                "notes":{
                    "type":"string",
                    "description":"<p>User supplied general notes associated with a batch.</p>\n"
                },
                "error":{
                    "type":"string",
                    "description":"<p>The current error message of the batch, if any.</p>\n<p>If the batch is in the <b>ERROR</b> <code>state</code>, this will contain the error message detailing why the batch failed processing. This message\nwill remain until the batch re-enters processing.</p>\n"
                },
                "lock":{
                    "type":"object",
                    "description":"<p>If the <b>batch</b> is <i>locked</i> (by a user creating/editing the batch or if Capture is currently processing the batch), this object will\ncontain information about the lock. The <code>state</code> of the batch determines if this object exists.</p>\n",
                    "properties":{
                        "workstation":{
                            "type":"string",
                            "description":"<p>If the <b>batch</b> is <i>locked</i> within a Capture Client instance, this attribute will contain the computer name where the Capture Client instance\n<i>locked</i> the batch.</p>\n"
                        },
                        "lockedBy":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/User"
                                }
                            ],
                            "description":"<p>If the <b>batch</b> is <i>locked</i> within a Capture Client instance, this attribute will contain the user that <i>locked</i> the batch.</p>\n"
                        },
                        "step":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/Step"
                                }
                            ],
                            "description":"<p>If Capture is currently processing the batch, this object will contain current processing step the batch is undergoing.</p>\n"
                        },
                        "lockedDate":{
                            "type":"string",
                            "format":"date-time",
                            "description":"<p>This identifies when the batch was locked. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                        }
                    }
                },
                "createdBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The user that created the batch.</p>\n"
                },
                "createdDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the batch was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "updatedBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The last user that updated the batch. This can be the Capture system.</p>\n"
                },
                "updatedDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the last time the batch was updated. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "links":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Link"
                    },
                    "description":"<p>HATEOS link to related resources and actions or actions on this resource. This will include at least a <i>canonical</i> related link to the resource.</p>\n"
                }
            }
        },
        "DocumentProfile":{
            "type":"object",
            "title":"Document Profile",
            "description":"<p>A <i>Document Profile</i> associates a collection of custom metadata fields defined in a Capture procedure with a document. Additionally,\nit can have associated attachment types.</p>\n\n<p>These are used in Capture to help categorize and process documents. While a document profile does relate custom metadata fields and\nattachment types from the procedure to a document, it does not restrict metadata to just those fields or attachments to just those types.\nIt they are used for display/management within the Capture Client.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the document profile.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the document profile.</p>\n"
                }
            }
        },
        "FieldValue":{
            "type":"object",
            "title":"Field Value",
            "description":"<p>A field value is a Capture metadata field that combines the basic field definition and an actual value.</p>\n",
            "properties":{
                "name":{
                    "type":"string",
                    "description":"<p>The name of the field.</p>\n"
                },
                "dataType":{
                    "type":"string",
                    "default":"ALPHA_NUMERIC",
                    "description":"<p>The data type of the field. Capture supports the following six data types:</p>\n<ul>\n  <li><code>NUMERIC</code> - Integer based number value</li>\n  <li><code>ALPHA_NUMERIC</code> - Any general text or string value</li>\n  <li><code>DATE</code> - A date/time value in the form of ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</code>), as governed by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a></li>\n  <li><code>FLOAT</code> - Floating point number values</li>\n  <li><code>ITEM_REFERENCE</code> - A <i>pointer</i> to a content item in Oracle Content Management</li>\n  <li><code>ASSET_REFERENCE</code> - A <i>pointer</i> to a digital asset in Oracle Content Management</li>\n  <li><code>CATEGORY_REFERENCE</code> - A <i>pointer</i> to a taxonomy category in Oracle Content Management</li>\n  <li><code>LANGUAGE</code> - A language code as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.\n</ul>\n"
                },
                "value":{
                    "type":"string",
                    "description":"<p>The actual value of this metadata field as it pertains to the given Capture document.</p>\n<p>Fields do not initially have values. They must be set. This is either done through a default value in the\nmetadata field definition, user supplied in Capture Client, or some Capture processing job.</p>\n<p>The fields in Capture do not have a concept of a <b>null</b> value. The fields either have a value or do not have\na value. <i>Blank</i> means there is no value.</p>\n"
                }
            }
        },
        "Document":{
            "type":"object",
            "title":"Document",
            "description":"<p>A <i>Document</i> in Capture is a file combined with custom metadata fields. The metadata fields are defined in Capture\nprocedures, and act as holders of information manged within Capture. A <i>Document</i> can also contain attachments. An <i>Attachment</i>\nis intended to augment the the <i>Document</i>, and there can be numerous attachments of varing types.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the document in Capture.</p>\n"
                },
                "title":{
                    "type":"string",
                    "description":"<p>The <i>title</i> of the document. This is generally the filename used during document import.</p>\n"
                },
                "batch":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Batch"
                        }
                    ],
                    "description":"<p>The Capture Batch that contains this document.</p>\n"
                },
                "step":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Step"
                        }
                    ],
                    "description":"<p>The current processing step, if any, this document is undergoing.</p>\n"
                },
                "profile":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/DocumentProfile"
                        }
                    ],
                    "description":"<p>The document profile that has been assigned to this document.</p>\n"
                },
                "stateToken":{
                    "type":"string",
                    "description":"<p>A generated string value that represents a particular state of the document.</p>\n<p>In general, it is used to allow modifications of the document to proceed. It is essentially saying ...\n<u><i>modify this document if its current <code>stateToken</code> matches this value</i></u>. If the values do\nnot match, the modification is not permitted and the operation results in an error.</p>\n"
                },
                "mediaType":{
                    "type":"string",
                    "description":"<p>This represents the media type of the document. That is the two-part identifier for file formats and format contents\ntransmitted on the Internet.</p>\n"
                },
                "sourceName":{
                    "type":"string",
                    "description":"<p>The filename of the document when imported.</p>\n"
                },
                "size":{
                    "type":"integer",
                    "format":"int64",
                    "description":"<p>The size, in bytes, of the document.</p>\n"
                },
                "fields":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/FieldValue"
                    },
                    "description":"<p>This is an array of all the field values available for this document.</p>\n"
                },
                "comment":{
                    "type":"string",
                    "description":"<p>A general use comment of this document.</p>\n"
                },
                "createdBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The user that created the document.</p>\n"
                },
                "createdDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the document was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "updatedBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The last user that updated the document.</p>\n"
                },
                "updatedDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the last time the document was updated. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "links":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Link"
                    },
                    "description":"<p>HATEOS link to related resources and actions or actions on this resource. This will include at least a <i>canonical</i> related link to the resource.</p>\n"
                }
            }
        },
        "AttachmentType":{
            "type":"object",
            "title":"Attachment Type",
            "description":"<p>An Attachment Type can be used to categorize, and provides process filtering, of attachents of documents.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the attachment type.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the attachment type.</p>\n"
                }
            }
        },
        "Attachment":{
            "type":"object",
            "title":"Attachment",
            "description":"<p>An <i>Attachment</i> in Capture is a file that contains auxiliary content for a <i>Document</i>. In essence, its\nstructure is very similar to that of a <i>Document</i>; however, there are no metadata fields.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the attachment in Capture.</p>\n"
                },
                "documentId":{
                    "type":"string",
                    "description":"<p>The unique identifier of the document in Capture to which this attachment belongs.</p>\n"
                },
                "title":{
                    "type":"string",
                    "description":"<p>The <i>title</i> of the attachment. This is generally the filename of the attachment used during document import.</p>\n"
                },
                "batch":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Batch"
                        }
                    ],
                    "description":"<p>The Capture Batch that contains this attachment's parent document.</p>\n"
                },
                "step":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Step"
                        }
                    ],
                    "description":"<p>The current processing step, if any, this attachment's parent document is undergoing.</p>\n"
                },
                "type":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/AttachmentType"
                        }
                    ],
                    "description":"<p>The attachment type that has been assigned to this attachment.</p>\n"
                },
                "stateToken":{
                    "type":"string",
                    "description":"<p>A generated string value that represents a particular state of the attachment.</p>\n<p>In general, it is used to allow modifications of the attachment to proceed. It is essentially saying ...\n<u><i>modify this attachment if its current <code>stateToken</code> matches this value</i></u>. If the values do\nnot match, the modification is not permitted and the operation results in an error.</p>\n"
                },
                "mediaType":{
                    "type":"string",
                    "description":"<p>This represents the media type of the attachment. That is the two-part identifier for file formats and format contents\ntransmitted on the Internet.</p>\n"
                },
                "sourceName":{
                    "type":"string",
                    "description":"<p>The filename of the attachment when imported.</p>\n"
                },
                "size":{
                    "type":"integer",
                    "format":"int64",
                    "description":"<p>The size, in bytes, of the attachment.</p>\n"
                },
                "comment":{
                    "type":"string",
                    "description":"<p>A general use comment of this attachment.</p>\n"
                },
                "createdBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The user that created the attachment.</p>\n"
                },
                "createdDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the attachment was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "updatedBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The last user that updated the attachment.</p>\n"
                },
                "updatedDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the last time the attachment was updated.</p>\n"
                },
                "links":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Link"
                    },
                    "description":"<p>HATEOS link to related resources and actions or actions on this resource. This will include at least a <i>canonical</i> related link to the resource.</p>\n"
                }
            }
        },
        "Batches":{
            "type":"object",
            "title":"Batch Collection",
            "description":"<p>This represents a collection of <i>Batch</i> objects.</p> \n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Batch"
                    },
                    "description":"<p>The array of <i>Batch</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of descending by <code>updatedDate</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "Documents":{
            "type":"object",
            "title":"Document Collection",
            "description":"<p>This represents a collection of <i>Document</i> objects.</p> \n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Document"
                    },
                    "description":"<p>The array of <i>Document</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of descending by <code>updatedDate</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "Attachments":{
            "type":"object",
            "title":"Attachment Collection",
            "description":"<p>This represents a collection of <i>Attachment</i> objects.</p> \n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Attachment"
                    },
                    "description":"<p>The array of <i>Attachment</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of descending by <code>updatedDate</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "DocumentTask":{
            "type":"object",
            "title":"Document Task",
            "description":"<p>A <i>Document Task</i> is a document that is <i>waiting</i> to be processed in a step of a given procedure.</p>\n",
            "properties":{
                "taskNumber":{
                    "type":"integer",
                    "format":"int64",
                    "description":"<p> An incrementing number that is unique to the document and step task queue. This number gets assigned a the document enters the task queue.</p>\n"
                },
                "document":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Document"
                        }
                    ],
                    "description":"<p>This is the <i>Document</i> that needs to be completed.</p>\n"
                }
            },
            "required":[
                "taskNumber",
                "document"
            ]
        },
        "DocumentTasks":{
            "type":"object",
            "title":"Document Task Collection",
            "description":"<p>This represents a collection of <i>Document Task</i> objects.</p>\n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/DocumentTask"
                    },
                    "description":"<p>The array of <i>Document Task</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of ascending by <code>taskNumber</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "DocumentTaskResult":{
            "type":"object",
            "title":"Document Task Result",
            "description":"<p>A <i>Document Task Result</i> is a document task that has completed processing. It can either be a successful completion or a failure completion.</p>\n\n<p>The <code>taskNumber</code> is required. The <code>document</code> is required and must contain, at a mimimum the <code>stateToken</code> attribute.\nIt may also contain other attributes that are desired to be updated in the document. If the processing result is an error, it must contain a proper error detail.</p>\n\n<p>The <code>document</code> parameter of each task in the array is a document object and essentially\n<i>patches</i> the document with the attributes that are both present in the request body and updatable.\nA <i>merge-patch</i> media sub-type isn't used because the document object contains an array, and that\nwould require the entire contents of the array to be in the request body.\n<a href=\"https://datatracker.ietf.org/doc/html/rfc7386\">RFC 7386</a>, which governs the <i>merge-patch</i>,\nprovides no sematics in which to update elements an array. Even though a <i>merge-patch</i> isn't used,\njust the desired changes are required in the request body, and therefore, just the fields that are being\nupdated need to be present. The updatable attributes of a document are:</p>\n<ul>\n  <li><code>title</code></li>\n  <li><code>profile</code></li>\n  <li><code>fields</code></li>\n  <li><code>comment</code></li>\n</ul>\n<p>An update to either the <code>title</code> or <code>comment</code> is a simple string change. An update to the\ndocment profile (<code>profile</code>) requires setting its value to a different document profile object. The\nobject must contain either the <code>id</code> attribute or the <code>name</code> attribute, or it can contain both.\nOnly one attribute is necessary because the names are unique in the procedure definition. To clear a current document\nprofile, or any of the other attributes, its value in the document object must be set to <code>null</code>. Lastly,\nonly those fields that are being set or changed, need to exist in the <code>fields</code> array.</p>\n\n<p>The <code>document</code> parameter of each task in the array must contain, at a minimum, its <code>stateToken</code>.\nThis is necessary to ensure the object is still the same that is being updated. The <code>stateToken</code> will be\ndifferent if it was was already updated from the last time it was requested. This ensures there aren't concurrent updates,\nand prevents overwriting of data.</p>\n\n<p>If there was a failure during processing, the <code>error</code> attribute must contain the error that occurred in processing.</p>\n",
            "properties":{
                "taskNumber":{
                    "type":"integer",
                    "format":"int64",
                    "description":"<p> An incrementing number that is unique to the document and step task queue. This needs to be the same number that that\nprovided by Content Capture in the <code>DocumentTask</code> obtained from the step task queue.</p>\n"
                },
                "document":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Document"
                        }
                    ],
                    "description":"<p>This is the <i>Document</i> to be completed. It can contain attributes of the document that should be updated.\nAt a minimum, it must contain the document's <code>stateToken</code>.</p>\n"
                },
                "error":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/ErrorDetail"
                        }
                    ],
                    "description":"<p>The is an <a href=\"./ErrorMessages.html\">Error Detail</a> that describes any error that occurred during processing.</p>\n"
                }
            },
            "required":[
                "taskNumber",
                "document"
            ]
        },
        "DocumentTaskError":{
            "type":"object",
            "title":"Document Task Error",
            "description":"<p>A <i>Document Task Error</i> is a document that failed to be completed for some reason, which is identified by the error.</p>\n<p>The <i>Document</i> object is the same object that part of the request body for the complete operation. The <i>Error Detail</i>\nobject will contain information that identifies why the document task failed to complete.</p>\n",
            "properties":{
                "taskNumber":{
                    "type":"integer",
                    "format":"int64",
                    "description":"<p>That task number that failed to be completed. This needs to be the same number that that provided by Content Capture in\nthe <code>DocumentTask</code> obtained from the step task queue.</p>\n"
                },
                "document":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Document"
                        }
                    ],
                    "description":"<p>This is the <i>Document</i> object that was in the request body of the complete operation for this task.</p>\n"
                },
                "error":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/ErrorDetail"
                        }
                    ],
                    "description":"<p>The is the <a href=\"./ErrorMessages.html\">Error Detail</a> that describes the reason the complete operation failed for this task.</p>\n"
                }
            },
            "required":[
                "taskNumber",
                "document",
                "error"
            ]
        },
        "DocumentTaskResults":{
            "type":"array",
            "title":"Document Task Results",
            "description":"<p>This is an array of <i>Document Task Result</i> objects. Each object represent a document task to complete.</p>\n",
            "items":{
                "$ref":"#/definitions/DocumentTaskResult"
            }
        },
        "DocumentTaskErrors":{
            "type":"array",
            "title":"Document Task Errors",
            "description":"<p>This is an array of <i>Document Task Error</i> objects. Each object identifies a document that failed to complete.</p>\n",
            "items":{
                "$ref":"#/definitions/DocumentTaskError"
            }
        },
        "AuditEvent":{
            "type":"object",
            "title":"Audit Event",
            "description":"<p>This represents a given action that occurred within Capture that has been tracked.</p>\n",
            "properties":{
                "correlationId":{
                    "type":"string",
                    "description":"<p>A correlation identifier of the event. It is important to note that this value <b>is not</b> unique.</p>\n<p>An event may cause other events to occur. This identifier is used express a causal relationships between events,\nparticulally between batches and documents.</p>\n"
                },
                "type":{
                    "type":"number",
                    "format":"int32",
                    "description":"<p>The unique identifer of the kind of event.</p>\n"
                },
                "action":{
                    "type":"string",
                    "description":"<p>A simple description of the event, generally a <i>verb</i>, such as <code>CREATED</code>, <code>UPDATED</code>, <code>PROCESSED</code>, etc.</p>\n"
                },
                "message":{
                    "type":"string",
                    "description":"<p>The simple message the describes the event.</p>\n"
                },
                "detail":{
                    "type":"string",
                    "description":"<p>Detail information about the the event.</p>\n"
                },
                "locale":{
                    "type":"string",
                    "description":"<p>The <em>locale</em> that was used to produce the <code>message</code>. The value will be in the form of standard language tags as defined\nby <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n"
                },
                "messageKey":{
                    "type":"string",
                    "description":"<p>The unique key that correlates to the message pattern used to generate the detail <code>message</code>.</p>\n"
                },
                "messageProperties":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/AnyObject"
                    },
                    "description":"<p>An array of individual property keys and values that are attributes of the event, and used to produce the message. The order of the array\nis determined by the order of the argument indexes in the message pattern.</p>\n<p>The specific keys and values are dependent on the <code>type</code> of event. Also, the event type could allow for more complex object\ndefinition than just simple key/value pairs. Some examples are:</p>\n<p>Document Committed Events</p>\n<pre>\n[\n    { \"documentId\": \"58be0662-a758-491a-9eed-cc6f56124acf\" },\n    { \"documentTitle\": \"Sales Invoice [58be0662-a758-491a-9eed-cc6f56124acf]\" },\n    { \"repositoryName\": \"Plumbing Invoice Type\" },\n    { \"assetType\": \"Plumbing Invoice Type\" }\n]\n</pre>\n<p>Email Events</p>\n<pre>\n[\n    { \"emailFromName\": \"Joe Smith\" },\n    { \"emailFromAddress\": \"joe.smith@someplace.com\" },\n    { \"emailSubject\": \"Sales Invoice\" }\n]\n</pre>\n"
                },
                "eventBy":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/User"
                        }
                    ],
                    "description":"<p>The user that trigged/caused the event.</p>\n<p>This is only present if the event was triggered by a user of Capture. It is not present when events are triggered by Capture.</p>\n"
                },
                "eventDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the event occurred. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                }
            }
        },
        "BatchAuditDetail":{
            "type":"object",
            "title":"Batch Audit Detail",
            "description":"<p>A <i>Batch Audit Detail</i> in Capture is a set of events that occurred for a given batch. These are events such as the batch was\ncreated, the batching is being processed, the batch was deleted, etc.</p>\n\n<p>A <i>Batch Audit Detail</i> also encompasses associated <i>Document Audit Detail</i> objects, which represents events for documents\nthe a given batch.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the batch.</p>\n"
                },
                "name":{
                    "type":"string",
                    "description":"<p>The name given to the batch.</p>\n<p>When Capture creates a batch, the name is some defined prefix and a sequence number. For example, <b><i>inv_4781</i></b></p>\n"
                },
                "runtime":{
                    "type":"object",
                    "description":"<p>If the batch is presently part of the Capture system, this object will contain its current runtime information. However, if the batch has\nbeen committed, or has otherwise been deleted from the Capture system, there will be no runtime information.</p>\n",
                    "properties":{
                        "state":{
                            "type":"string",
                            "default":"READY",
                            "description":"<p>The current state of the batch.</p>\n<ul>\n  <li><code>READY</code> - The standard resting state of a batch. It is available to be locked by a client.</li>\n  <li><code>LOCKED</code> - The batch is locked by a client for editing, such as adding/removing documents and setting metadata field values.</li>\n  <li><code>ERROR</code> - An error occurred during processing. It is available to be locked by a client for edits to correct processing errors.</li>\n  <li><code>PROCESSING</code> - Capture is presently processing the batch. The batch is in one of the jobs defined in the Capture procedure.</li>\n</ul>\n"
                        },
                        "priority":{
                            "type":"integer",
                            "format":"int32",
                            "default":0,
                            "minimum":0,
                            "maximum":10,
                            "description":"<p>A user specified priority of the batch.</p>\n<p>This value is used prioritize the batch for a user's attention. Its used to filter and sort batches for viewing in the client.</p>\n"
                        },
                        "status":{
                            "type":"string",
                            "description":"<p>The current status assigned to the batch.</p>\n<p>The status values are defined in the procedure and can be assigned during batch creation, and during transitions between processing jobs.</p>\n"
                        },
                        "notes":{
                            "type":"string",
                            "description":"<p>User supplied general notes associated with a batch.</p>\n"
                        },
                        "error":{
                            "type":"string",
                            "description":"<p>The current error message of the batch, if any.</p>\n<p>If the batch is in the <b>ERROR</b> <code>state</code>, this will contain the error message detailing why the batch failed processing. This message\nwill remain until the batch re-enters processing.</p>\n"
                        },
                        "lock":{
                            "type":"object",
                            "description":"<p>If the <b>batch</b> is <i>locked</i> (by a user creating/editing the batch or if Capture is currently processing the batch), this object will\ncontain information about the lock. The <code>state</code> of the batch determines if this object exists.</p>\n",
                            "properties":{
                                "workstation":{
                                    "type":"string",
                                    "description":"<p>If the <b>batch</b> is <i>locked</i> within a Capture Client instance, this attribute will contain the computer name where the Capture Client instance\n<i>locked</i> the batch.</p>\n"
                                },
                                "lockedBy":{
                                    "type":"object",
                                    "allOf":[
                                        {
                                            "$ref":"#/definitions/User"
                                        }
                                    ],
                                    "description":"<p>If the <b>batch</b> is <i>locked</i> within a Capture Client instance, this attribute will contain the user that <i>locked</i> the batch.</p>\n"
                                },
                                "procedure":{
                                    "type":"object",
                                    "allOf":[
                                        {
                                            "$ref":"#/definitions/Procedure"
                                        }
                                    ],
                                    "description":"<p>If Capture is currently processing the batch, this object will contain the procedure that is controlling the batch processing.</p>\n"
                                },
                                "step":{
                                    "type":"object",
                                    "allOf":[
                                        {
                                            "$ref":"#/definitions/Step"
                                        }
                                    ],
                                    "description":"<p>If Capture is currently processing the batch, this object will contain current processing step the batch is undergoing.</p>\n"
                                },
                                "lockedDate":{
                                    "type":"string",
                                    "format":"date-time",
                                    "description":"<p>This identifies when the batch was locked. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                                }
                            }
                        },
                        "createdBy":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/User"
                                }
                            ],
                            "description":"<p>The user that created the batch.</p>\n"
                        },
                        "createdDate":{
                            "type":"string",
                            "format":"date-time",
                            "description":"<p>This identifies when the batch was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                        },
                        "updatedBy":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/User"
                                }
                            ],
                            "description":"<p>The last user that updated the batch. This can be the Capture system.</p>\n"
                        },
                        "updatedDate":{
                            "type":"string",
                            "format":"date-time",
                            "description":"<p>This identifies when the last time the batch was updated. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                        }
                    }
                },
                "events":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/AuditEvent"
                    },
                    "description":"<p>This array contains all individual events that pertain to this batch, in <code>eventDate</code> ascending order.</p>\n"
                },
                "createdDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the batch was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "lastEventDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies the date/time of the last event that occurred in this batch. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "links":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Link"
                    },
                    "description":"<p>HATEOS link to related resources and actions or actions on this resource. This will include at least a <i>canonical</i> related link to the resource.</p>\n"
                }
            }
        },
        "BatchAuditDetails":{
            "type":"object",
            "title":"Batch Audit Detail Collection",
            "description":"<p>This represents a collection of <i>Batch Audit Detail</i> objects.</p> \n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/BatchAuditDetail"
                    },
                    "description":"<p>The array of <i>Batch Audit Detail</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of descending by <code>updatedDate</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "DocumentAuditDetail":{
            "type":"object",
            "title":"Document Audit Detail",
            "description":"<p>A <i>Document Audit Detail</i> in Capture is a set of events that occurred for a given document. These are events such as the document was\ncreated, the document was converted, the document was committed, etc.</p>\n\n<p>A <i>Document Audit Detail</i> is independent in Capture, but is associated with a given <i>Batch Audit Detail</i> resource as documents are\ncontained in batches.</p>\n",
            "properties":{
                "id":{
                    "type":"string",
                    "description":"<p>The unique identifier of the document in Capture.</p>\n"
                },
                "title":{
                    "type":"string",
                    "description":"<p>The <i>title</i> of the document. This is generally the filename used during document import.</p>\n"
                },
                "documentId":{
                    "type":"string",
                    "description":"<p>If this audit detail represents an attachment of a docuument, this is the unique identifier of the document.</p>\n<p>This only applies to audit details on attachments of a document. It does not apply to audit details on documents. It will not be present if the audit details applies to a document.</p>\n"
                },
                "batch":{
                    "type":"object",
                    "allOf":[
                        {
                            "$ref":"#/definitions/Batch"
                        }
                    ],
                    "description":"<p>The Capture Batch that contains (or contained) this document.</p>\n"
                },
                "runtime":{
                    "type":"object",
                    "description":"<p>If the document is presently part of the Capture system, this object will contain its current runtime information. However, if the document has\nbeen committed, or has otherwise been deleted from the Capture system, there will be no runtime information.</p>\n",
                    "properties":{
                        "step":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/Step"
                                }
                            ],
                            "description":"<p>The current processing step, if any, this document is undergoing.</p>\n"
                        },
                        "profile":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/DocumentProfile"
                                }
                            ],
                            "description":"<p>If this audit detail represents a docuument, this is the document profile that has been assigned.</p>\n<p>This only applies to audit details on documents. It does not apply to events on audit details of an attachment. It will not be present if the audit details applies to an attachment of a document.</p>.\n"
                        },
                        "type":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/AttachmentType"
                                }
                            ],
                            "description":"<p>If this audit detail represents an attachment to a docuument, this is the attachment type that has been assigned.</p>\n<p>This only applies to audit details on attachments of a document. It does not apply to audit details on documents. It will not be present if the audit details applies to a document.</p>.\n"
                        },
                        "stateToken":{
                            "type":"string",
                            "description":"<p>A generated string value that represents a particular state of the document.</p>\n<p>In general, it is used to allow modifications of the document to proceed. It is essentially saying ...\n<u><i>modify this document if its current <code>stateToken</code> matches this value</i></u>. If the values do\nnot match, the modification is not permitted and the operation results in an error.</p>\n"
                        },
                        "mediaType":{
                            "type":"string",
                            "description":"<p>This represents the media type of the document. That is the two-part identifier for file formats and format contents\ntransmitted on the Internet.</p>\n"
                        },
                        "sourceName":{
                            "type":"string",
                            "description":"<p>The filename of the document when imported.</p>\n"
                        },
                        "size":{
                            "type":"integer",
                            "format":"int64",
                            "description":"<p>The size, in bytes, of the document.</p>\n"
                        },
                        "createdBy":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/User"
                                }
                            ],
                            "description":"<p>The user that created the document.</p>\n"
                        },
                        "createdDate":{
                            "type":"string",
                            "format":"date-time",
                            "description":"<p>This identifies when the document was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                        },
                        "updatedBy":{
                            "type":"object",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/User"
                                }
                            ],
                            "description":"<p>The last user that updated the document.</p>\n"
                        },
                        "updatedDate":{
                            "type":"string",
                            "format":"date-time",
                            "description":"<p>This identifies when the last time the document was updated. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                        }
                    }
                },
                "events":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/AuditEvent"
                    },
                    "description":"<p>This array contains all individual events that pertain to this document, in <code>eventDate</code> ascending order.</p>\n"
                },
                "createdDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the document was created. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "lastEventDate":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies the date/time of the last event that occurred for this document. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "links":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/Link"
                    },
                    "description":"<p>HATEOS link to related resources and actions or actions on this resource. This will include at least a <i>canonical</i> related link to the resource.</p>\n"
                }
            }
        },
        "DocumentAuditDetails":{
            "type":"object",
            "title":"Document Audit Detail Collection",
            "description":"<p>This represents a collection of <i>Document Audit Detail</i> objects.</p> \n",
            "properties":{
                "totalResults":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of rows that satisfy the client request (excluding the paging parameters).</p>\n"
                },
                "limit":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual page size used by the server. This may not be the same as what client requests.</p>\n"
                },
                "count":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The total number of records in the current response.</p>\n"
                },
                "hasMore":{
                    "type":"boolean",
                    "description":"<p>An indicator of whether there are more pages to fetch.</p>\n"
                },
                "offset":{
                    "type":"integer",
                    "format":"int32",
                    "description":"<p>The actual index from which the singular resources are returned.</p>\n"
                },
                "items":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/DocumentAuditDetail"
                    },
                    "description":"<p>The array of <i>Document Audit Detail</i> objects.</p>\n<p>This will in the order specified by <b>orderBy</b>, or the default sort order of descending by <code>updatedDate</code> if <b>orderBy</b> was not used.\n"
                }
            },
            "required":[
                "limit",
                "count",
                "hasMore",
                "offset"
            ]
        },
        "HistoryMessage":{
            "type":"object",
            "title":"History Message",
            "description":"<p>This message that occurs in Capture that represents a distinct audit event, or associated logging message.</p>\n<p>A message will always be associated to an individual audit event. But, the message can be the actual audit\nevent. Other messages provide more detail related to that event.</p>\n<p>The message produced in Capture will be associated to a <i>Batch</i>. They may, or may not, be associated\nto a <i>Document</i> in that batch.</p>\n",
            "properties":{
                "auditId":{
                    "type":"string",
                    "description":"<p>The audit identifier of the message. This identifier is used to correlate messages with each other. Messages\nwith the same <code>auditId</code> are part of the same occurrence of the given audit event.</p>\n"
                },
                "batchId":{
                    "type":"string",
                    "description":"<p>The associated batch identifier.</p>\n"
                },
                "batchName":{
                    "type":"string",
                    "description":"<p>The associated batch name.</p>\n"
                },
                "documentId":{
                    "type":"string",
                    "description":"<p>The associated document identifier, if the message pertains to a document.</p>\n"
                },
                "documentTitle":{
                    "type":"string",
                    "description":"<p>The associated document name, if the message pertains to a document.</p>\n<p>The title of a document may change. This will be the title of the document at the time the message occurred.</p>\n"
                },
                "timestamp":{
                    "type":"string",
                    "format":"date-time",
                    "description":"<p>This identifies when the message occurred. The date/time in ISO-8601 Date Time format (<code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>) UTC,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>.</p>\n"
                },
                "message":{
                    "type":"string",
                    "description":"<p>The message content produced by Capture.</p>\n"
                }
            }
        },
        "BatchHistory":{
            "type":"object",
            "title":"Batch History",
            "description":"<p>This object contains a collection of messages that detail the history of a batch as it progresses through Capture.</p>\n<p>The history is set of audit events and associated detail messages. For instance, several <i>processing</i> audit events\nmay occur in the life of a batch. As batch processing is happening, detail messages are written to logs that provide more\ninformation as to what is happening during processing.</p>\n",
            "properties":{
                "batchAuditMessages":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/HistoryMessage"
                    },
                    "description":"<p>This array contains all batch audit event messages. It is time ordered (descending) by the\nmessage <code>timestamp</code>.</p>\n"
                },
                "documentAuditMessages":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/HistoryMessage"
                    },
                    "description":"<p>This array contains all document audit event message that pertain to this batch. It is time ordered (descending) by the\nmessage <code>timestamp</code>.</p>\n"
                },
                "detailMessages":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/HistoryMessage"
                    },
                    "description":"<p>This array contains all the logging messages associated with the batch. It is time ordered (descending) by the\nmessage <code>timestamp</code>.</p>\n"
                }
            }
        }
    },
    "paths":{
        "/systemInfo":{
            "get":{
                "x-internal-id":"systemInfo-get",
                "x-filename-id":"systeminfo-get",
                "summary":"System and API Information",
                "operationId":"systemInfo",
                "tags":[
                    "System"
                ],
                "description":"<p>This is a simple operation that will return Capture system and API information.</p>\n",
                "responses":{
                    "200":{
                        "description":"<p>General Content Capture System and REST API information.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/SystemInfo"
                        }
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/audit/batches":{
            "get":{
                "x-internal-id":"audit-batches-get",
                "x-filename-id":"audit-batches-get",
                "summary":"List all Batch Audit Details",
                "operationId":"listBatchAuditDetails",
                "tags":[
                    "Auditing"
                ],
                "description":"<p>This operation will return a collection of all the audit details for batches in Capture.</p>\n\n<p>As a batch flows through Capture, events occur pertaining to that batch. These events vary by the types of processing defined\nin the procedure, but are typically milestone events, or error events. As an example, the creation of the batch could be considered\na milestone event. Any error as a result of processing would be considered an error event.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results.</p>\n\n<p>This operation supports the <b>expand</b> parameter as well, which is used to include child resources/collections inline. The\nchild collection of <code>documents</code> is supported. If used, the response will contain all the associated <i>Document Audit\nDetail</i> objects for all documents in the batch. Additionally, the child resource of <code>runtime</code> is supported. When used,\nif the batch is presently in Capture, it's runtime state information will be returned in the response.</p>\n\n<p>If there are no batch audit details, or they don't match the filtering criteria, an empty collection will be returned.</p>\n",
                "parameters":[
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code> in'\nlower case), all child resources/collections of the requested batch audit detail are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>runtime</code></li>\n  <li><code>documents</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=runtime</code><br />\nExpands the <i>runtime</i> object of this batch audit detail, if any.</p>\n\n<p><b>Example</b> : <code>?expand=documents</code><br />\nExpands the collection of <i>documents</i> of this batch audit detail, if any.</p>\n"
                    },
                    {
                        "name":"locale",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>locale</i> parameter is used to specify the language translations used for messages in the audit events. The value must be in\nthe form of standard language tags as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n\n<p>If this is not specified, the default language settings locale will be used.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the batch audit detail collection. This parameter\nis optional as a batch audit detail collection has a default sort order of <code>lastEventDate</code> descending.</p>\n\n<p>This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>Only the following attributes of a batch audit detail are supported in an <b>orderBy</b>:</p>\n<ul>\n<li><code>id</code></li>\n<li><code>name</code></li>\n<li><code>createdDate</code></li>\n<li><code>lastEventDate</code></li>\n</ul>\n<p>The attributes of the <code>runtime</code> child resource are also supported, such as <code>runtime.status</code> and <code>runtime.priority</code>.\nHowever, that requires the <code>runtime</code> object to be included in the <i>expand</i> parameter (either through the use of <code>all</code> or\n<code>runtime</code> values), and they have no effect for historical batches. The <code>runtime</code> attributes <code>runtime.state</code> and\n<code>runtime.lock.step.type</code> are not supported.</p> \n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=id</code></li>\n<li><code>?orderBy=name;lastEventDate:asc</code></li>\n<li><code>?orderBy=name&amp;orderBy=lastEventDate:desc</code></li>\n<li><code>?orderBy=createdDate:asc</code></li>\n<li><code>?orderBy=createdDate:asc;runtime.priority</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include\nthe total number of batch audit details in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting batch audit details collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the batch audit details collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the batch audit detail, and is used for filtering\nresults in collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can be muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format, governed by\n<a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>Only the following attributes of a batch audit detail are supported in a <b>q</b> expression:</p>\n<ul>\n<li><code>id</code></li>\n<li><code>name</code></li>\n<li><code>createdDate</code></li>\n<li><code>lastEventDate</code></li>\n</ul>\n<p>The attributes of the <code>runtime</code> child resource are also supported, such as <code>runtime.state</code> are <code>runtime.priority</code>.\nHowever, that requires the <code>runtime</code> object to be included in the <i>expand</i> parameter (either through the use of <code>all</code> or\n<code>runtime</code> values), and they have no effect for historical batches.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(id eq \"636\") or (id eq \"637\")</code></li>\n<li><code>?q=(runtime.status eq \"Assigned Total\" and createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(runtime.priority gt 2)&amp;q=(createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(lastEventDate ge \"2021-05-26\")</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the batch audit details.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/BatchAuditDetails"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/audit/batches/{batchId}":{
            "get":{
                "x-internal-id":"audit-batches-{batchId}-get",
                "x-filename-id":"audit-batches-batchid-get",
                "summary":"Get a Batch Audit Detail",
                "operationId":"readBatchAuditDetail",
                "tags":[
                    "Auditing"
                ],
                "description":"<p>This operation will return the audit details for the batch specified by the <b>batchId</b> parameter.</p>\n\n<p>The <b>expand</b> parameter can used in this operation, which will result in child resources/collections being included inline.\nThe child collection of <code>documents</code> is supported. If used, the response will contain all the associated <i>Document Audit Detail</i>\nobjects for all documents in the batch. Additionally, the child resource of <code>runtime</code> is supported. When used, if the batch is\npresently in Capture, it's runtime state information will be returned in the response.</p>\n",
                "parameters":[
                    {
                        "name":"batchId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the batch in Capture.</p>\n"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code>\nin lower case), all child resources/collections of the requested batch audit detail are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>runtime</code></li>\n  <li><code>documents</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=runtime</code><br />\nExpands the <i>runtime</i> object of this batch audit detail, if any.</p>\n\n<p><b>Example</b> : <code>?expand=documents</code><br />\nExpands the collection of <i>documents</i> of this batch audit detail, if any.</p>\n"
                    },
                    {
                        "name":"locale",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>locale</i> parameter is used to specify the language translations used for messages in the audit events. The value must be in\nthe form of standard language tags as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n\n<p>If this is not specified, the default language settings locale will be used.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The batch audit detail specified by <b>batchId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/BatchAuditDetail"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/audit/documents":{
            "get":{
                "x-internal-id":"audit-documents-get",
                "x-filename-id":"audit-documents-get",
                "summary":"List all Document Audit Details",
                "operationId":"listDocumentAuditDetails",
                "tags":[
                    "Auditing"
                ],
                "description":"<p>This operation will return a collection of all the audit details for documents in Capture.</p>\n\n<p>As a batch flows through Capture, events occur pertaining to that batch. This occurrs for documents as well. Events for documents\ncan include that it was committed, or perhaps that its document profile was changed. It could also be runtime requirements such as\nthe document was skipped in a processing job because it wasn't part of the restricted to criteria. Error conditions, such as a barcode\nnot being present, can generate a document event.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results.</p>\n\n<p>This operation supports the <b>expand</b> parameter as well, which is used to include child resources/collections inline. The\nchild resource of <code>runtime</code> is supported. When used, if the document is presently in Capture, it's runtime state\ninformation will be returned in the response.</p>\n\n<p>If there are no document audit details, or they don't match the filtering criteria, an empty collection will be returned.</p>\n",
                "parameters":[
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code> in'\nlower case), all child resources/collections of the requested batch audit detail are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections of a document audit detail are:</p>\n<ul>\n  <li><code>runtime</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=runtime</code><br />\nExpands the <i>runtime</i> object of this document audit detail, if any.</p>\n"
                    },
                    {
                        "name":"locale",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>locale</i> parameter is used to specify the language translations used for messages in the audit events. The value must be in\nthe form of standard language tags as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n\n<p>If this is not specified, the default language settings locale will be used.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the document audit detail collection.\nThis parameter is optional as a document audit detail collection has a default sort order of <code>lastEventDate</code> descending.</p>\n\n<p>This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>Only the following attributes of a batch audit detail are supported in an <b>orderBy</b>:</p>\n<ul>\n<li><code>id</code></li>\n<li><code>title</code></li>\n<li><code>createdDate</code></li>\n<li><code>lastEventDate</code></li>\n<li><code>batch.id</code></li>\n<li><code>batch.name</code></li>\n</ul>\n<p>The attributes of the <code>runtime</code> child resource are also supported, such as <code>runtime.sourceName</code> and <code>runtime.profile.name</code>.\nHowever, that requires the <code>runtime</code> object to be included in the <i>expand</i> parameter (either through the use of <code>all</code> or\n<code>runtime</code> values), and they have no effect for historical documents. The <code>runtime</code> attributes <code>runtime.stateToken</code> and\n<code>runtime.mediaType</code> are not supported.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=id</code></li>\n<li><code>?orderBy=name;lastEventDate:asc</code></li>\n<li><code>?orderBy=name&amp;orderBy=lastEventDate:desc</code></li>\n<li><code>?orderBy=createdDate:asc</code></li>\n<li><code>?orderBy=createdDate:asc;runtime.sourceName</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include the total number of document\naudit details in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting document audit details collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the dopcument audit details collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the document audit detail, and is used for filtering\nresults in the collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can be muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format, governed by\n<a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>Only the following attributes of a document audit detail are supported in a <b>q</b> expression:</p>\n<ul>\n<li><code>id</code></li>\n<li><code>title</code></li>\n<li><code>createdDate</code></li>\n<li><code>lastEventDate</code></li>\n<li><code>batch.id</code></li>\n<li><code>batch.name</code></li>\n</ul>\n<p>The attributes of the <code>runtime</code> child resource are also supported, such as <code>runtime.sourceName</code> and <code>runtime.profile.name</code>.\nHowever, that requires the <code>runtime</code> object to be included in the <i>expand</i> parameter (either through the use of <code>all</code> or\n<code>runtime</code> values), and they have no effect for historical documents. The <code>runtime</code> attributes <code>runtime.stateToken</code> and\n<code>runtime.mediaType</code> are not supported.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(batch.id eq \"342\") and (lastEventDate ge \"2021-05-26\")</code></li>\n<li><code>?q=(runtime.profile.name eq \"Plumbing Invoice\" and createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(runtime.size gt 250000)&amp;q=(createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(lastEventDate ge \"2021-05-26\")</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the document audit details.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/DocumentAuditDetails"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/audit/documents/{docId}":{
            "get":{
                "x-internal-id":"audit-documents-{docId}-get",
                "x-filename-id":"audit-documents-docid-get",
                "summary":"Get a Document Audit Detail",
                "operationId":"readDocumentAuditDetail",
                "tags":[
                    "Auditing"
                ],
                "description":"<p>This operation will return the audit details for the document specified by the <b>docId</b> parameter.</p>\n\n<p>The <b>expand</b> parameter can used, which will include child resources/collections inline. The child resource of <code>runtime</code>\nis supported. When used, if the document is presently in Capture, it's runtime state information will be returned in the response.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code>\nin lower case), all child resources/collections of the requested batch audit detail are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>runtime</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=runtime</code><br />\nExpands the <i>runtime</i> object of this document audit detail, if any.</p>\n"
                    },
                    {
                        "name":"locale",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>locale</i> parameter is used to specify the language translations used for messages in the audit events. The value must be in\nthe form of standard language tags as defined by <a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n\n<p>If this is not specified, the default language settings locale will be used.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The document audit detail specified by <b>docId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/DocumentAuditDetail"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/steps/{stepId}/tasks/documents":{
            "get":{
                "x-internal-id":"steps-{stepId}-tasks-documents-get",
                "x-filename-id":"steps-stepid-tasks-documents-get",
                "summary":"Get Documents from a Processing Task Queue",
                "operationId":"listDocumentTasks",
                "tags":[
                    "Steps"
                ],
                "description":"<p>This operation is used by external systems to see which documents in Capture are presently in a given step that need to be processed. Once\na document task has been <i>completed</i>, it is no longer in the task queue.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results.</p>\n\n<p>If there are no documents, or they don't match the filtering criteria, an empty collection will be returned.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will contain all document\ntasks for the queue matching any specified query arguments. If the <i>OAuth</i> token does not represent an account that is a\n<b>Capture Administator</b>, meaning it is just a <b>Capture User</b>, an error will be returned if the account has not been granted explict\naccess to the step. If the account has been granted explict access to the step, all the document taks for the queue matching any specified\nquery arguments.</p>\n",
                "parameters":[
                    {
                        "name":"stepId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the processing step in Capture.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the collection. This parameter is optional\nas a document task collection has a default sort order of <code>taskNumber</code> ascending.</p>\n\n<p>This parameter accepts an attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>All the attributes of the <code>document</code> of the task are supported in an <b>orderBy</b> with the exception of:</p>\n<ul>\n<li><code>document.mediaType</code></li>\n<li><code>document.fields</code></li>\n<li><code>document.links</code></li>\n</ul>\n<p>However, the default sort order of <code>taskNumber</code> ascending is typically what is desired.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=task.number</code></li>\n<li><code>?orderBy=document.batch.id</code></li>\n<li><code>?orderBy=document.batch.id;document.updatedDate:asc</code></li>\n<li><code>?orderBy=document.title&amp;orderBy=document.createdDate:desc</code></li>\n<li><code>?orderBy=document.size:asc</code></li>\n<li><code>?orderBy=document.profile.name;document.size:asc</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include the total number of document tasks in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting document task collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the document task collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the document, and is used for filtering\nresults in collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format, governed by\n<a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>All simple attributes of a document task are supported in a <b>q</b> expression with the exception of:</p>\n<ul>\n<li><code>document.step.id</code></li>\n<li><code>document.step.name</code></li>\n<li><code>document.step.type</code></li>\n<li><code>document.mediaType</code></li>\n</ul>\n<p>Child resource attributes, such as <code>document.batch.id</code> and <code>document.profile.name</code>, are also supported. However, array\nattributes such as <code>documents.fields</code> and <code>document.links</code>, are not supported.\n\n<p>A typical use case is to query for document tasks that are greater than document tasks previously queried. In this case, the query expression\nwould be <i>q=(taskNumber gt 7832)</i></p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(taskNumber gt 7832)</code></li>\n<li><code>?q=(document.batch.id eq \"323\" and document.createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(document.profile.name eq \"Example Document Profile\") and (document.size lt 50000)</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the document tasks that need to be processed in the given step.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/DocumentTasks"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/steps/{stepId}/tasks/documents/complete":{
            "put":{
                "x-internal-id":"steps-{stepId}-tasks-documents-complete-put",
                "x-filename-id":"steps-stepid-tasks-documents-complete-put",
                "summary":"Complete Document Processing in a Task Queue",
                "operationId":"completeDocumentTasks",
                "tags":[
                    "Steps"
                ],
                "description":"<p>This operation is used by external systems to identify to Capture that supplied documents have been processed. The processing of the task\ncan either be successful or result in a failure, and the request body needs to identify that. Regardless, this indicates that the external\nsystem has completed processing of the document.</p>\n\n<p>The request body is an array of document task results that have been completed.</p>\n\n<p>If a document task result in the array fails to complete, other results in the array are not affected. However, the response will\nindicate an error with the status code of <b>422 Unprocessable Entity</b>, and will contain an array of results, along with errors, that\ncould not be completed.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access to the step\nidentified by <b>stepId</b>. It makes no difference if the account represents a <b>Capture Administator</b> or a <b>Capture User</b>.</p>\n",
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"stepId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the processing step in Capture.</p>\n"
                    },
                    {
                        "in":"body",
                        "name":"tasks",
                        "required":true,
                        "schema":{
                            "$ref":"#/definitions/DocumentTaskResults"
                        }
                    }
                ],
                "responses":{
                    "204":{
                        "description":"<p><b>No Content</b></p>\n"
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "422":{
                        "description":"<p><b>Unprocessable Entity</b></p>\n<p>The request was well-formed, but the server was unable to process the contained resources/instructions.</p>\n<p>The response is an array of <i>Document Task Error</i> objects. There will be an entry in the array for\neach document task that failed to complete. It will be in ascending order by <b>taskNumber</b> of the\n<i>Document Task Error</i> object. Each <i>Document Task Error</i> in the array will contain an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object that provides details on the underlying cause.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/DocumentTaskErrors"
                        }
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/batches":{
            "get":{
                "x-internal-id":"batches-get",
                "x-filename-id":"batches-get",
                "summary":"List all Batches",
                "operationId":"listBatches",
                "tags":[
                    "Batches"
                ],
                "description":"<p>This operation will return a collection of the batches in Capture.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results.\n\n<pThis operation supports the <b>expand</b> parameter as well, which is used to include child resources/collections inline. The collection\nresource of <code>documents</code> is supported in the expand parameter; and will inline all the documents of the batch.</p>\n\n<p>If there are no documents, or they don't match the filtering criteria, an empty collection will be returned.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will contain all batches\nmatching any specified query arguments regardless of procedures. If the <i>OAuth</i> token does not represent an account that is a <b>Capture\nAdministator</b>, meaning it is just a <b>Capture User</b>, the response will contain only those batches initiated from <i>Client Profiles<i>\nor <i>Import Jobs</i> in which the account has been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code>\nin lower case), all child resources/collections of the requested batch are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>documents</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=documents</code><br />\nExpands the collection of <i>documents</i> of this batch, if any.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the batch collection. This parameter is optional\nas a batch collection has a default sort order of <code>updatedDate</code> descending.</p>\n\n<p>This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>All the attributes of a batch are supported in an <b>orderBy</b> with the exception of:</p>\n<ul>\n<li><code>state</code></li>\n<li><code>notes</code></li>\n<li><code>error</code></li>\n<li><code>links</code></li>\n</ul>\n<p>Attributes of the <code>procedure</code> and <code>lock</code> child resources, such as <code>procedure.name</code> and <code>lock.lockedDate</code>, are also supported.\nHowever, the attribute <code>lock.step.type</code> is not supported.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=id</code></li>\n<li><code>?orderBy=id;updatedDate:asc</code></li>\n<li><code>?orderBy=name&amp;orderBy=createdDate:desc</code></li>\n<li><code>?orderBy=priority:desc</code></li>\n<li><code>?orderBy=priority:desc;status:asc</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include the total number of batches in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting batch collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the batch collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the batch, and is used for filtering\nresults in collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can be muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format, governed by\n<a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>All simple attributes of a batch are supported in a <b>q</b> expression with the exception of:</p>\n<ul>\n<li><code>notes</code></li>\n<li><code>error</code></li>\n</ul>\n<p>Attributes of the <code>procedure</code> and <code>lock</code> child resources, such as <code>procedure.id</code> and <code>lock.lockedDate</code>, are also supported.\nAdditionally, array attributes such as <code>links</code> are not supported; nor are child collections such as <code>documents</code>.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(id eq \"636\") or (id eq \"637\")</code></li>\n<li><code>?q=(status eq \"Assigned Total\" and createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(priority gt 2)&amp;q=(createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(lock.lockedDate ge \"2021-05-26\")</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the batches.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Batches"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/batches/{batchId}":{
            "get":{
                "x-internal-id":"batches-{batchId}-get",
                "x-filename-id":"batches-batchid-get",
                "summary":"Get a Batch",
                "operationId":"readBatch",
                "tags":[
                    "Batches"
                ],
                "description":"<p>This operation will return the batch specified by the <b>batchId</b> parameter.</p>\n\n<p>This operation supports the <b>expand</b> parameter as well, which is used to include child resources/collections inline. The collection\nresource of <code>documents</code> is supported in the expand parameter; and will inline all the documents of the batch.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will return the given\nbatch, provided it exists. If the <i>OAuth</i> token does not represent an account that is a <b>Capture Administator</b>, meaning it\nis just a <b>Capture User</b>, the response will only return the batch if it exists and the batch was initiated from a <i>Client Profile<i>\nor an <i>Import Job</i> in which the account has been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"batchId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the batch in Capture.</p>\n"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>expand</b> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code>\nin lower case), all child resources/collections of the requested batch are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>documents</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=documents</code><br />\nExpands the collection of <i>documents</i> of this batch, if any.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The batch specified by <b>batchId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Batch"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/batches/{batchId}/history":{
            "get":{
                "x-internal-id":"batches-{batchId}-history-get",
                "x-filename-id":"batches-batchid-history-get",
                "summary":"Get the history of a Batch",
                "operationId":"readBatchHistory",
                "tags":[
                    "Batches"
                ],
                "description":"<p>This operation will return this <i>history</i> of a given batch as specified by the <b>batchId</b> parameter. This history\nis a collection of message activities have occurred within the batch, as well as associated documents. In essence, it represents\nactivity logging of that batch processing.</p>\n\n<p>The <i>history</i> is only available while the batch is present. Once the batch is deleted from Capture, either manually or\nthrough a Commit operation, this <i>history</i> is removed from the system. At that point, only audit information may be obtained.</p>\n",
                "parameters":[
                    {
                        "name":"batchId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the batch in Capture.</p>\n"
                    },
                    {
                        "name":"locale",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>locale</i> parameter is used to specify the language translations used for messages in the audit events. It does not\neffect the language of detail activity messages. The value must be in the form of standard language tags as defined by\n<a href=\"https://datatracker.ietf.org/doc/html/rfc4647\">RFC 4647</a>.</p>\n\n<p>If this is not specified, the default language settings locale will be used.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The batch history specified by <b>batchId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/BatchHistory"
                        }
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents":{
            "get":{
                "x-internal-id":"documents-get",
                "x-filename-id":"documents-get",
                "summary":"List all Documents",
                "operationId":"listDocuments",
                "tags":[
                    "Documents"
                ],
                "description":"<p>This operation will return a collection of the documents in Capture.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results. This operation supports the <b>expand</b>\nparameter as well, which is used to include child resources/collections inline. The child resource of <code>batch</code> is supported.\nIf that resource is not expanded, then it just contains the summary information of <code>id</code> and <code>name</code>. The collection\nresource of <code>attachments</code> is also supported in the expand parameter; and will inline all the attachments of the document.</p>\n\n<p>If there are no documents, or they don't match the filtering criteria, an empty collection will be returned.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will contain all documents\nmatching any specified query arguments regardless of procedure, batch, or step. If the <i>OAuth</i> token does not represent an account that is a\n<b>Capture Administator</b>, meaning it is just a <b>Capture User</b>, the response will contain only those documents that are currently in a\nstep in which the account has been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <i>expand</i> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code>\nin lower case), all child resources/collections of the requested docment are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>batch</code></li>\n  <li><code>attachments</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=batch</code><br />\nExpands the <i>batch</i> child resource of this document.</p>\n\n<p><b>Example</b> : <code>?expand=attachments</code><br />\nExpands the collection of <i>attachments</i> of this document, if any.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the document collection. This parameter is optional\nas a document collection has a default sort order of <code>updatedDate</code> descending.</p>\n\n<p>This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>All the attributes of a document are supported in an <b>orderBy</b> with the exception of:</p>\n<ul>\n<li><code>stateToken</code></li>\n<li><code>mediaType</code></li>\n<li><code>fields</code></li>\n<li><code>links</code></li>\n</ul>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=batch.id</code></li>\n<li><code>?orderBy=batch.id;updatedDate:asc</code></li>\n<li><code>?orderBy=title&amp;orderBy=createdDate:desc</code></li>\n<li><code>?orderBy=size:asc</code></li>\n<li><code>?orderBy=profile.name;size:asc</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include the total number of documents in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting document collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the document collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the document, and is used for filtering\nresults in collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can be muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>All simple attributes of a document are supported in a <b>q</b> expression with the exception of:</p>\n<ul>\n<li><code>stateToken</code></li>\n<li><code>mediaType</code></li>\n</ul>\n<p>Child resource attributes, such as <code>batch.id</code> and <code>profile.name</code>, are also supported. However, array resources such as\n<code>fields</code> and <code>links</code>, are not supported; nor are child collections such as <code>attachments</code>.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(step.id eq \"06ed7cb1-6b1b-4828-b4ba-c8ab31a45903\" and createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(step.id eq \"06ed7cb1-6b1b-4828-b4ba-c8ab31a45903\")&amp;q=(createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(profile.name eq \"Example Document Profile\") and (size lt 50000)</code></li>\n<li><code>?q=(updatedDate ge \"2021-05-26\")</code></li>\n<li><code>?q=(batch.id eq \"636\") or (batch.id eq \"637\")</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the documents.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Documents"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents/{docId}":{
            "get":{
                "x-internal-id":"documents-{docId}-get",
                "x-filename-id":"documents-docid-get",
                "summary":"Get a Document",
                "operationId":"readDocument",
                "tags":[
                    "Documents"
                ],
                "description":"<p>This operation will return the document specified by the <b>docId</b> parameter.</p>\n\nThis operation supports the <b>expand</b> parameter, which includes child resources/collections inline. The child resource of\n<code>batch</code> is supported. If that resource is not expanded, then it just contains the summary information of <code>id</code>\nand <code>name</code>. The collection resource of <code>attachments</code> is also supported in the expand parameter, and will inline\nall the attachments of the document.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will return the given\ndocument, provided it exists. If the <i>OAuth</i> token does not represent an account that is a <b>Capture Administator</b>, meaning it\nis just a <b>Capture User</b>, the response will only return the document if it exists and the document is currently in a step in which\nthe account as been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>expand</b> parameter provides the option of getting child resources/collections inline with the response. It accepts\na comma-separated list of attribute names or <code>all</code>. When expand is specified as <code>all</code> (with <code>all</code> in\nlower case), all child resources/collections of the requested docment are expanded.</p>\n\n<p>When the expand parameter contains a non-defined child resource, the request operation results in an error. The available child\nresources/collections are:</p>\n<ul>\n  <li><code>batch</code></li>\n  <li><code>attachments</code></li>\n</ul>\n\n<p><b>Example</b> : <code>?expand=batch</code><br />\nExpands the <i>batch</i> child resource of this document.</p>\n\n<p><b>Example</b> : <code>?expand=attachments</code><br />\nExpands the collection of <i>attachments</i> of this document, if any.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The document specified by <b>docId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Document"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            },
            "put":{
                "x-internal-id":"documents-{docId}-put",
                "x-filename-id":"documents-docid-put",
                "summary":"Update a Document",
                "operationId":"updateDocument",
                "tags":[
                    "Documents"
                ],
                "description":"<p>This operation is used to modify a document. It allows for both the document data, and its content, to be modified in a \nsingle operation.</p>\n\n<p>The request body of the operation requires at least the <code>document</code> parameter. The <code>content</code>\nparameter is optional, and only necessary if a change of the document contents is desired.</p>\n\n<p>The <code>document</code> parameter is a document object and essentially <i>patches</i> the document with the attributes that\nare both present in the request body and updatable. A <i>merge-patch</i> media sub-type isn't used because the document\nobject contains an array, and that would require the entire contents of the array to be in the request body.\n<a href=\"https://datatracker.ietf.org/doc/html/rfc7386\">RFC 7386</a>, which governs the <i>merge-patch</i>, provides no\nsematics in which to update elements an array. Even though a <i>merge-patch</i> isn't used, just the desired changes are\nrequired in the request body, and therefore, just the fields that are being updated need to be present.\nThe updatable attributes are:</p>\n<ul>\n  <li><code>title</code></li>\n  <li><code>profile</code></li>\n  <li><code>fields</code></li>\n  <li><code>comment</code></li>\n</ul>\n<p>An update to either the <code>title</code> or <code>comment</code> is a simple string change. An update to the docment profile\n(<code>profile</code>) requires setting its value to a different document profile object. The object must contain either the\n<code>id</code> attribute or the <code>name</code> attribute, or it can contain both. Only one attribute is necessary because the\nnames are unique in the procedure definition. To clear a current document profile, or any other attributes, its value in the document\nobject must be set to <code>null</code>. Lastly, only those fields that are being set or changed, need to exist in the\n<code>fields</code> array.</p>\n\n<p>The document object must also contain its <code>stateToken</code>. This is necessary to ensure the object is still the same\nthat is being updated. The <code>stateToken</code> will be different if it was was already updated from the last time it was\nrequested. This ensures there aren't concurrent updates, and prevents overwriting of data.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which this document presently resides. It makes no difference if the account represents a <b>Capture Administator</b>\nor a <b>Capture User</b>.</p>\n",
                "consumes":[
                    "multipart/form-data"
                ],
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"document",
                        "type":"string",
                        "required":true,
                        "description":"<p>This is a document object. The <i>Content-Type</i> of the mulitpart must be used and must identify\nthe application encoding used for the string value. This must be <b>application/json</b>.</p>\n\n<p>The document object must also contain its <code>stateToken</code> that represents its believed current state.\nIf the supplied <code>stateToken</code> does not match the document's current <code>stateToken</code>, the update\noperation will result in an error.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"content",
                        "type":"file",
                        "required":false,
                        "description":"<p>This is the actual document content, for instance, an updated image as a result of processing.</p> The <i>Content-Type</i>\nof the multipart must identify the type of file. And, the <i>Content-Disposition</i> must contain the <b>filename</b>.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The document, containing any updates.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Document"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "409":{
                        "description":"<p><b>Conflict</b></p>\n<p>This response indicates the request conflicts with current state of the target resource. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>Generally, an error response of 412 (Precondition Failed) will be returned. But a <b>Conflict</b> can occur when\nthere are simultaneous edits on a resource.</p>\n"
                    },
                    "412":{
                        "description":"<p><b>Precondition Failed</b></p>\n<p>The server does not meet one of the preconditions of the request. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>This error response is used specifically when the <code>stateToken</code> used in the request body does not\nmatch the current <code>stateToken</code> of the resource.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            },
            "delete":{
                "x-internal-id":"documents-{docId}-delete",
                "x-filename-id":"documents-docid-delete",
                "summary":"Delete a Document",
                "operationId":"deleteDocument",
                "tags":[
                    "Documents"
                ],
                "description":"<p>This operation will delete, from Capture, the document specified by the <b>docId</b> parameter.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which this document presently resides. It makes no difference if the account represents a <b>Capture Administator</b>\nor a <b>Capture User</b>.</p>\n",
                "consumes":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "in":"body",
                        "name":"document",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "properties":{
                                "stateToken":{
                                    "type":"string",
                                    "description":"<p>A generated string value that represents a particular state of the document.</p>\n<p>In general, it is used to allow modifications of the document to proceed. It is essentially saying ...\n<u><i>delete this document if its current <code>stateToken</code> matches this value</i></u>. If the values do\nnot match, the modification is not permitted and the operation results in an error.</p>\n"
                                }
                            },
                            "required":[
                                "stateToken"
                            ]
                        },
                        "description":"<p>This represents the <i>document</i> to be deleted. It can be the entire document object, but the only attribute that is necessary is\nthe <code>stateToken</code>. It is necessary to verify the delete operation can proceed.</p>\n<p>The value of the <code>stateToken</code> needs to be the value from the document to delete, its believed current state. If the <code>stateToken</code>\nvalue does not match the document's current <code>stateToken</code> value, the delete operation will result in an error.</p>\n"
                    }
                ],
                "responses":{
                    "204":{
                        "description":"No Content"
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "409":{
                        "description":"<p><b>Conflict</b></p>\n<p>This response indicates the request conflicts with current state of the target resource. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>Generally, an error response of 412 (Precondition Failed) will be returned. But a <b>Conflict</b> can occur when\nthere are simultaneous edits on a resource.</p>\n"
                    },
                    "412":{
                        "description":"<p><b>Precondition Failed</b></p>\n<p>The server does not meet one of the preconditions of the request. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>This error response is used specifically when the <code>stateToken</code> used in the request body does not\nmatch the current <code>stateToken</code> of the resource.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents/{docId}/content":{
            "get":{
                "x-internal-id":"documents-{docId}-content-get",
                "x-filename-id":"documents-docid-content-get",
                "summary":"Get the Document Content",
                "operationId":"readDocumentContent",
                "tags":[
                    "Documents"
                ],
                "description":"<p>This operation will return the raw content of the document specified by the <b>docId</b> parameter.</p>\n\n<p>The <i>Content-Type</i> of the response is dependent on the <code>mediaType</code> of the document. Typically, the document will be some type of image\nsuch as TIFF, JPG, PNG, etc. However, it could also be a Microsoft Office document or PDF file.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will return the given\ndocument content, provided it exists. If the <i>OAuth</i> token does not represent an account that is a <b>Capture Administator</b>, meaning it\nis just a <b>Capture User</b>, the response will only return the document if it exists and the document is currently in a step in which\nthe account as been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    }
                ],
                "produces":[
                    "*/*"
                ],
                "responses":{
                    "200":{
                        "description":"<p>The document's raw content specified by the <b>docId</b> parameter.</p>\n<p>The <i>Content-Type</i> of the response is dependent on the <code>mediaType</code> of the document. Typically, the document will be some type of image,\nsuch as TIFF, JPG, PNG, etc. However, it could also be a Microsoft Office document or PDF file.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents/{docId}/attachments":{
            "get":{
                "x-internal-id":"documents-{docId}-attachments-get",
                "x-filename-id":"documents-docid-attachments-get",
                "summary":"List all Document Attachments",
                "operationId":"listAttachments",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation will return the collection of attachments, if any, of the document specified by <b>docId</b>.</p>\n\n<p>The <b>q</b> parameter can be used to filter the results in this collection. The <b>orderBy</b> parameter provides a means to\nsort the collection. The <b>totalResults</b> parameter will return the total number of results that match the query. The other\nparameters, <b>limit</b> and <b>offset</b>, are used for <i>paging</i> of the results.</p>\n\n<p>If there are no attachments of the document, or they don't match the filtering criteria, an empty collection will be returned.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will contain all attachments\nmatching any specified query arguments regardless of procedure, batch, or step. If the <i>OAuth</i> token does not represent an account that is a\n<b>Capture Administator</b>, meaning it is just a <b>Capture User</b>, the response will contain the attachments of the document if it is currently in a\nstep in in which the account has been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>orderBy</b> parameter is used to control the ordering (ascending/descending) of results in the attachment collection. This parameter is optional\nas an attachment collection has a default sort order of <code>updatedDate</code> descending.</p>\n\n<p>This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending).\nIf a sort order it not specified, it will be sorted in ascending order. <i>Note : <b>asc</b> stands for ascending and <b>desc</b> for descending.</i>\nMultiple sort orders can be separated by semicolon (;). For example, <i>orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}</i>. Also,\nthere can also be mulitple <b>orderBy</b> query parameters, and they are applied in query string parameter order.</p>\n\n<p>All the attributes of an attachment are supported in an <b>orderBy</b> with the exception of:</p>\n<ul>\n<li><code>stateToken</code></li>\n<li><code>mediaType</code></li>\n</ul>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?orderBy=batch.id</code></li>\n<li><code>?orderBy=documentId;updatedDate:asc</code></li>\n<li><code>?orderBy=title&amp;orderBy=createdDate:desc</code></li>\n<li><code>?orderBy=size:asc</code></li>\n<li><code>?orderBy=type.name;size:asc</code></li>\n</ul>\n"
                    },
                    {
                        "name":"totalResults",
                        "in":"query",
                        "type":"boolean",
                        "required":false,
                        "default":false,
                        "description":"<p>The <b>totalResults</b> parameter accepts a boolean flag. If specified as <code>true</code>, then the returned result will include the total number of attachments in the query.</p>\n"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":50,
                        "description":"<p>The <b>limit</b> parameter accepts a non-negative integer and is used to control the size of the resulting attachment collection.</p>\n"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "type":"integer",
                        "format":"int32",
                        "required":false,
                        "default":0,
                        "description":"<p>The <b>offset</b> parameter accepts a non-negative integer and is used to control the start index of the attachment collection of the query.</p>\n"
                    },
                    {
                        "name":"q",
                        "in":"query",
                        "type":"string",
                        "required":false,
                        "description":"<p>The <b>q</b> parameter accepts a query expression condition that matches the attribute values of the attachment, and is used for filtering\nresults in collection. The value of the parameter can be a simple expression in the form of\n<i>{attribute name} {condition operator} {attribute value}</i>, or it can muliple expressions grouped and combined with logical operators.</p>\n\n<p>The following conditional operators are supported:</p>\n<ul>\n<li><code>eq</code> - Equals</li>\n<li><code>ne</code> - Not Equals</li>\n<li><code>lt</code> - Less Than</li>\n<li><code>gt</code> - Greater Than</li>\n<li><code>le</code> - Less Than or Equal to</li>\n<li><code>ge</code> - Greater Than or Equal to</li>\n</ul>\n<p>Only the conditional operators <code>eq</code> and <code>ne</code> can be used with string attributes; and, string attributes must be enclosed in\nquote characters (&quot;). Likewise, boolean data types can only use the conditional operators <code>eq</code> and <code>ne</code>. All conditional\noperators can be used with other attribute data types.</p>\n\n<p>Date/time attributes must have their value represented as a string in ISO-8601 Date Time format,\ngoverned by <a href=\"https://datatracker.ietf.org/doc/html/rfc3339\">RFC 3339</a>. For example, <code>\"2021-04-12\"</code>\nor <code>\"2021-04-15T04:27:15-06:00\"</code>. Even though the values are in a string format, they will support numerical type operators, such as\n<code>lt</code> and <code>gt</code>.</p>\n\n<p>Conditional expressions can be joined by the logical operators of <code>and</code> or <code>or</code>. And, can also be grouped using parentheses\n<code>()</code>. For example: <i>(({expression}) and ({expression}))</i>. This forms more complex filters.</p>\n\n<p>Multiple <b>q</b> query parameters are supported, and imply the <code>and</code> logical operator.</p>\n\n<p>All simple attributes of an attachment are supported in a <b>q</b> expression with the exception of:</p>\n<ul>\n<li><code>stateToken</code></li>\n<li><code>mediaType</code></li>\n</ul>\n<p>Child resource attributes, such as <code>batch.id</code> and <code>type.name</code>, are also supported.</p>\n\n<p><b>Examples:</b></p>\n<ul>\n<li><code>?q=(step.id eq \"06ed7cb1-6b1b-4828-b4ba-c8ab31a45903\" and createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(step.id eq \"06ed7cb1-6b1b-4828-b4ba-c8ab31a45903\")&amp;q=(createdDate ge \"2021-05-01\")</code></li>\n<li><code>?q=(type.name eq \"Example Attachment Type\") and (size lt 50000)</code></li>\n<li><code>?q=(updatedDate ge \"2021-05-26\")</code></li>\n<li><code>?q=(batch.id eq \"636\") or (batch.id eq \"637\")</code></li>\n</ul>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>A list of all the attachments for the document specified by <b>docId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Attachments"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            },
            "post":{
                "x-internal-id":"documents-{docId}-attachments-post",
                "x-filename-id":"documents-docid-attachments-post",
                "summary":"Create an Attachment",
                "operationId":"createAttachment",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation can be used to create an attachment for a given document.</p>\n\n<p>The request body of the operation requires at least the <code>content</code> parameter. The attributes that make up an\nattachment can be obtained from the <code>content</code> (e.g. the attachment title). However, if desired, the\n<code>attachment</code> parameter can be used to set attributes. And, this is necessary if the attachment is to be of a\nspecific attachment type.</p>\n\n<p>The <code>attachment</code> parameter is an attachment object and essentially <i>patches</i> the default attributes that\nmake up and attachment. Just the attributes that are desired to be set are required in the object. The only attributes that\ncan be set are:</p>\n<ul>\n  <li><code>title</code></li>\n  <li><code>type</code></li>\n  <li><code>comment</code></li>\n</ul>\n<p>Both the <code>title</code> and <code>comment</code> are simple strings. To set the attachment type (<code>type</code>)\nrequires specifying an attachment type object. The object must contain either the <code>id</code> attribute or the\n<code>name</code> attribute, or it can contain both. Only one attribute is necessary because the names are unique in the\nprocedure definition.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which the attachment's document presently resides. It makes no difference if the account represents a\n<b>Capture Administator</b> or a <b>Capture User</b>.</p>\n",
                "consumes":[
                    "multipart/form-data"
                ],
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"content",
                        "type":"file",
                        "required":true,
                        "description":"<p>This is the actual attachment content, for instance, an image as a result of processing.</p> The <i>Content-Type</i>\nof the multipart must identify the type of file. And, the <i>Content-Disposition</i> must contain the <b>filename</b>.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"attachment",
                        "type":"string",
                        "required":false,
                        "description":"<p>This is an attachment object. The <i>Content-Type</i> of the mulitpart must be used and must identify\nthe application encoding used for the string value. This must be <b>application/json</b>.</p>\n"
                    }
                ],
                "responses":{
                    "201":{
                        "description":"<p>The new attachment</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Attachment"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "409":{
                        "description":"<p><b>Conflict</b></p>\n<p>This response indicates the request conflicts with current state of the target resource. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>Generally, this will typically occur when the given document is not presently in a processing step.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents/{docId}/attachments/{attId}":{
            "get":{
                "x-internal-id":"documents-{docId}-attachments-{attId}-get",
                "x-filename-id":"documents-docid-attachments-attid-get",
                "summary":"Get an Attachment",
                "operationId":"readAttachment",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation will return the <b>attachment</b> specified by the <i>docId</i> and <i>attId</i> parameters.</p>\n\n<p>It is an error if the attachment is not <i>attached</i> to the given document.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which this document presently resides. It makes no difference if the account represents a <b>Capture Administator</b>\nor a <b>Capture User</b>.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"attId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the attachment in Capture.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The attachment specified by <b>docId</b> and <b>attId</b>.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Attachment"
                        }
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            },
            "put":{
                "x-internal-id":"documents-{docId}-attachments-{attId}-put",
                "x-filename-id":"documents-docid-attachments-attid-put",
                "summary":"Update an Attachment",
                "operationId":"updateAttachment",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation is used to modify an attachment. It allows for both the attachment data, and its content, to be modified in a \nsingle operation.</p>\n\n<p>The request body of the operation requires at least the <code>attachment</code> parameter. The <code>content</code>\nparameter is optional, and only necessary if a change of the attachment contents is desired.</p>\n\n<p>The attachment object of the request bodies essentially <i>patches</i> the attachment with the attributes that are both\npresent in the request body and updatable. A <i>merge-patch</i> media sub-type isn't used to be consistent with other\noperations that cannot use a <i>merge-patch</i>. Even though a <i>merge-patch</i> isn't used, just the desired changes are\nrequired in the request body, and therefore, just the fields that are being updated need to be present.\nThe updatable attributes are:</p>\n<ul>\n  <li><code>title</code></li>\n  <li><code>type</code></li>\n  <li><code>comment</code></li>\n</ul>\n<p>An update to either the <code>title</code> or <code>comment</code> is a simple string change. An update to the attachment type\n(<code>type</code>) requires setting its value to a different attachment type object. The object must contain either the\n<code>id</code> attribute or the <code>name</code> attribute, or it can contain both. Only one attribute is necessary because the\nnames are unique in the procedure definition. To clear a current attachment type, its value in the document object must be set\nto <code>null</code>.</p>\n\n<p>The attachment object must also contain its <code>stateToken</code>. This is necessary to ensure the object is still the same\nthat is being updated. The <code>stateToken</code> will be different if it was was already updated from the last time it was\nrequested. This ensures there aren't concurrent updates, and prevents overwriting of data.</p>\n\n<p>It is an error if the attachment is not <i>attached</i> to the given document.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which this document presently resides. It makes no difference if the account represents a <b>Capture Administator</b>\nor a <b>Capture User</b>.</p>\n",
                "consumes":[
                    "multipart/form-data"
                ],
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"attId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the attachment in Capture.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"attachment",
                        "type":"string",
                        "required":true,
                        "description":"<p>This is an attachment object. The <i>Content-Type</i> of the mulitpart must be used and must identify\nthe application encoding used for the string value. This must be <b>application/json</b>.</p>\n\n<p>The attachment object must also contain its <code>stateToken</code> that represents its believed current state.\nIf the supplied <code>stateToken</code> does not match the attachment's current <code>stateToken</code>, the update\noperation will result in an error.</p>\n"
                    },
                    {
                        "in":"formData",
                        "name":"content",
                        "type":"file",
                        "required":false,
                        "description":"<p>This is the actual attachment content, for instance, an updated image as a result of processing.</p> The <i>Content-Type</i>\nof the mulitpart must identify the type of file. And, the <i>Content-Disposition</i> must contain the <b>filename</b>.</p>\n"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"<p>The attachment, containing any updates.</p>\n",
                        "schema":{
                            "$ref":"#/definitions/Attachment"
                        }
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "409":{
                        "description":"<p><b>Conflict</b></p>\n<p>This response indicates the request conflicts with current state of the target resource. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>Generally, an error response of 412 (Precondition Failed) will be returned. But a <b>Conflict</b> can occur when\nthere are simultaneous edits on a resource.</p>\n"
                    },
                    "412":{
                        "description":"<p><b>Precondition Failed</b></p>\n<p>The server does not meet one of the preconditions of the request. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>This error response is used specifically when the <code>stateToken</code> used in the request body does not\nmatch the current <code>stateToken</code> of the resource.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            },
            "delete":{
                "x-internal-id":"documents-{docId}-attachments-{attId}-delete",
                "x-filename-id":"documents-docid-attachments-attid-delete",
                "summary":"Delete an Attachment",
                "operationId":"deleteAttachment",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation will delete, from Capture, the attachment specified by the <b>docId</b> and <b>attId</b> parameters.</p>\n\n<p>It is an error if the attachment is not <i>attached</i> to the given document.</p>\n\n<p><b>Note:</b> The <i>OAuth</i> token used in this request must represent an account that has been granted explict access\nto the step in which this document presently resides. It makes no difference if the account represents a <b>Capture Administator</b>\nor a <b>Capture User</b>.</p>\n",
                "consumes":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"X-Requested-With",
                        "in":"header",
                        "type":"string",
                        "required":true,
                        "description":"<p>A header used to prevent Cross-Site Request Forgery (CSRF) attacks. The only supported value is <b>XMLHttpRequest</b>.</p>\n"
                    },
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"attId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the attachment in Capture.</p>\n"
                    },
                    {
                        "in":"body",
                        "name":"attachment",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "properties":{
                                "stateToken":{
                                    "type":"string",
                                    "description":"<p>A generated string value that represents a particular state of the attachment.</p>\n<p>In general, it is used to allow modifications of the attachment to proceed. It is essentially saying ...\n<u><i>delete this attachment if its current <code>stateToken</code> matches this value</i></u>. If the values do\nnot match, the modification is not permitted and the operation results in an error.</p>\n"
                                }
                            },
                            "required":[
                                "stateToken"
                            ]
                        },
                        "description":"<p>This represents the <i>attachment</i> to be deleted. It can be the entire attachment object, but the only attribute that is necessary is\nthe <code>stateToken</code>. It is necessary to verify the delete operation can proceed.</p>\n<p>The value of the <code>stateToken</code> needs to be the value from the attachment to delete, its believed current state. If the <code>stateToken</code>\nvalue does not match the attachment's current <code>stateToken</code> value, the delete operation will result in an error.</p>\n"
                    }
                ],
                "responses":{
                    "204":{
                        "description":"<p><b>No Content</b></p>\n"
                    },
                    "400":{
                        "description":"<p><b>Bad Request</b></p>\n<p>The request could not be processed because it contains missing or invalid information, such as a\nvalidation error on an input field or a missing required value. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "403":{
                        "description":"<p><b>Forbidden</b></p>\n<p>The request was valid and was understood, but the server is refusing action. This may be due to the account\nnot having the necessary permissions for a resource, or attempting a prohibited action (e.g. creating a duplicate\nitem where only one is allowed). The response will be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "409":{
                        "description":"<p><b>Conflict</b></p>\n<p>This response indicates the request conflicts with current state of the target resource. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>Generally, an error response of 412 (Precondition Failed) will be returned. But a <b>Conflict</b> can occur when\nthere are simultaneous edits on a resource.</p>\n"
                    },
                    "412":{
                        "description":"<p><b>Precondition Failed</b></p>\n<p>The server does not meet one of the preconditions of the request. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n<p>This error response is used specifically when the <code>stateToken</code> used in the request body does not\nmatch the current <code>stateToken</code> of the resource.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        },
        "/documents/{docId}/attachments/{attId}/content":{
            "get":{
                "x-internal-id":"documents-{docId}-attachments-{attId}-content-get",
                "x-filename-id":"documents-docid-attachments-attid-content-get",
                "summary":"Get the Attachment Content",
                "operationId":"readAttachmentContent",
                "tags":[
                    "Attachments"
                ],
                "description":"<p>This operation will return the raw content of the attachment specified by the <b>docId</b> and <b>attId</b> parameters.</p>\n\n<p>The <i>Content-Type</i> of the response is dependent on the <code>mediaType</code> of the attachment. This can vary.</p>\n\n<p>It is an error if the attachment is not <i>attached</i> to the given document.</p>\n\n<p><b>Note:</b> If the <i>OAuth</i> token represents an account that is a <b>Capture Administator</b>, the response will return the given\nattachment, provided it exists. If the <i>OAuth</i> token does not represent an account that is a <b>Capture Administator</b>, meaning it\nis just a <b>Capture User</b>, the response will only return the attachment if it exists and its document is currently in a step in which\nthe account as been granted explict access.</p>\n",
                "parameters":[
                    {
                        "name":"docId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the document in Capture.</p>\n"
                    },
                    {
                        "name":"attId",
                        "in":"path",
                        "type":"string",
                        "required":true,
                        "description":"<p>The unique identifier of the attachment in Capture.</p>\n"
                    }
                ],
                "produces":[
                    "*/*"
                ],
                "responses":{
                    "200":{
                        "description":"<p>The attachment's raw content specified by the <b>docId</b> and <b>attId</b> parameters.</p>\n<p>The <i>Content-Type</i> of the response is dependent on the <code>mediaType</code> of the attachment.</p>\n"
                    },
                    "404":{
                        "description":"<p><b>Not Found</b></p>\n<p>The request includes a resource URI that does not exist. The response will be an\n<a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    },
                    "500":{
                        "description":"<p><b>Internal Server Error</b></p>\n<p>The server encountered an unexpected condition that prevented it from fulfilling the request. The response\nwill be an <a href=\"./ErrorMessages.html\">Error Detail</a> object.</p>\n"
                    }
                }
            }
        }
    }
}