List all Document Attachments
/capture/api/v1.1/documents/{docId}/attachments
This operation will return the collection of attachments, if any, of the document specified by docId.
The q parameter can be used to filter the results in this collection. The orderBy parameter provides a means to sort the collection. The totalResults parameter will return the total number of results that match the query. The other parameters, limit and offset, are used for paging of the results.
If there are no attachments of the document, or they don't match the filtering criteria, an empty collection will be returned.
Note: If the OAuth token represents an account that is a Capture Administator, the response will contain all attachments matching any specified query arguments regardless of procedure, batch, or step. If the OAuth token does not represent an account that is a Capture Administator, meaning it is just a Capture User, the response will contain the attachments of the document if it is currently in a step in in which the account has been granted explict access.
Request
- application/json
-
docId: string
The unique identifier of the document in Capture.
-
limit(optional): integer(int32)
The limit parameter accepts a non-negative integer and is used to control the size of the resulting attachment collection.
Default Value:50
-
offset(optional): integer(int32)
The offset parameter accepts a non-negative integer and is used to control the start index of the attachment collection of the query.
Default Value:0
-
orderBy(optional): string
The orderBy parameter is used to control the ordering (ascending/descending) of results in the attachment collection. This parameter is optional as an attachment collection has a default sort order of
updatedDate
descending.This parameter accepts the attribute name, and can be separated by a colon (:) for which the user wants to sort the results (ascending/descending). If a sort order it not specified, it will be sorted in ascending order. Note : asc stands for ascending and desc for descending. Multiple sort orders can be separated by semicolon (;). For example, orderBy={attributeName1}:{asc/desc};{attributeName2}:{asc/desc}. Also, there can also be mulitple orderBy query parameters, and they are applied in query string parameter order.
All the attributes of an attachment are supported in an orderBy with the exception of:
stateToken
mediaType
Examples:
?orderBy=batch.id
?orderBy=documentId;updatedDate:asc
?orderBy=title&orderBy=createdDate:desc
?orderBy=size:asc
?orderBy=type.name;size:asc
-
q(optional): string
The q parameter accepts a query expression condition that matches the attribute values of the attachment, and is used for filtering results in collection. The value of the parameter can be a simple expression in the form of {attribute name} {condition operator} {attribute value}, or it can muliple expressions grouped and combined with logical operators.
The following conditional operators are supported:
eq
- Equalsne
- Not Equalslt
- Less Thangt
- Greater Thanle
- Less Than or Equal toge
- Greater Than or Equal to
Only the conditional operators
eq
andne
can be used with string attributes; and, string attributes must be enclosed in quote characters ("). Likewise, boolean data types can only use the conditional operatorseq
andne
. All conditional operators can be used with other attribute data types.Date/time attributes must have their value represented as a string in ISO-8601 Date Time format, governed by RFC 3339. For example,
"2021-04-12"
or"2021-04-15T04:27:15-06:00"
. Even though the values are in a string format, they will support numerical type operators, such aslt
andgt
.Conditional expressions can be joined by the logical operators of
and
oror
. And, can also be grouped using parentheses()
. For example: (({expression}) and ({expression})). This forms more complex filters.Multiple q query parameters are supported, and imply the
and
logical operator.All simple attributes of an attachment are supported in a q expression with the exception of:
stateToken
mediaType
Child resource attributes, such as
batch.id
andtype.name
, are also supported.Examples:
?q=(step.id eq "06ed7cb1-6b1b-4828-b4ba-c8ab31a45903" and createdDate ge "2021-05-01")
?q=(step.id eq "06ed7cb1-6b1b-4828-b4ba-c8ab31a45903")&q=(createdDate ge "2021-05-01")
?q=(type.name eq "Example Attachment Type") and (size lt 50000)
?q=(updatedDate ge "2021-05-26")
?q=(batch.id eq "636") or (batch.id eq "637")
-
totalResults(optional): boolean
The totalResults parameter accepts a boolean flag. If specified as
true
, then the returned result will include the total number of attachments in the query.Default Value:false
Response
- application/json
200 Response
A list of all the attachments for the document specified by docId.
object
Attachment Collection
This represents a collection of Attachment objects.
-
count:
integer(int32)
The total number of records in the current response.
-
hasMore:
boolean
An indicator of whether there are more pages to fetch.
-
items(optional):
array items
The array of Attachment objects.
This will in the order specified by orderBy, or the default sort order of descending by
updatedDate
if orderBy was not used. -
limit:
integer(int32)
The actual page size used by the server. This may not be the same as what client requests.
-
offset:
integer(int32)
The actual index from which the singular resources are returned.
-
totalResults(optional):
integer(int32)
The total number of rows that satisfy the client request (excluding the paging parameters).
array
The array of Attachment objects.
This will in the order specified by orderBy, or the default sort order of descending by updatedDate
if orderBy was not used.
-
Array of:
object Attachment
Title:
Attachment
An Attachment in Capture is a file that contains auxiliary content for a Document. In essence, its structure is very similar to that of a Document; however, there are no metadata fields.
object
Attachment
An Attachment in Capture is a file that contains auxiliary content for a Document. In essence, its structure is very similar to that of a Document; however, there are no metadata fields.
-
batch(optional):
object batch
The Capture Batch that contains this attachment's parent document.
-
comment(optional):
string
A general use comment of this attachment.
-
createdBy(optional):
object createdBy
The user that created the attachment.
-
createdDate(optional):
string(date-time)
This identifies when the attachment was created. The date/time in ISO-8601 Date Time format (
yyyy-MM-dd'T'HH:mm:ss.SSSZ
) UTC, governed by RFC 3339. -
documentId(optional):
string
The unique identifier of the document in Capture to which this attachment belongs.
-
id(optional):
string
The unique identifier of the attachment in Capture.
-
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. This will include at least a canonical related link to the resource.
-
mediaType(optional):
string
This represents the media type of the attachment. That is the two-part identifier for file formats and format contents transmitted on the Internet.
-
size(optional):
integer(int64)
The size, in bytes, of the attachment.
-
sourceName(optional):
string
The filename of the attachment when imported.
-
stateToken(optional):
string
A generated string value that represents a particular state of the attachment.
In general, it is used to allow modifications of the attachment to proceed. It is essentially saying ... modify this attachment if its current
stateToken
matches this value. If the values do not match, the modification is not permitted and the operation results in an error. -
step(optional):
object step
The current processing step, if any, this attachment's parent document is undergoing.
-
title(optional):
string
The title of the attachment. This is generally the filename of the attachment used during document import.
-
type(optional):
object type
The attachment type that has been assigned to this attachment.
-
updatedBy(optional):
object updatedBy
The last user that updated the attachment.
-
updatedDate(optional):
string(date-time)
This identifies when the last time the attachment was updated.
object
The Capture Batch that contains this attachment's parent document.
-
object
Capture Batch
Title:
Capture Batch
A collection of documents in Capture that represent a unit of work in a procedure.
object
The user that created the attachment.
-
object
User Information
Title:
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a model of the API may define the attribute
updatedBy
that is a user object. This indicates it was last updated by that given user.
array
HATEOS link to related resources and actions or actions on this resource. This will include at least a canonical related link to the resource.
-
Array of:
object HATEOAS Link
Title:
HATEOAS Link
This is a HATEOAS link and related metadata. If responses provide links (for example, a
self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.Internet Assigned Numbers Authority (IANA) maintains a registry of link relations for use in a HATEOAS link. These are well known relations and have specific meanings. If they are applicale in Capture, they are used. For instance, canonical is well known relation, and Capture does use it.
Capture does define its own link relations in certain cases because none of the registered relations provided the proper meaning. As defined in RFC for Web Linking (RFC 8288) the relation needs to be a URI. The following link relations are defined by Capture:
urn:oce:capture:document-content
- Represents the link used to obtain a document's contenturn:oce:capture:document-complete
- Represents the link used to complete processing a document in a Step task queueurn:oce:capture:attachment-content
- Represents the link used to obtain an attachment's content
object
The current processing step, if any, this attachment's parent document is undergoing.
-
object
Procedure Step
Title:
Procedure Step
A step in a procedure flow.
object
The attachment type that has been assigned to this attachment.
-
object
Attachment Type
Title:
Attachment Type
An Attachment Type can be used to categorize, and provides process filtering, of attachents of documents.
object
The last user that updated the attachment.
-
object
User Information
Title:
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a model of the API may define the attribute
updatedBy
that is a user object. This indicates it was last updated by that given user.
object
Capture Batch
A collection of documents in Capture that represent a unit of work in a procedure.
-
createdBy(optional):
object createdBy
The user that created the batch.
-
createdDate(optional):
string(date-time)
This identifies when the batch was created. The date/time in ISO-8601 Date Time format (
yyyy-MM-dd'T'HH:mm:ss.SSSZ
) UTC, governed by RFC 3339. -
error(optional):
string
The current error message of the batch, if any.
If the batch is in the ERROR
state
, this will contain the error message detailing why the batch failed processing. This message will remain until the batch re-enters processing. -
id(optional):
string
The unique identifier of the batch.
-
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. This will include at least a canonical related link to the resource.
-
lock(optional):
object lock
If the batch is locked (by a user creating/editing the batch or if Capture is currently processing the batch), this object will contain information about the lock. The
state
of the batch determines if this object exists. -
name(optional):
string
The name given to the batch.
When Capture creates a batch, the name is some defined prefix and a sequence number. For example, inv_4781
-
notes(optional):
string
User supplied general notes associated with a batch.
-
priority(optional):
integer(int32)
Minimum Value:
0
Maximum Value:10
Default Value:0
A user specified priority of the batch.
This value is used prioritize the batch for a user's attention. Its used to filter and sort batches for viewing in the client.
-
procedure(optional):
object procedure
The Capture Procedure associated with this batch.
-
state(optional):
string
Default Value:
READY
The current state of the batch.
READY
- The standard resting state of a batch. It is available to be locked by a client.LOCKED
- The batch is locked by a client for editing, such as adding/removing documents and setting metadata field values.ERROR
- An error occurred during processing. It is available to be locked by a client for edits to correct processing errors.PROCESSING
- Capture is presently processing the batch. The batch is in one of the jobs defined in the Capture procedure.
-
status(optional):
string
The current status assigned to the batch.
The status values are defined in the procedure and can be assigned during batch creation, and during transitions between processing jobs.
-
updatedBy(optional):
object updatedBy
The last user that updated the batch. This can be the Capture system.
-
updatedDate(optional):
string(date-time)
This identifies when the last time the batch was updated. The date/time in ISO-8601 Date Time format (
yyyy-MM-dd'T'HH:mm:ss.SSSZ
) UTC, governed by RFC 3339.
object
The user that created the batch.
-
object
User Information
Title:
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a model of the API may define the attribute
updatedBy
that is a user object. This indicates it was last updated by that given user.
array
HATEOS link to related resources and actions or actions on this resource. This will include at least a canonical related link to the resource.
-
Array of:
object HATEOAS Link
Title:
HATEOAS Link
This is a HATEOAS link and related metadata. If responses provide links (for example, a
self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.Internet Assigned Numbers Authority (IANA) maintains a registry of link relations for use in a HATEOAS link. These are well known relations and have specific meanings. If they are applicale in Capture, they are used. For instance, canonical is well known relation, and Capture does use it.
Capture does define its own link relations in certain cases because none of the registered relations provided the proper meaning. As defined in RFC for Web Linking (RFC 8288) the relation needs to be a URI. The following link relations are defined by Capture:
urn:oce:capture:document-content
- Represents the link used to obtain a document's contenturn:oce:capture:document-complete
- Represents the link used to complete processing a document in a Step task queueurn:oce:capture:attachment-content
- Represents the link used to obtain an attachment's content
object
If the batch is locked (by a user creating/editing the batch or if Capture is currently processing the batch), this object will
contain information about the lock. The state
of the batch determines if this object exists.
-
lockedBy(optional):
object lockedBy
If the batch is locked within a Capture Client instance, this attribute will contain the user that locked the batch.
-
lockedDate(optional):
string(date-time)
This identifies when the batch was locked. The date/time in ISO-8601 Date Time format (
yyyy-MM-dd'T'HH:mm:ss.SSSZ
) UTC, governed by RFC 3339. -
step(optional):
object step
If Capture is currently processing the batch, this object will contain current processing step the batch is undergoing.
-
workstation(optional):
string
If the batch is locked within a Capture Client instance, this attribute will contain the computer name where the Capture Client instance locked the batch.
object
The Capture Procedure associated with this batch.
-
object
Capture Procedure
Title:
Capture Procedure
A Capture Procedure defines metadata and procesing steps of a flow.
object
The last user that updated the batch. This can be the Capture system.
-
object
User Information
Title:
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a model of the API may define the attribute
updatedBy
that is a user object. This indicates it was last updated by that given user.
object
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a
model of the API may define the attribute updatedBy
that is a user object. This indicates it
was last updated by that given user.
-
name:
string
The user's name.
object
HATEOAS Link
This is a HATEOAS link and related metadata. If responses provide links
(for example, a self
link to the resource itself) the links provided will include one or more of the
properties defined on this link structure.
Internet Assigned Numbers Authority (IANA) maintains a registry of link relations for use in a HATEOAS link. These are well known relations and have specific meanings. If they are applicale in Capture, they are used. For instance, canonical is well known relation, and Capture does use it.
Capture does define its own link relations in certain cases because none of the registered relations provided the proper meaning. As defined in RFC for Web Linking (RFC 8288) the relation needs to be a URI. The following link relations are defined by Capture:
urn:oce:capture:document-content
- Represents the link used to obtain a document's contenturn:oce:capture:document-complete
- Represents the link used to complete processing a document in a Step task queueurn:oce:capture:attachment-content
- Represents the link used to obtain an attachment's content
- href(optional): string
-
mediaType(optional):
string
Default Value:
application/json
Media type, as defined by RFC 2046, describing the link target. The property can be assumed to be
application/json
if the property is not present. -
method(optional):
string
Default Value:
GET
HTTP method for requesting the target of the link.
Valid values are:
OPTIONS
- HTTP OPTIONSHEAD
- HTTP HEADGET
- HTTP GETPOST
- HTTP POSTPUT
- HTTP PUTPATCH
- HTTP PATCHDELETE
- HTTP DELETE
The property can be assumed to be
GET
if the property is not present. -
profile(optional):
string(uri)
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource. If not available, this property will not be present.
-
rel(optional):
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details.
-
templated(optional):
boolean
Default Value:
false
Boolean flag that specifies the
href
property is a URI or URI Template. The property can be assumed to befalse
if the property is not present.
object
If the batch is locked within a Capture Client instance, this attribute will contain the user that locked the batch.
-
object
User Information
Title:
User Information
This object contains information about a given user of Capture.
Models use this object to denote some relation between a user and some other object. For instance, a model of the API may define the attribute
updatedBy
that is a user object. This indicates it was last updated by that given user.
object
If Capture is currently processing the batch, this object will contain current processing step the batch is undergoing.
-
object
Procedure Step
Title:
Procedure Step
A step in a procedure flow.
object
Procedure Step
A step in a procedure flow.
-
id(optional):
string
The unique identifier of the step within the procedure.
-
name(optional):
string
The name given to the step when created. For instance, the name of the processing job or commit profile.
-
type(optional):
string
The type of step. Some example include: External Processor, TIFF Conversion Processor, Asset Lookup Processor, etc.
object
Capture Procedure
A Capture Procedure defines metadata and procesing steps of a flow.
-
id(optional):
string
The unique identifier of the procedure in Capture.
-
name(optional):
string
The name given to the procedure when created
object
Attachment Type
An Attachment Type can be used to categorize, and provides process filtering, of attachents of documents.
-
id(optional):
string
The unique identifier of the attachment type.
-
name(optional):
string
The name given to the attachment type.
400 Response
Bad Request
The request could not be processed because it contains missing or invalid information, such as a validation error on an input field or a missing required value. The response will be an Error Detail object.
404 Response
Not Found
The request includes a resource URI that does not exist. The response will be an Error Detail object.
500 Response
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request. The response will be an Error Detail object.
Examples
Example 1:
The following example shows how to list all document attachments.
curl -X GET -H 'Accept: application/json' 'https://host:port/content/capture/api/v1/documents/dcf65d45-4f53-4f82-998c-5e189de1b6a1/attachments'
This gets a list of all the attachments for the document with the ID of 'dcf65d45-4f53-4f82-998c-5e189de1b6a1' and the document has no attachments.
Response Body
{ "limit": 0, "count": 0, "hasMore": false, "offset": 0, "items": [] }
Example 2:
curl -X GET -H 'Accept: application/json' 'https://host:port/content/capture/api/v1/documents/dcf65d45-4f53-4f82-998c-5e189de1b6a1/attachments'
This gets a list of all the attachments for the document with the ID of 'dcf65d45-4f53-4f82-998c-5e189de1b6a1' and the document has attachments.
Response Body
{ "limit": 1, "count": 1, "hasMore": false, "offset": 0, "items": [ { "id": "b22046ce-2c30-49b3-b734-25f62dea5403", "documentId": "dcf65d45-4f53-4f82-998c-5e189de1b6a1", "title": "InvoiceNote1.txt", "batch": { "id": "864", "name": "ep_53" }, "step": { "id": "a82321c2-f288-4545-8795-e3c0f035f7ba", "name": "Find Invoice Date", "type": "External Processor" }, "type": { "id": "1d3340ca-3fcb-43f7-9304-89cfedb1ac69", "name": "Invoice Notes" }, "stateToken": "62a90ec2b7aa4915c04fd271dfb72a1", "mediaType": "text/plain", "sourceName": "notes.txt", "size": 4875, "createdBy": { "name": "ssvrint.mtadmin" }, "createdDate": "2021-01-19T20:05:14.215Z", "updatedBy": { "name": "ssvrint.mtadmin" }, "updatedDate": "2021-01-19T20:05:14.215Z", "links": [ { "rel": "canonical", "href": "http://server.example.com/documents/dcf65d45-4f53-4f82-998c-5e189de1b6a1/attachments/b22046ce-2c30-49b3-b734-25f62dea5403", "method": "GET", "mediaType": "application/json" }, { "rel": "urn:oce:capture:attachment-content", "href": "http://server.example.com/documents/dcf65d45-4f53-4f82-998c-5e189de1b6a1/attachments/b22046ce-2c30-49b3-b734-25f62dea5403/content", "method": "GET", "mediaType": "text/plain" } ] } ] } }