Documents API Developer Guide

Discover APIs available for the Documents module.

Working with XML

All Aconex Documents APIs allow all unfiltered text into/out of the system.

Documents APIs use XML 1.0 specification. The XML specification defines an XML document as a well-formed text, meaning that it satisfies a list of syntax rules provided in the specification. For example: 

  • The document contains only properly encoded legal Unicode characters.
  • None of the special syntax characters such as < and & appear except when performing their markup-delineation roles.
  • The start-tag, end-tag, and empty-element tag that delimit elements are correctly nested, with none missing and none overlapping.
  • Tag names are case-sensitive; the start-tag and end-tag must match exactly.
  • Tag names cannot contain any of the characters !"#$%&'()*+,/;<=>?@[]^`{|}~, nor a space character, and cannot begin with "-", ".", or a numeric digit.
  • A single root element contains all the other elements.

For more information, visit the links below:

https://en.wikipedia.org/wiki/Valid_characters_in_XML

https://en.wikipedia.org/wiki/XML#Syntactical_correctness_and_error-handling

https://www.w3.org/TR/xml/#dt-character

View Document Schema

View Document Schema

The service retrieves the schema for the specified project's documents.

Notes:
  1. The schema describes the fields available for executing a document search operation.
  2. Fields may be used to filter search results, or their value(s) be returned in search results, or both.
  3. The schema also describes the fields required to be able to register a new document onto a project.
URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/register/schema
URL Parameters: 
Parameters Type(maxlength) Cardinality Notes
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.

Sample Request: 
https://au1.aconex.com/api/projects/1879048400/register/schema

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes

RegisterSchema

Group

1

 

projectName

Attribute
String(100)

1

 

projectId

Attribute
String

1

 

autoNumberingEnabled

Attribute
String    

1

Is Basic Auto Numbering OR Project-Wide Auto-Numbering enabled  for this project.
Values : true / false

* EntityCreationSchemaFields

Group

1

The fields here will describe the XML document that must be submitted to the register document API service when registering a new document.

** MultiValueSchemaField

Group

0..n

There may be many repetitions of this element, along with SingleValueSchemaField, presented in no particular order

*** Attributes

Group

1

 

**** EntityField

No type

1

 

**** MandatoryStatus

Attribute
String

1

Determines if the field must be specified when creating a piece of project mail. One of:

  • MANDATORY
  • NOT_MANDATORY
  • CONDITIONAL

***** MandatoryRules

Group

0...n

The child elements of this element describe the rules that make the field mandatory

****** Rule

Group

1...n

Defines a single rule on which this field becomes mandatory

******* Identifier

String

1

The identifier of another entity creation field which if specified in the XML post content, makes this schema field mandatory

******** SchemaValues

Group

0...n

 

********* SchemaValue

Group

1...n

 

*********Id

Integer
String

1...n

If the field the identifier of the rule refers to is a multi value schema field,this Id will refer to one or more of the values which apply to this rule. Values outside of the Id's specified here do not make this field mandatory

*** DataType

String

1

One of :
STRING
BOOLEAN
RATIO
INTEGER
DOUBLE
LONG
DATE
    COMPLEX

*** FieldName

String(No Limit)

1

Field (label) name used in the application, for display purposes

*** Identifier

String

1

Predefined set of identifiers of XML elements that should be sent as part of the register document request when registering a new document. These fields will depend on project configuration, possible values may include:

  • DocumentTypeId
  • DocumentStatusId
  • Discipline
  • Attribute1
  • Attribute2
  • Attribute3
  • Attribute4
  • ReviewStatusId
  • Vdrcode
  • Category
  • PackageNumber
  • ContractNumber

*** SchemaValues

Group

1

 

**** SchemaValue

Group

0..n

 

***** Id

Integer(Signed 32 bit)

0..1

A valid value for this field

***** Value

String

1

A string representation for the value

*****AutoNumberScheme

String

1

A string will be true/false depending on the auto-numbering scheme enabled for that document type. This will be only for identifier DocumentTypeId

** SingleValueSchemaField

Group

0..n

There may be many repetitions of this element, along with MultiValueSchemaField, presented in no particular order

*** Attributes

Group

1

 

**** EntityField

No type

1

 

**** MandatoryStatus

Attribute
String

1

Determines if the field must be specified when creating a piece of project mail. One of:

  • MANDATORY
  • NOT_MANDATORY
  • CONDITIONAL

****** Rule

Group

1...n

Defines a single rule on which this field becomes mandatory

******* Identifier

String

1

The identifier of another entity creation field which if specified in the XML post content, makes this schema field mandatory

******** SchemaValues

Group

0...n

 

********* SchemaValue

Group

1...n

 

*********Id

Integer
String

1...n

If the field the identifier of the rule refers to is a multi value schema field,this Id will refer to one or more of the values which apply to this rule. Values outside of the Id's specified here do not make this field mandatory

*** DataType

String

1

One of :
STRING
BOOLEAN
RATIO
INTEGER
DOUBLE
LONG
DATE
    COMPLEX

*** FieldName

String(No Limit)

1

Field (label) name used in the application, for display purposes

*** Identifier

String

1

Predefined set of identifiers of XML elements that should be sent as part of the register document request when registering a new document. These fields will depend on project configuration, possible values may include:

  • DocumentNumber
  • Revision
  • DateCreated
  • Title
  • AuthorisedBy
  • Comments
  • Comments2
  • PrintSize
  • PercentComplete
  • Reference
  • Author
  • Scale
  • AccessList
  • DateApproved
  • DateForReview
  • DateReviewed
  • ToClientDate
  • RevisionDate
  • PlannedSubmissionDate
  • MilestoneDate
  • TagNumber
  • VendorDocumentNumber
  • VendorRev
  • ContractorDocumentNumber
  • ContractorRev
  • AsBuiltRequired
  • ContractDeliverable
  • ProjectField1
  • ProjectField2
  • ProjectField3
  • Check1
  • Check2
  • Date1
  • Date2
  • HasFile

* SearchSchemaFields

Group

1

 

** MultiValueSchemaField

Group

0..n

There may be many repetitions of this element, along with SingleValueSchemaField, presented in no particular order

*** Attributes

Group

1

 

**** SearchResultField

No type

0..1

The presence of this element indicates that the field may be returned in search results

**** sortable

Attribute
Boolean

1

Determines if the field may be used to sort the search results

**** SearchableField

No type

0..1

The presence of this element indicates that the field may be used as a search parameter

*** DataType

String

1

One of :
STRING
BOOLEAN
RATIO
INTEGER
DOUBLE
LONG
DATE
    COMPLEX

*** FieldName

String(No Limit)

1

Field (label) name used in the application, for display purposes

*** Identifier

String

1

Predefined set of string values depending on project configuration, possible values may include:

  • doctype
  • statusid
  • discipline
  • attribute1
  • attribute2
  • attribute3
  • attribute4
  • reviewstatus
  • contractnumber
  • packagenumber
  • vdrcode
  • category

*** SchemaValues

Group

0..1

 

**** SchemaValue

Group

0..n

 

***** Id

Long(10)

0..1

A valid value for this field

***** Value x

String(100)

1

A string representation for the value

*****AutoNumberScheme

String

1

A string will be true/false depending on the auto-numbering scheme enabled for that document type. This will be displayed only for identifier doctype

** SingleValueSchemaField

Group

0..n

There may be many repetitions of this element, along with MultiValueSchemaField, presented in no particular order

*** Attributes

Group

1

 

**** SearchResultField

No type

0..1

The presence of this element indicates that the field may be returned in search results

**** sortable

Attribute
Boolean

1

Determines if the field may be used to sort the search results

**** SearchableField

No type

0..1

The presence of this element indicates that the field may be used as a search parameter

*** DataType

String

1

One of :
STRING
BOOLEAN
RATIO
INTEGER
DOUBLE
LONG
DATE
    COMPLEX

*** FieldName

String(No Limit)

1

Field (label) name used in the application, for display purposes

*** Identifier

String

1

Predefined set of string values depending on project configuration, values may include:

  • authorisedBy
  • comments
  • comments2
  • confidential
  • printSize
  • percentComplete
  • filename
  • fileSize
  • reviewSource
  • tagNumber
  • markupLastModifiedDate
  • numberOfMarkups
  • current
  • docno
  • title
  • revision
  • approved
  • forreview
  • received
  • reference
  • author
  • reviewed
  • scale
  • toclient
  • revisiondate
  • registered
  • milestonedate
  • plannedsubmissiondate
  • uploaddate
  • reviewSource
  • vendordocumentnumber
  • vendorrev
  • contractordocumentnumber
  • contractorrev
  • packagenumber
  • asBuiltRequired
  • contractDeliverable
  • projectField1
  • projectField2
  • projectField3
  • check1
  • check2
  • date1
  • date2
  • markupdate
 
Sample Response: 
<?xml version="1.0" encoding="UTF-8"?>

<RegisterSchema projectName="Breeze Tower" projectId="1879048422">
    <EntityCreationSchemaFields>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Status</FieldName>
            <Identifier>DocumentStatusId</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Id>1</Id>
                    <Value>Approved</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>12</Id>
                    <Value>Approved Subject to Comments</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048205</Id>
                    <Value>As-Built</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048216</Id>
                    <Value>For Construction</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048196</Id>
                    <Value>For Information</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048327</Id>
                    <Value>For Review</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048198</Id>
                    <Value>For Tender</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048330</Id>
                    <Value>Revise and Re-Submit</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Has Backing File</FieldName>
            <Identifier>HasFile</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Check 2</FieldName>
            <Identifier>Check2</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>VDR Code</FieldName>
            <Identifier>Vdrcode</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>VDR001</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>VDR002</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 4</FieldName>
            <Identifier>Attribute4</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Attrib4-Val1</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Attrib4-Val2</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Attrib4-Val3</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Contractor Rev.</FieldName>
            <Identifier>ContractorRev</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>RATIO</DataType>
            <FieldName>Scale</FieldName>
            <Identifier>Scale</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Contractor Doc No</FieldName>
            <Identifier>ContractorDocumentNumber</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Project Field 1</FieldName>
            <Identifier>ProjectField1</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Confidential</FieldName>
            <Identifier>AccessList</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Author</FieldName>
            <Identifier>Author</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Title</FieldName>
            <Identifier>Title</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 3</FieldName>
            <Identifier>Attribute3</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Attrib3-Val1</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Attrib3-Val2</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Attrib3-Val3</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Vendor Doc No</FieldName>
            <Identifier>VendorDocumentNumber</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date Approved</FieldName>
            <Identifier>DateApproved</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date Reviewed</FieldName>
            <Identifier>DateReviewed</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Authorised by</FieldName>
            <Identifier>AuthorisedBy</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Contract Deliverable</FieldName>
            <Identifier>ContractDeliverable</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Type</FieldName>
            <Identifier>DocumentTypeId</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Id>1879048197</Id>
                    <Value>Drawing</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048365</Id>
                    <Value>Manual</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048217</Id>
                    <Value>Program</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048366</Id>
                    <Value>Report</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048227</Id>
                    <Value>Sample</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048226</Id>
                    <Value>Schedule</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048225</Id>
                    <Value>Sketch</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048207</Id>
                    <Value>Specifications</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048228</Id>
                    <Value>Technical Data</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Milestone Date</FieldName>
            <Identifier>MilestoneDate</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Check 1</FieldName>
            <Identifier>Check1</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Percent Complete</FieldName>
            <Identifier>PercentComplete</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Comments</FieldName>
            <Identifier>Comments</Identifier>
        </SingleValueSchemaField>
               <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Comments 2</FieldName>
            <Identifier>Comments2</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Vendor Rev.</FieldName>
            <Identifier>VendorRev</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date To Client</FieldName>
            <Identifier>ToClientDate</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Contract No</FieldName>
            <Identifier>ContractNumber</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>CN001</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>CN002</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>CN003</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Package No</FieldName>
            <Identifier>PackageNumber</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>P001</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>P002</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>P003</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date 1</FieldName>
            <Identifier>Date1</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 1</FieldName>
            <Identifier>Attribute1</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Administration</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Events Centre</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Marina</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>North Tower Hotel</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Podium</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Retail Building</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>South Tower Hotel</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Spa Building</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Revision</FieldName>
            <Identifier>Revision</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Planned Submission Date</FieldName>
            <Identifier>PlannedSubmissionDate</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 2</FieldName>
            <Identifier>Attribute2</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>WP1.01 - Piling</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP1.02 - Sheet Piling &amp; Retaining Walls</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP1.03 - Bulk Excavation (inc. Pile Mat &amp; Probing)
                    </Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP1.04 - Ground Works (inc. Grade Concrete Slab)</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP1.05 - Superstructure Concrete</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP2.02 - Structural Steelwork</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP2.02 - Tan</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP2.03 - Metal Decking</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP2.04 - Underground Drainage</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.01 - Cladding</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.02 - Planar Glazing</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.03 - Rain Screen Cladding</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.04 - Gutters</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.05 - Glazed Roof</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.06 - Podium Mesh Cladding</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.07 - Fire System</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.08 - Alarm System</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.09 - Electrical Fitout</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP3.10 - Plumbing</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.01 - Builders Clean</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.02 - Dry Lining</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.03 - Plaster &amp; Screeding</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.04 - Suspended Ceilings</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.05 - Stone Floor Finishes</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.06 - Ceramic Tiling</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.07 - Carpets/Timbers/Vinyl Flooring</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.08 - Painting &amp; Decoration</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.09 - Signage</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.10 - Artwork/Statues</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.11 - Intenral Fitout</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP4.11 - Internal Fitout</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP5.01 - Internal Electrical Installation</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>WP5.02 - Mains Electrical Supply</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date Created</FieldName>
            <Identifier>DateCreated</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>As-Built Required</FieldName>
            <Identifier>AsBuiltRequired</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date 2</FieldName>
            <Identifier>Date2</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Document No</FieldName>
            <Identifier>DocumentNumber</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Project Field 2</FieldName>
            <Identifier>ProjectField2</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Tag No</FieldName>
            <Identifier>TagNumber</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Reference</FieldName>
            <Identifier>Reference</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Discipline</FieldName>
            <Identifier>Discipline</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Architectural</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Civil</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Electrical</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Faade</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Facade</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Fire Services</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Hydraulics</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Internal Fitout</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Landscape</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Mechanical</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Project Wide</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Structural</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Category</FieldName>
            <Identifier>Category</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Cat001</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Cat002</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Cat003</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Cat004</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Print Size</FieldName>
            <Identifier>PrintSize</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Revision Date</FieldName>
            <Identifier>RevisionDate</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date For Review</FieldName>
            <Identifier>DateForReview</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <EntityField MandatoryStatus="NOT_MANDATORY" />
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Project Field 3</FieldName>
            <Identifier>ProjectField3</Identifier>
        </SingleValueSchemaField>
    </EntityCreationSchemaFields>
    <SearchSchemaFields>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Document No</FieldName>
            <Identifier>docno</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date Approved</FieldName>
            <Identifier>approved</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="false"/>
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Current Revision</FieldName>
            <Identifier>current</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Print Size</FieldName>
            <Identifier>printSize</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Number of Markups</FieldName>
            <Identifier>numberOfMarkups</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Author</FieldName>
            <Identifier>author</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Markup Last Modified Date</FieldName>
            <Identifier>markupLastModifiedDate</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchableField/>
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Markup Date</FieldName>
            <Identifier>markupdate</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 2</FieldName>
            <Identifier>attribute2</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Emissions</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Energy</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>IEQ</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Innovation</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Land Use &amp; Ecology</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Management</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Materials</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Transport</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Water</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Date Modified</FieldName>
            <Identifier>registered</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Attribute 1</FieldName>
            <Identifier>attribute1</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Administration</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Basement</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Car Park</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>External Works</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Office Tower</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>INTEGER</DataType>
            <FieldName>Status</FieldName>
            <Identifier>statusid</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Id>5</Id>
                    <Value>For Approval</Value>
                </SchemaValue>
                <SchemaValue>
                    <Id>1879048196</Id>
                    <Value>For Information</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="false"/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Filename</FieldName>
            <Identifier>filename</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="false"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Title</FieldName>
            <Identifier>title</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
            </Attributes>
            <DataType>BOOLEAN</DataType>
            <FieldName>Confidential</FieldName>
            <Identifier>confidential</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Revision</FieldName>
            <Identifier>revision</Identifier>
        </SingleValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Type</FieldName>
            <Identifier>doctype</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Specifications</Value>
                    <AutoNumberScheme>false</AutoNumberScheme>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <MultiValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Discipline</FieldName>
            <Identifier>discipline</Identifier>
            <SchemaValues>
                <SchemaValue>
                    <Value>Architectural</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Construction Management</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Electrical</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Hydraulic</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Interior Design</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>QA</Value>
                </SchemaValue>
                <SchemaValue>
                    <Value>Structural</Value>
                </SchemaValue>
            </SchemaValues>
        </MultiValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>File size</FieldName>
            <Identifier>fileSize</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="false"/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Comments</FieldName>
            <Identifier>comments</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="false"/>
            </Attributes>
            <DataType>STRING</DataType>
            <FieldName>Comments 2</FieldName>
            <Identifier>comments2</Identifier>
        </SingleValueSchemaField>
        <SingleValueSchemaField>
            <Attributes>
                <SearchResultField sortable="true"/>
                <SearchableField/>
            </Attributes>
            <DataType>DATE</DataType>
            <FieldName>Revision Date</FieldName>
            <Identifier>revisiondate</Identifier>
        </SingleValueSchemaField>
    </SearchSchemaFields>
</RegisterSchema>
Error Codes: 
Status Code Description HTTP Status Code
Prerequisites: 

Required Permissions

The authorising user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not Applicable.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

View Document Type Schema

The "View Document Type Schema" service retrieves Project Fields of a specified document type.

Notes:

  1. The schema describes the fields corresponding to a document type operation.
  2. The schema also describes the project fields that are associated with a given document type.


URL structure

HTTP GET: https://{hostname}/api/projects/{projectid}/projectfields/documenttype/{documentTypeId}


Headers

  • Accept: application/vnd.aconex.document.v2+xml

 

Request Fields

Not Applicable. HTTP GET operations have no request body.


Sample request

https://au1.aconex.com/api/projects/1879048400/projectfields/documenttype/12005


Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

 

Element Type(maxlength) Cardinality Notes
DocumentProjectFields Group 1  
*ProjectField   0..n Represents a Project Field associated with the requested Document Type
*type Attribute
String
1

Indicates Type of the Project Field : 

  • DATE / BOOLEAN / MULTI_LINE_TEXT / SINGLE_LINE_TEXT / NUMBER / SINGLE_SELECT / USER / MULTI_SELECT
*mandatory Attribute
String
1

Indicates Mandatory / Non Mandatory Project Field

  • true / false
*identifier Attribute
String
1 Fully Qualified Name of the Project Field
**HintText String 1

The hint Text for the Project Filed suggestive of :

  1. The Data type of response expected.
  2. The exact answer itself.
**Label String 1 label name used in the application, for display purposes
**Specifications Group 1 Contains the group of specification tags that specify characteristics of the Project Field
***Specification No Type 1...n Predefined set of string values depending on Project Field Type configuration.
***name Attribute
String
1

Specification Name based on the Type of Project Field

  • maxLength
  • minLength
  •  
  • unitQuantity
  • options
****Option String 0...n

List of options configured for a Select List (If Project Field type is SINGLE_SELECT / MULTI_SELECT / USER)

 

Sample response

<DocumentProjectFields>

    <ProjectField type="BOOLEAN" mandatory="false" identifier="Building_boolean">
        <HintText></HintText>
        <Label>Building</Label>
    </ProjectField>
    <ProjectField type="SINGLE_SELECT" mandatory="false" identifier="CustomeSingleSelect_singleSelect">
        <HintText></HintText>
        <Label>Custome Single select</Label>
        <Specifications>
            <Specification name="options">
                <Option>Array</Option>
                <Option>Nested loop</Option>
                <Option>Single rev</Option>
                <Option>Multiple rev</Option>
                <Option>Hybrid</Option>
                <Option>Springboot (hybernate)</Option>
            </Specification>
        </Specifications>
    </ProjectField>
    <ProjectField type="SINGLE_SELECT" mandatory="false" identifier="SpecificationValues_singleSelect">
        <HintText>specification file values form reader</HintText>
        <Label>Specification Values</Label>
        <Specifications>
            <Specification name="options">
                <Option>Summary</Option>
                <Option>Price & Payment Procedures</Option>
                <Option>Alternates</Option>
                <Option>Administrative Requirements</Option>
                <Option>Quality Requirements</Option>
                <Option>Temporary Facilities & Controls</Option>
                <Option>Product Requirements</Option>
                <Option>Execution & Closeout Requirements</Option>
                <Option>Construction Waste Management & Disposal</Option>
                <Option>Closeout Submittals</Option>
                <Option>Demolition</Option>
                <Option>Cast-in-Place Concrete</Option>
                <Option>Cast-in-Place Concrete for Polished Finish</Option>
                <Option>Polished Concrete Floors</Option>
                <Option>Masonry Mortaring & Grouting</Option>
                <Option>Unit Masonry</Option>
                <Option>Cast Stone Masonry</Option>
                <Option>Structural Steel Framing</Option>
                <Option>Steel Joist Framing</Option>
                <Option>Steel Decking</Option>
                <Option>Cold-Formed Metal Framing</Option>
                <Option>Metal Fabrications</Option>
                <Option>Pipe & Tube Railings</Option>
                <Option>Translucent Resin Panel System</Option>
                <Option>Rough Carpentry</Option>
                <Option>Finish Carpentry</Option>
                <Option>Architectural Wood Casework</Option>
                <Option>Solid Polymer Surfaces</Option>
                <Option>Fiberglass Reinforced Plastic</Option>
                <Option>Fluid-Applied Waterproofing</Option>
                <Option>Thermal Insulation</Option>
                <Option>Foamed-in-Place Insulation</Option>
                <Option>Exterior Insulation & Finish Systems</Option>
                <Option>Fluid-Applied Membrane Air Barriers</Option>
                <Option>Metal Composite Wall Panels</Option>
                <Option>Elastomeric Membrane Roofing</Option>
                <Option>Sheet Metal Flashing & Trim</Option>
                <Option>Roof Specialties</Option>
                <Option>Roof Accessories</Option>
                <Option>Firestopping</Option>
                <Option>Joint Sealers</Option>
                <Option>Hollow Metal Doors & Frames</Option>
                <Option>Flush Wood Doors</Option>
                <Option>Access Doors & Panels</Option>
                <Option>Aluminum-Framed Storefronts</Option>
                <Option>Metal-Framed Skylights (kalwall)</Option>
                <Option>Door Hardware</Option>
                <Option>Glazing</Option>
                <Option>Gypsum Board Assemblies</Option>
                <Option>Tiling</Option>
                <Option>Acoustical Ceilings</Option>
                <Option>Linear Wood Ceilings</Option>
                <Option>Resilient Flooring</Option>
                <Option>Tile Carpeting</Option>
                <Option>Tackable Wallcovering</Option>
                <Option>Painting & Coating</Option>
                <Option>Water-Borne Dry-Erase Coating</Option>
                <Option>Signage</Option>
                <Option>Phenolic Toilet Compartments</Option>
                <Option>Toilet, Bath, & Laundry Accessories</Option>
                <Option>Manufactured Fireplaces</Option>
                <Option>Fire Protection Specialties</Option>
                <Option>Library Equipment</Option>
                <Option>Projection Screens</Option>
                <Option>Roll-Up Shades</Option>
                <Option>Entrance Floor Mats & Frames</Option>
                <Option>Fire-Suppression Sprinkler Systems</Option>
                <Option>General Plumbing Provisions</Option>
                <Option>Closeout Submittals for Plumbing</Option>
                <Option>Demonstration & Training for Plumbing Systems</Option>
                <Option>Plumbing Piping Insulation</Option>
                <Option>Plumbing Piping</Option>
                <Option>Plumbing Piping Specialties</Option>
                <Option>Plumbing Equipment</Option>
                <Option>Plumbing Fixtures</Option>
                <Option>General Mechanical Provisions</Option>
                <Option>Closeout Submittals for HVAC</Option>
                <Option>Demonstration & Training for HVAC Systems</Option>
                <Option>Common Motor Requirements for HVAC Equipment</Option>
                <Option>Testing, Adjusting, & Balancing for HVAC</Option>
                <Option>Duct Insulation</Option>
                <Option>HVAC Ducts & Casings</Option>
                <Option>Air Duct Accessories</Option>
                <Option>HVAC Power Ventilators</Option>
                <Option>Air Outlets & Inlets</Option>
                <Option>Small Split System Heating & Cooling</Option>
                <Option>Electrical Power Conductors & Cables</Option>
                <Option>Grounding & Bonding for Electrical Systems</Option>
                <Option>Hangers & Supports for Electrical Systems</Option>
                <Option>Conduit</Option>
                <Option>Boxes</Option>
                <Option>Identification for Electrical Systems</Option>
                <Option>Panelboards</Option>
                <Option>Electrical Service Entrance</Option>
                <Option>Equipment Wiring</Option>
                <Option>Wiring Devices</Option>
                <Option>Fuses</Option>
                <Option>Enclosed Circuit Breakers</Option>
                <Option>Enclosed Switches</Option>
                <Option>Enclosed Controllers</Option>
                <Option>Lighting</Option>
                <Option>Structured Cabling for Voice & Data</Option>
                <Option>Television Systems</Option>
                <Option>Fire Detection & Alarm</Option>
                <Option>Site Clearing</Option>
                <Option>Earthwork</Option>
                <Option>Concrete Paving</Option>
                <Option>Subdrainage</Option>
                <Option>Transmittal Form)))))))))))))))))))))))</Option>
                <Option>Supplementary Agreement for Storage of Materials Off Site</Option>
                <Option>Common Work Results for Fire Suppression))))))))))))) 5</Option>
                <Option>Common Work Electrical</Option>
            </Specification>
        </Specifications>
    </ProjectField>
</DocumentProjectFields>


Required Permissions

The authorising user (specified in the request header) must have the secured asset to search registered documents.


Preferences/Module Setup

Not Applicable.


Constraints

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.


Related APIs

  • View Document Schema
  • View Document Search Schema

 

List Documents

List Documents

The service executes a search of an organization's document register for a project.

Note:The use of this service is closely linked to the information returned by the View Mail Schema API service (specifically the SearchSchemaFields listed). The identifiers specified in the search schema fields can be used as values to the parameters of this request to filter search results, as well as specify data to return in the response for each search result.

Specifying fields to return

The search API service allows you to request specific data for each search result if required. This is done by populating the return_fields parameter with a comma separated list of identifiers as specified by the search schema fields in the View Document Schema API service. By default, the service retrieves only the documentId of every result the authorizing user has access to. Note that if an identifier is provided which is not specified as a search result field, an error will be returned and the search will not execute.

Sorting

It is possible to sort the search results by a specific field. This is done by providing a single value to the sort_field parameter when performing the request. Once again, all possible identifiers must be specified as sortable. The fields that can be sorted on must be a SearchResultField and have its sortable attribute set to true. One can also specify the sorting direction (ascending or descending)

Search Type

The searching services provide the ability to perform different types of searches. One can perform a ?paged search which allows the user to request back a specific page from a large number of results, perform a search where only the number of results is returned, limit the number of search results or to get back all available results (deprecated). This is different to how the Aconex GUI operates in that it does not put an upper limit on the number results that can be returned. Two parameters are involved in specifying the type of search that is to be performed, and if a limited search is to be performed, the maximum number of results to return. The search_type parameter determines the type of search and the search_result_size allows one to specify the maximum number of results if a limited number search is specified. It is important to note, that if a limited number search is performed, the value given to search_result_size must be at minimum (and a multiple of) 25.

Note: search_type FULL is deprecated and will be removed July 30 2020. We advise users who were previously using FULL to use the PAGED search_type instead.

By default, a number limited search is performed with the maximum number of results returned being 250.

Optional search parameters may be specified in the request URL in order to;

  • retrieve a subset of the mail items, that match filter values
  • specify additional mail metadata fields to be returned in the search results
  • limit the number of items returned in the search results
  • specify the field to sort the search results by, and in what order (Ascending or Descending)

Chunked Response Support : 

  • The client can utilize this by adding a header : "Accept-Encoding" and set it to "chunked"
  • The HTTP - depending upon size of the response (for large responses), it will enable response chunking and adds "Transfer-Encoding" header as chunked in Response headers
     
URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/register?{parameters}
URL Parameters: 

Parameters

Type(maxlength)

Cardinality

Notes

search_query

String(no limit)

0..1

Lucene search query. Without a search_query, every document in the project is returned. If search query only contains Lucence Single Terms (separated by spaces), a "*" will be automatically appended to each term to do a wildcard search. See more in https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Terms. Please refer to the notes below for further information about Lucene.
Field names available for searching are;
* refers it uses "id" to search

  • approved
  • asBuiltRequired
  • attribute
  • secondaryattribute
  • attribute3
  • attribute4
  • author
  • category
  • contractnumber
  • contractordocumentnumber
  • contractorrev
  • date1
  • date2
  • discipline
  • docno
  • doctype
  • forreview
  • markupdate
  • milestonedate
  • packagenumber
  • plannedsubmissiondate
  • received
  • reference
  • registered
  • reviewed
  • reviewstatus*
  • revision
  • revisiondate
  • scale
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • statusid*
  • title
  • toclient
  • trackingid*
  • uploaddate
  • vdrcode
  • vendordocumentnumber
  • vendorrev

return_fields

String(no limit)

0..1

A comma-separated list of document fields to return in the search results
Field names available to be returned in the response are;

  • approved*
  • asBuiltRequired*
  • attribute1*
  • attribute2*
  • attribute3*
  • attribute4*
  • author*
  • authorisedBy*
  • category*
  • check1*
  • check2*
  • comments
  • comments2
  • confidential*
  • contractDeliverable*
  • contractnumber*
  • contractordocumentnumber*
  • contractorrev*
  • current
  • date1*
  • date2*
  • discipline*
  • docno*
  • doctype*
  • filename
  • fileSize*
  • fileType*
  • forreview*
  • markupLastModifiedDate*
  • milestonedate*
  • modifiedby
  • numberOfMarkups*
  • packageNumber*
  • percentComplete*
  • plannedsubmissiondate*
  • printSize*
  • projectField1*
  • projectField2*
  • projectField3*
  • received*
  • reference*
  • registered*
  • reviewed*
  • reviewSource*
  • reviewstatus
  • revision*
  • revisiondate*
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • scale*
  • statusid*
  • tagNumber*
  • title
  • toclient*
  • trackingid
  • versionnumber
  • vdrcode*
  • vendordocumentnumber*
  • vendorrev* 
  • versionnumber
    * Can sort on these fields

search_type

String

0..1

One of;

  • FULL, meaning return all matching results (DEPRECATED - recommend to use PAGED instead)
  • NUMBER_LIMITED, meaning return a fixed number of results
  • PAGED, meaning return results by "pages" of variable size. The following parameters are ignored:
    • search_result_size
  • COUNT_ONLY, meaning return only a count of matching items. No other information can be retrieved, so the following parameters are ignored:
    • return_fields
    • search_result_size
    • sort_field
    • sort_direction
    • show_document_history
      Without this parameter specified, this defaults to NUMBER_LIMITED with a default search_result_size of 250

search_result_size

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to NUMBER_LIMITED. The value must be a number that is divisible by 25. Without this parameter specified, this defaults to 250

Note: This parameter has a maximum value of 500

page_size

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to PAGED. If specified, the value must be a number that is divisible by 25. Without this parameter specified, this defaults to 25
Note: this parameter has a maximum value of 500

page_number

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to PAGED. If specified, the value must be between "1" and the value of the "TotalPages" attribute that is in the response, otherwise an error is returned. Without this parameter specified, this defaults to 1.

sort_field

String(no limit)

0..1

The name of the field to sort the search results by. Results can only be sorted by a single field, although it does not have to be one of the fields specified in the return_fields parameter

sort_direction

String

0..1

One of;

  • ASC, ascending order
  • DESC, descending order
    Without this parameter specified, this defaults to ASC

show_document_history

Boolean

0..1

Flag that controls whether to return only the latest revision of each matching document, or all document revisions. Without this parameter specified, this defaults to "false"

content_search Boolean 0..1 Flag that controls whether the search should include document contents. If not specified as true, defaults to "false"
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.
Sample Request
https://au1.aconex.com/api/projects/1879048428/register?search_query=doctype:%22Shop%20Drawing%22%20AND%20Door&return_fields=approved,asBuiltRequired,attribute1,attribute2,attribute3,attribute4,author,authorisedBy,category,check1,check2,comments,comments2,confidential,contractDeliverable,contractnumber,contractordocumentnumber,contractorrev,current,date1,date2,discipline,docno,doctype,filename,fileSize,forreview,markupLastModifiedDate,milestonedate,numberOfMarkups,packagenumber,percentComplete,plannedsubmissiondate,printSize,projectField1,projectField2,projectField3,received,reference,registered,reviewed,reviewSource,reviewstatus,revision,revisiondate,scale,statusid,tagNumber,title,toclient,vdrcode,vendordocumentnumber,vendorrev&search_type=NUMBER_LIMITED&search_result_size=75&sort_field=docno&sort_direction=ASC&show_document_history=true

The search query in the example above corresponds to a NUMBER_LIMITED (max 75 results) super search query of [doctype:"Shop Drawing" AND Door] in the application. Note the use of URL escape codes in the sample request.

https://au1.aconex.com/api/projects/1879048428/register?search_query=registered:[20090901%20TO%2020100101]&return_fields=attribute1,attribute2,author,discipline,docno,doctype,received,reference,revision,revisiondate,statusid,title&search_type=PAGED&page_size=100&page_number=2&sort_field=registered&sort_direction=DESC&show_document_history=false

The search query in the example above corresponds to a PAGED super search query of [registered:20090901 TO 20100101] in the application. Note that the sort_field, "registered", does not have to be one of the return_fields.

https://au1.aconex.com/api/projects/1879048428/register?search_query=hello%20world&other_parameters

The search query in the example above will be responded with a wildcard search result. It corresponds to a super search query of [+content:hello* +content:world*] in the application.

https://au1.aconex.com/api/projects/1879048428/register?search_query=hello%20OR%20world&other_parameters

The search query in the example above has operator OR, so it corresponds to a super search query of [content:hello content:world] in the application.

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes

RegisterSearch

Group

1

 

TotalResults

Attribute
Integer

1

The number of correspondences that match the search_query. If a paged search is being performed, then this number will be across all pages including those not shown in the results.
For a number limited search, it will be the number of results in the response.

TotalResultsOnPage

Attribute
Integer

0..1

The number of results on the current page. Only applicable to a paged search

TotalPages

Attribute
Integer

0..1

The total number of pages available. Only applicable to a paged search

PageSize

Attribute
Integer

0..1

The page size for the search conducted which will match the page_size parameter provided. Only applicable to a paged search

CurrentPage

Attribute
Integer

0..1

The page the results are on. This should match the page_number parameter provided. Only applicable to a paged search.

* SearchResults

Group

1

 

** Document

Group

0..n

 

** DocumentId

Attribute
String

1

 

*** DateApproved

DateTime

0..1

Returned when the return_fields parameter includes the value "approved"

*** AsBuiltRequired

Boolean

0..1

Returned when the return_fields parameter includes the value "asBuiltRequired"

*** Attribute1

Group

0..1

Returned when the return_fields parameter includes the value "attribute1"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 1

*** Attribute2

Group

0..1

Returned when the return_fields parameter includes the value "attribute2"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 2

*** Attribute3

Group

0..1

Returned when the return_fields parameter includes the value "attribute3"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 3

*** Attribute4

Group

0..1

Returned when the return_fields parameter includes the value "attribute4"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 4

*** Author

String(60)

0..1

Returned when the return_fields parameter includes the value "author"

*** AuthorisedBy

String(60)

0..1

Returned when the return_fields parameter includes the value "authorisedBy"

*** Category

String(50)

0..1

Returned when the return_fields parameter includes the value "category"

*** Check1

Boolean

0..1

Returned when the return_fields parameter includes the value "check1"

*** Check2

Boolean

0..1

Returned when the return_fields parameter includes the value "check2"

*** Comments

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments"

*** Comments2

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments2"

*** Confidential

Boolean

0..1

Returned when the return_fields parameter includes the value "confidential"

*** ContractDeliverable

Boolean

0..1

Returned when the return_fields parameter includes the value "contractDeliverable"

*** ContractNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractnumber"

*** ContractorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractordocumentnumber"

*** ContractorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "contractorrev"

*** Current

Boolean

0..1

Returned when the return_fields parameter includes the value "current"
Determines whether this revision of the document is the current revision

*** Date1

String

0..1

Returned when the return_fields parameter includes the value "date1"
UTC format

*** Date2

String

0..1

Returned when the return_fields parameter includes the value "date2"
UTC format

*** DateCreated

String

0..1

Returned when the return_fields parameter includes the value "received"
UTC format

*** DateForReview

String

0..1

Returned when the return_fields parameter includes the value "forreview"
UTC format

*** DateModified

String

0..1

Returned when the return_fields parameter includes the value "registered"
UTC format

*** DateReviewed

String

0..1

Returned when the return_fields parameter includes the value "reviewed"
UTC format

*** Discipline

String(50)

0..1

Returned when the return_fields parameter includes the value "discipline"

*** DocumentNumber

String(210)

0..1

Returned when the return_fields parameter includes the value "docno"

*** DocumentStatus

String(40)

0..1

Returned when the return_fields parameter includes the value "statusid"

*** DocumentType

String(50)

0..1

Returned when the return_fields parameter includes the value "doctype"

*** FileSize

Long(64 bit)

0..1

Returned when the return_fields parameter includes the value "fileSize"

*** Filename

String(255)

0..1

Returned when the return_fields parameter includes the value "filename"

*** FileType

String(3)

0..1

Returned when the return_fields parameter includes the value "fileType"

*** MarkupLastModifiedDate

String

0..1

Returned when the return_fields parameter includes the value "markupLastModifiedDate"
UTC format

*** MilestoneDate

 

0..1

Returned when the return_fields parameter includes the value "milestonedate"
UTC format

*** NumberOfMarkups

Integer

0..1

Returned when the return_fields parameter includes the value "numberOfMarkups"

*** PackageNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "packagenumber"

*** PercentComplete

Integer(0-100)

0..1

Returned when the return_fields parameter includes the value "percentComplete"

*** PlannedSubmissionDate

String

0..1

Returned when the return_fields parameter includes the value "plannedsubmissiondate"
UTC format

*** PrintSize

String(15)

0..1

Returned when the return_fields parameter includes the value "printSize"

*** ProjectField1

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField1"

*** ProjectField2

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField2"

*** ProjectField3

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField3"

*** Reference

String(120)

0..1

Returned when the return_fields parameter includes the value "reference"

*** ReviewSource

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewSource"

From Release 21.10:

The field will include actual "Workflow Number" / "Correspondence Number" / "SupploerDocPackageNumber" if it exists for the document corresponding to type of Source (Workflow / Transmittal / Supplier Document) .

Eg. Workflow : <ReviewSource>WF-000002</ReviewSource>

Transmittal : <ReviewSource>145228</ReviewSource>

Supplier Document : <ReviewSource>SD-000004</ReviewSource>

No Review Source : <ReviewSource>None</ReviewSource>

*** ReviewStatus

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewstatus"

*** Revision

String(15)

0..1

Returned when the return_fields parameter includes the value "revision"

*** RevisionDate

String

0..1

Returned when the return_fields parameter includes the value "revisiondate"
UTC format

*** Scale

String(9)

0..1

Returned when the return_fields parameter includes the value "scale"

*** SelectList1

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist1"

*** SelectList2

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist2"

*** SelectList3

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist3"

*** SelectList4

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist4"

*** SelectList5

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist5"

*** SelectList6

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist6"

*** SelectList7

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist7"

*** SelectList8

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist8"

*** SelectList9

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist9"

*** SelectList10

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist10"

*** TagNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "tagNumber"

*** Title

String(120)

0..1

Returned when the return_fields parameter includes the value "title"

*** ToClientDate

String

0..1

Returned when the return_fields parameter includes the value "toclient"
UTC format

*** TrackingId

String

0..1

The tracking id for a document is a unique identifier for all version of a specific document.
When a document is first registered into Aconex, a unique identifier is generated
and this value is used assigned to all document revisions of that document.
One can use this tracking identifier to create a chain of documents.

*** VersionNumber

Integer

0..1

The version number of a document provides information relating to the sequence in
which the document was registered within the chain of revisions. For all documents
with the same Tracking Id, the version number will be an integer value starting from 1.
e.g. When a document is newly registered into Aconex, its version number will be 1.
When it is superseded, a new document with a version number of 2 will be created.
Both document revisions will be accessible using their respective document
Id's.

*** Vdrcode

String(50)

0..1

Returned when the return_fields parameter includes the value "vdrcode"

*** VendorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "vendordocumentnumber"

*** VendorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "vendorrev"

Sample response of NUMBER_LIMITED search type

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterSearch TotalResults = "2">
    <SearchResults>
        <Document DocumentId = "1879099233">
            <DateApproved></DateApproved>
            <AsBuiltRequired>false</AsBuiltRequired>
            <Attribute1>
                <AttributeTypeNames>
                    <AttributeTypeName>North Tower Hotel</AttributeTypeName>
                    <AttributeTypeName>South Tower Hotel</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE1</AttributeType>
            </Attribute1>
            <Attribute2>
                <AttributeTypeNames>
                    <AttributeTypeName>WP2.03 - Metal Decking</AttributeTypeName>
                    <AttributeTypeName>WP2.02 - Tan</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE2</AttributeType>
            </Attribute2>
            <Attribute3>
                <AttributeTypeNames/>
                <AttributeType>ATTRIBUTE3</AttributeType>
            </Attribute3>
            <Attribute4>
                <AttributeTypeNames/>
                <AttributeType>ATTRIBUTE4</AttributeType>
            </Attribute4>
            <Author>Majestic Builders</Author>
            <AuthorisedBy></AuthorisedBy>
            <Category></Category>
            <Check1>false</Check1>
            <Check2>false</Check2>
            <Comments></Comments>
            <Comments2></Comments2>
            <Confidential>false</Confidential>
            <ContractDeliverable>false</ContractDeliverable>
            <ContractorDocumentNumber></ContractorDocumentNumber>
            <ContractorRevision></ContractorRevision>
            <Current>true</Current>
            <Date1></Date1>
            <Date2></Date2>
            <DateCreated></DateCreated>
            <DateForReview></DateForReview>
            <DateModified>2009-09-29T23:23:51.533Z</DateModified>
            <DateReviewed></DateReviewed>
            <Discipline>Architectural</Discipline>
            <DocumentNumber>05-034_A700-1</DocumentNumber>
            <DocumentStatus>Approved</DocumentStatus>
            <DocumentType>Drawing</DocumentType>
            <FileSize>420387</FileSize>
            <Filename>N05-034_A700-3.pdf</Filename>
            <FileType>pdf</FileType>
            <MarkupLastModifiedDate></MarkupLastModifiedDate>
            <NumberOfMarkups>0</NumberOfMarkups>
            <PercentComplete>100</PercentComplete>
            <PrintSize>A0</PrintSize>
            <ProjectField1></ProjectField1>
            <ProjectField2></ProjectField2>
            <ProjectField3></ProjectField3>
            <Reference>Compare</Reference>
            <ReviewSource>WF-000002</ReviewSource>
            <ReviewStatus>None</ReviewStatus>
            <Revision>7</Revision>
            <RevisionDate>2007-10-23T14:00:00.000Z</RevisionDate>
            <Scale>0:0</Scale>
            <TagNumber></TagNumber>
            <Title>Main Lobby and Reception</Title>
            <ToClientDate></ToClientDate>
            <Vdrcode></Vdrcode>
            <VendorDocumentNumber></VendorDocumentNumber>
            <VendorRevision></VendorRevision>
        </Document>
        <Document DocumentId = "1879099236">
            <DateApproved>2009-10-14T13:00:00.000Z</DateApproved>
            <AsBuiltRequired>true</AsBuiltRequired>
            <Attribute1>
                <AttributeTypeNames>
                    <AttributeTypeName>Retail Building</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE1</AttributeType>
            </Attribute1>
            <Attribute2>
                <AttributeTypeNames>
                    <AttributeTypeName>WP1.04 - Ground Works (inc. Grade Concrete Slab)</AttributeTypeName>
                    <AttributeTypeName>WP4.11 - Intenral Fitout</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE2</AttributeType>
            </Attribute2>
            <Attribute3>
                <AttributeTypeNames>
                    <AttributeTypeName>Attrib3-Val1</AttributeTypeName>
                    <AttributeTypeName>Attrib3-Val3</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE3</AttributeType>
            </Attribute3>
            <Attribute4>
                <AttributeTypeNames>
                    <AttributeTypeName>Attrib4-Val3</AttributeTypeName>
                    <AttributeTypeName>Attrib4-Val2</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE4</AttributeType>
            </Attribute4>
            <Author>Splice Architecture</Author>
            <AuthorisedBy>AT</AuthorisedBy>
            <Category>Cat001</Category>
            <Check1>true</Check1>
            <Check2>false</Check2>
            <Comments>Look at this!</Comments>
            <Comments2>Look at that!</Comments2>
            <Confidential>false</Confidential>
            <ContractDeliverable>false</ContractDeliverable>
            <ContractNumber>CN001</ContractNumber>
            <ContractNumber>CN002</ContractNumber>
            <ContractorDocumentNumber>ABCD001</ContractorDocumentNumber>
            <ContractorRevision>GA</ContractorRevision>
            <Current>true</Current>
            <Date1>2009-10-25T13:00:00.000Z</Date1>
            <Date2>2009-10-26T13:00:00.000Z</Date2>
            <DateCreated>2007-05-11T14:00:00.000Z</DateCreated>
            <DateForReview>2009-10-06T13:00:00.000Z</DateForReview>
            <DateModified>2009-10-05T01:11:05.237Z</DateModified>
            <DateReviewed>2009-10-08T13:00:00.000Z</DateReviewed>
            <Discipline>Architectural</Discipline>
            <DocumentNumber>581-AWD-031</DocumentNumber>
            <DocumentStatus>Approved</DocumentStatus>
            <DocumentType>Drawing</DocumentType>
            <FileSize>104724</FileSize>
            <Filename>581-AWD-278C581-AWD-278C.pdf</Filename>
            <FileType>pdf</FileType>
            <MarkupLastModifiedDate></MarkupLastModifiedDate>
            <NumberOfMarkups>0</NumberOfMarkups>
            <PackageNumber>P002</PackageNumber>
            <PercentComplete>100</PercentComplete>
            <PrintSize>A4</PrintSize>
            <ProjectField1>PF001</ProjectField1>
            <ProjectField2>PF002</ProjectField2>
            <ProjectField3>PF003</ProjectField3>
            <Reference>Compare</Reference>
            <ReviewSource>None</ReviewSource>
            <ReviewStatus>None</ReviewStatus>
            <Revision>G</Revision>
            <RevisionDate>2007-07-11T14:00:00.000Z</RevisionDate>
            <Scale>0:0</Scale>
            <SelectList1>Evaluation</SelectList1>
            <TagNumber>TN001</TagNumber>
            <Title>Lobby Floor Plan</Title>
            <ToClientDate>2009-10-12T13:00:00.000Z</ToClientDate>
            <Vdrcode></Vdrcode>
            <VendorDocumentNumber>VD002</VendorDocumentNumber>
            <VendorRevision>G</VendorRevision>
            <VersionNumber>2</VersionNumber>
            <TrackingId>3245</TrackingId>
        </Document>
    </SearchResults>
</RegisterSearch>

Sample response of a PAGED search type

<RegisterSearch TotalResultsOnPage="26" TotalResults="76" TotalPages="2" PageSize="50" CurrentPage="2">

  <SearchResults>
    <Document DocumentId="3289"/>
    <Document DocumentId="3019"/>
    <Document DocumentId="3018"/>
    <Document DocumentId="3017"/>
    <Document DocumentId="3016"/>
    <Document DocumentId="3430"/>
    <Document DocumentId="3609"/>
    <Document DocumentId="4096"/>
    <Document DocumentId="98"/>
    <Document DocumentId="97"/>
    <Document DocumentId="2778"/>
    <Document DocumentId="2777"/>
    <Document DocumentId="106"/>
    <Document DocumentId="2776"/>
    <Document DocumentId="2775"/>
    <Document DocumentId="451"/>
    <Document DocumentId="450"/>
    <Document DocumentId="2859"/>
    <Document DocumentId="2856"/>
    <Document DocumentId="2847"/>
    <Document DocumentId="3710"/>
    <Document DocumentId="2850"/>
    <Document DocumentId="3028"/>
    <Document DocumentId="449"/>
    <Document DocumentId="447"/>
    <Document DocumentId="3051"/>
  </SearchResults>
</RegisterSearch>

Sample response of a COUNT_ONLY search type

<RegisterSearch TotalResults="76"/>
Error Codes: 
Status Code Description HTTP Status Code
INVALID_PARAMETER_VALUE If a value for a provided parameter is not valid in anyway or unexpected 400
INVALID_RESULT_SET_FIELD If a field requested as part of the results is not a valid result set field 400
INVALID_SORT_FIELD If the field specified to sort on is not a valid sortable field 400
MALFORMED_QUERY If the query provided is not a correctly structured Lucene query 400
Prerequisites: 

Required Permissions

The authorizing user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not every field may be used in the specified project. It is recommended that the user retrieve the register schema beforehand to obtain the list of active fields, prior to constructing a request.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

Document metadata will not be returned if the document is both marked "Confidential" and the authorizing user is not on that document's Access List.

Further reading: 

Introductory notes about Lucene queries may be found here:

http://lucene.apache.org/core/3_5_0/queryparsersyntax.html

View Document Metadata

View Document Metadata

The service retrieves the detailed metadata for a particular document in the specified project.

URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/register/{documentid}/metadata
URL Parameters: 
Parameters Type(maxlength) Cardinality Notes
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.

Sample Request: 
https://au1.aconex.com/api/projects/1879048400/register/1879093137/metadata

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes

RegisterDocument

Group

1

 

DocumentId

String

1

 

* AsBuiltRequired

Boolean

1

 

* Attribute1

Group

1

 

** AttributeTypeNames

Group

1

 

*** AttributeTypeName

String(200)

0..n

 

** AttributeType

String

1

Constant: ATTRIBUTE1

* Attribute2

Group

1

 

** AttributeTypeNames

Group

1

 

*** AttributeTypeName

String(200)

0..n

 

** AttributeType

String

1

Constant: ATTRIBUTE2

* Attribute3

Group

1

 

** AttributeTypeNames

Group

1

 

*** AttributeTypeName

String(200)

0..n

 

** AttributeType

String

1

Constant: ATTRIBUTE3

* Attribute4

Group

1

 

** AttributeTypeNames

Group

1

 

*** AttributeTypeName

String(200)

0..n

 

** AttributeType

String

1

Constant: ATTRIBUTE4

* Author

String(50)

0..1

 

* AuthorisedBy

String(50)

0..1

 

* Category

String(50)

0..1

 

* Check1

Boolean

1

 

* Check2

Boolean

1

 

* Comments

String(50)

0..1

 

* Comments2

String(50)

0..1

 

* Confidential

Boolean

1

 

* ConfidentialUserAccessList

Group

0..1

 

** UserId

String

1..n

 

* ContractDeliverable

Boolean

1

 

* ContractNumber

String(50)

0..n

 

* ContractorDocumentNumber

String(50)

0..1

 

* ContractorRevision

String(50)

0..1

 

* Date1

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Date2

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* DateCreated

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* DateForReview

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* DateModified

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* DateReviewed

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Discipline

String(50)

0..1

 

* DocumentNumber

String(210)

0..1

 

* DocumentStatus

String(50)

0..1

 

* DocumentType

String(50)

0..1

 

* FileSize

Integer(32-bit signed)

0..1

 

* Filename

String(50)

0..1

 

* PackageNumber

String(50)

0..n

 

* PercentComplete

Integer(0 - 100)

0..1

 

* PrintSize

String(50)

0..1

 

* ProjectField1

String(50)

0..1

 

* ProjectField2

String(50)

0..1

 

* ProjectField3

String(50)

0..1

 

* Received

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Reference

String(50)

0..1

 

* Registered

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Reviewed

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* ReviewSource

String(50)

0..1

The field will include actual "Workflow Number" / "Correspondence Number" / "SupploerDocPackageNumber" if it exists for the document corresponding to type of Source (Workflow / Transmittal / Supplier Document) .

Eg. Workflow : <ReviewSource>WF-000002</ReviewSource>

Transmittal : <ReviewSource>145228</ReviewSource>

Supplier Document : <ReviewSource>SD-000004</ReviewSource>

No Review Source : <ReviewSource>None</ReviewSource>

* ReviewStatus

String(50)

0..1

 

* Revision

String(50)

0..1

 

* RevisionDate

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Scale

String(50)

0..1

 

* SelectList1

String(60)

0..1

 

* SelectList2

String(60)

0..1

 

* SelectList3

String(60)

0..1

 

* SelectList4

String(60)

0..1

 

* SelectList5

String(60)

0..1

 

* SelectList6

String(60)

0..1

 

* SelectList7

String(60)

0..1

 

* SelectList8

String(60)

0..1

 

* SelectList9

String(60)

0..1

 

* SelectList10

String(60)

0..1

 

* TagNumber

String(50)

0..1

 

* Title

String(50)

0..1

 

* ToClientDate

DateTime

1

UTC format yyyy-MM-dd'T'hh:mm:ss.SSS'Z'

* Vdrcode

String(50)

0..1

 

* VendorDocumentNumber

String(50)

0..1

 

* VendorRevision

String(50)

0..1

 

Note: Only Confidential documents (<Confidential> = true) will have a ConfidentialUserAccessList.

Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocument DocumentId = "1879099753">
    <DateApproved>2010-01-15T10:41:25.700Z</DateApproved>
    <AsBuiltRequired>true</AsBuiltRequired>
    <Attribute1>
        <AttributeTypeNames>
            <AttributeTypeName>ATTR1-001</AttributeTypeName>
        </AttributeTypeNames>
        <AttributeType>ATTRIBUTE1</AttributeType>
    </Attribute1>
    <Attribute2>
        <AttributeTypeNames>
            <AttributeTypeName>ATTR2-002</AttributeTypeName>
        </AttributeTypeNames>
        <AttributeType>ATTRIBUTE2</AttributeType>
    </Attribute2>
    <Attribute3>
        <AttributeTypeNames>
            <AttributeTypeName>ATTR3-003</AttributeTypeName>
        </AttributeTypeNames>
        <AttributeType>ATTRIBUTE3</AttributeType>
    </Attribute3>
    <Attribute4>
        <AttributeTypeNames>
            <AttributeTypeName>ATTR4-004</AttributeTypeName>
        </AttributeTypeNames>
        <AttributeType>ATTRIBUTE4</AttributeType>
    </Attribute4>
    <Author>Stephen King</Author>
    <AuthorisedBy>Me Myself and Irene</AuthorisedBy>
    <Category>CAT001</Category>
    <Check1>true</Check1>
    <Check2>true</Check2>
    <Comments>This is a comment</Comments>
    <Comments2>This is second comment</Comments2>
    <Confidential>false</Confidential>
    <ConfidentialUserAccessList/>
    <ContractDeliverable>true</ContractDeliverable>
    <ContractNumber>CN001</ContractNumber>
    <ContractorDocumentNumber>CDN001</ContractorDocumentNumber>
    <ContractorRevision>A</ContractorRevision>
    <Date1>2010-01-14T13:00:00.000Z</Date1>
    <Date2>2010-01-14T13:00:00.000Z</Date2>
    <DateCreated>2010-01-15T10:41:25.700Z</DateCreated>
    <DateForReview>2010-01-16T10:40:32.000Z</DateForReview>
    <DateModified>2010-01-14T23:41:31.173Z</DateModified>
    <DateReviewed>2010-01-13T10:40:32.000Z</DateReviewed>
    <Discipline>Architectural</Discipline>
    <DocumentNumber>API Document 20100115104125760</DocumentNumber>
    <DocumentStatus>For Information</DocumentStatus>
    <DocumentType>Sample</DocumentType>
    <FileSize>5632</FileSize>
    <Filename>TanTest.xls</Filename>
    <MilestoneDate>2010-01-16T10:40:32.000Z</MilestoneDate>
    <PackageNumber>PN001</PackageNumber>
    <PercentComplete>75</PercentComplete>
    <PlannedSubmissionDate>2010-01-16T10:40:32.000Z</PlannedSubmissionDate>
    <PrintSize>A4</PrintSize>
    <ProjectField1>First random string field</ProjectField1>
    <ProjectField2>Second random string field</ProjectField2>
    <ProjectField3>Third random string field</ProjectField3>
    <Reference>My reference</Reference>
    <ReviewSource>None</ReviewSource>
    <ReviewStatus>None</ReviewStatus>
    <Revision>A</Revision>
    <RevisionDate>2010-01-15T10:41:25.700Z</RevisionDate>
    <Scale>240:1</Scale>
    <SelectList1>First Select Option</SelectList1>
    <SelectList2>Second Select Option</SelectList2>
    <TagNumber>TAG You're It</TagNumber>
    <Title>Test Create Document 20100115104125780</Title>
    <ToClientDate>2010-01-16T10:40:32.000Z</ToClientDate>
    <Vdrcode>VDR001</Vdrcode>
    <VendorDocumentNumber>MyVendor VDN001</VendorDocumentNumber>
    <VendorRevision>A</VendorRevision>
</RegisterDocument>
Error Codes: 
Status Code Description HTTP Status Code
Prerequisites: 

Required Permissions

There are no required permissions to use this service.

Preferences/Module Setup

Not every field may be used in the specified project. It is recommended that the user retrieve the register schema beforehand to obtain the list of active fields.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user has no access to the specified project.

The authorizing user cannot retrieve the metadata if the document is both marked as "Confidential" and the authorizing user is not on that document's Access List.

Download Document File

The service retrieves the backing file associated with the specified document.

Notes:

  1. If the file contains markups, the marked-up version can be downloaded by adding the optional keyword "markedup" to the URL.
  2. Marked up backing files are returned in PDF file format. Backing files without markup are retrieved in their original format.
  3. The filename of the document will be stripped of semi-colons, should any exist.
  4. sizeForceFetch is an optional parameter and it can be used if there is a difference in file size downloaded from the Web and API. 
  5. For large files, larger than 2GB, if file download stops, add header : 'Accept-Encoding: gzip, deflate, sdch'

URL structure
HTTP GET: https://{hostname}/api/projects/{projectid}/register/{documentid}/[markedup]?[sizeForceFetch=true/false]

Parameters

Parameters

Type(maxlength)

Cardinality

Notes

sizeForceFetch BOOLEAN 0..1

Non-Mandatory Field.

Default value is false.


Interface

Request Fields

Not Applicable. HTTP GET operations have no request body.

Sample requests

https://au1.aconex.com/api/projects/1879048400/register/1879099264

https://au1.aconex.com/api/projects/1879048400/register/1879099264/markedup
https://au1.aconex.com/api/projects/1879048400/register/1879099264?sizeForceFetch=true
https://au1.aconex.com/api/projects/1879048400/register/1879099264/markedup?sizeForceFetch=true

Response Fields

Not applicable. The response is a binary stream of the file associated with the document.

Sample response

Not applicable.

Error Codes Specific to the Service

Status Code

Description

HTTP Status Code

CANNOT_DOWNLOAD_EMPTY_DOCUMENT

Cannot download a registered document which does not have a backing file

400 Bad Request


Prerequisites

Required Permissions

The authorizing user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not applicable.


Constraints

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

The authorizing user cannot download the backing file if the document is both marked as "Confidential" and the authorizing user is not on that document's Access List.

Due to the URL structure, the service can only retrieve one backing file at a time. Unlike the GUI, the service cannot retrieve multiple backing files in a single request.

Related APIs
  • List Documents
  • View Document Metadata
  • View Document Event Log

View Document Event Log

View Document Event Log

The service retrieves the Event Log for the specified document.

Note: The Event Log is common to a family of document revisions.

URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/register/{documentid}/eventlog
URL Parameters: 
Parameters Type(maxlength) Cardinality Notes
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.

Field Name Type(maxlength) Cardinality Notes
       
Sample Request: 
https://au1.aconex.com/api/projects/1879048400/register/1879099264/eventlog

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes

ViewEventLog

Group

1

 

TotalResults

Attribute
Integer

1

The number of events found for the specified document

* SearchResults

Group

1

 

** CDEventLog

Group

0..n

 

** EventType

Attribute
String

1

One of:

  • Authorization
  • Maintenance
  • Management
  • Modification
  • Notification
  • Print
  • Send
  • View

*** Event

String(No Limit)

1

Specific details of the Event. Sample values include:

  • Locked
  • Registered
  • Notified of Change to Shared Document
  • Viewed using Online Viewer
  • Received (From TRANSMIT-000001) No action taken (same document already exists in register)

*** EventTime

String

1

UTC format

*** Organization

String(60)

1

The organization that initiated the Event

*** User

String(61)

1

The user who initiated the Event (First initial + " " + Last name)

*** Revision

String(30)

1

The revision of the document

*** VersionNumber

String(30)

1

The version number of the document

Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<ViewEventLog TotalResults = "11">
    <SearchResults>
        <CDEventLog EventType = "Modification">
            <Event>Auto Registered (From ENZ-TRANSMIT-000083)</Event>
            <EventTime>2007-10-11T03:53:10.313Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>G</Revision>
            <User>D Controller</User>
            <VersionNumber>8</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Modification">
            <Event>Auto Registered (From ENZ-TRANSMIT-000082)</Event>
            <EventTime>2007-10-11T02:34:38.583Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>F</Revision>
            <User>P O'Leary</User>
            <VersionNumber>7</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Send">
            <Event>Sent with transmittal TRANSMIT-000042</Event>
            <EventTime>2006-07-03T08:30:01.067Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>C</Revision>
            <User>P O'Leary</User>
            <VersionNumber>4</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Send">
            <Event>Sent with transmittal TRANSMIT-000041</Event>
            <EventTime>2006-07-03T08:10:26.647Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>C</Revision>
            <User>P O'Leary</User>
            <VersionNumber>4</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Modification">
            <Event>Edited</Event>
            <EventTime>2006-07-03T08:09:39.087Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>C</Revision>
            <User>P O'Leary</User>
            <VersionNumber>4</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Modification">
            <Event>Edited (Status Changed to 'No Longer In Use')</Event>
            <EventTime>2006-07-03T08:09:39.087Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>B</Revision>
            <User>P O'Leary</User>
            <VersionNumber>3</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Print">
            <Event>Print Requested (1879048203)</Event>
            <EventTime>2006-04-04T16:00:55.837Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>B</Revision>
            <User>P O'Leary</User>
            <VersionNumber>2</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Send">
            <Event>Sent with TRANSMIT-000028</Event>
            <EventTime>2005-12-07T00:44:48.603Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>B</Revision>
            <User>P O'Leary</User>
            <VersionNumber>2</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Send">
            <Event>Sent with TRANSMIT-000016</Event>
            <EventTime>2005-11-14T07:22:19.130Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>B</Revision>
            <User>P O'Leary</User>
            <VersionNumber>2</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Modification">
            <Event>Auto Registered (From TRANSMIT-000012)</Event>
            <EventTime>2005-10-08T04:40:17.607Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>B</Revision>
            <User>P O'Leary</User>
            <VersionNumber>2</VersionNumber>
        </CDEventLog>
        <CDEventLog EventType = "Modification">
            <Event>Auto Registered (From TRANSMIT-000009)</Event>
            <EventTime>2005-10-08T04:25:44.830Z</EventTime>
            <Organization>Majestic Builders</Organization>
            <Revision>A</Revision>
            <User>P O'Leary</User>
            <VersionNumber>1</VersionNumber>
        </CDEventLog>
    </SearchResults>
</ViewEventLog>
Error Codes: 
Status Code Description HTTP Status Code
Prerequisites: 

Required Permissions

The authorizing user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not applicable.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

Event logs will not be returned if the document is both marked "Confidential" and the authorizing user is not on that document's Access List.

Register Document

The service creates a new document in the registry of the specified project. This API supports both Small and Large File Uploads. The caller of the service has options to chose the approach based on the size of the file. If the file size is small then Small File Upload approach can be chosen which requires a single call to this API. If the file size is large, the caller has 2 choices for uploading. First option is Setting HTTP header and the other option is to chunk the large file into part files and call the API for each of the parts (chunks) followed by a Merge Call at the end. All the approaches are detailed in different sections below.

Note: Large File Upload functionality is available from Release 21.10.

URL Structure: 
HTTP POST: https://{hostname}/api/projects/{projectid}/register
URL Parameters: 
Parameters Type(maxlength) Cardinality Notes
Interface: 
HTTP Request Header Variables: 

As the request body has content that is multipart/mixed, a boundary identifier must be specified in the request header (as a key/value pair). This boundary is used to separate data of different types, e.g. text and binary.

Sample Header

Content-Type=multipart/mixed; boundary="myboundary"

As the request body is multipart/mixed, a boundary identifier must be specified in the request header. This boundary is used to separate data of different types, e.g. text and binary.

 

Choosing the approach:

Approach

When to chose ?

Small File Upload
  • This approach is recommended for uploading a file of size up to 100 MB
  • In case the upload fails (Server error, Memory related errors) for a file around this size, the caller can try uploading the same file by following the "Large File Upload" approach
Large File Upload
  • This approach is recommended for files of size " > 100 MB "
Note ***
  • In some of the Aconex Instances, depending upon the memory configuration / utilization, Small file upload may work for files with up to 300 MB as well (which has been the case). But we recommend to chose the Large File Upload approach if the size exceeds 100 MB

 

Small File Upload
  • If the size of the file is relatively small, the caller can chose this approach
  • It requires a single call to this API to upload and register a document

Request Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional.

The number of *'s indicate the parent-child depth.

Note: You must use either a valid request field or a valid project field in your API request. Project fields must be sent in the correct format: fieldname_type. For example, <complete_boolean>true</completed_boolean>.
All fields passed to the API are validated. Invalid request fields or project fields with an incorrect format will result in errors. More information about project fields can be found in the Project Fields API Developer Guide.

Field Name Type(maxlength) Cardinality Notes

Document

Group

1

 

* DocumentNumber*

String(210)

1

This field is required only when AutoNumbering is not configured.
If "AutoNumber" field is set to "false" or not present in request, the API will consider document number from this field.
Otherwise, document number will be auto generated during registration

* DocumentTypeId*

Integer(32-bit signed)

1

 

* Revision*

String(15)

1

 

* HasFile*

Boolean

1

Flag to indicate whether this document contains an associated backing file. If true, then the filename and file contents must be included in the request.

* AccessList+

String(50)

0..n

A list of valid userIds representing users who are to be included in this document's Confidential Access List. If zero users are specified, then the document will not be made confidential.

* AsBuiltRequired+

Boolean

0..1

 

* Attribute1+

String(50)

0..n

 

* Attribute2+

String(50)

0..n

 

* Attribute3+

String(50)

0..n

 

* Attribute4+

String(50)

0..n

 

* Author+

String(50)

0..1

 

* AuthorisedBy+

String(50)

0..1

 

* Category+

String(50)

0..1

 

* Check1+

String(50)

0..1

 

* Check2+

String(50)

0..1

 

* Comments+

String(50)

0..1

 

* Comments2+

String(50)

0..1

 

* ContractNumber+

String(50)

0..n

 

* ContractDeliverable+

String(50)

0..1

 

* ContractorDocumentNumber+

String(50)

0..1

 

* ContractorRev+

String(50)

0..1

 

* Date1+

String(50)

0..1

 

* Date2+

String(50)

0..1

 

* DateApproved+

String(50)

0..1

 

* DateCreated+

String(50)

0..1

 

* DateForReview+

String(50)

0..1

 

* DateReviewed+

String(50)

0..1

 

* Discipline+

String(50)

0..1

 

* DocumentStatusId+

String(50)

0..1

 

* MilestoneDate+

String(50)

0..1

 

* PackageNumber+

String(50)

0..n

 

* PercentageComplete String(60) 0..1  

* PlannedSubmissionDate

String(50) 0..1  

* PrintSize

String(50) 0..1  

* ProjectField1+

String(50)

0..1

 

* ProjectField2+

String(50)

0..1

 

* ProjectField3+

String(50)

0..1

 

* Reference+

String(50)

0..1

 

* RevisionDate+

String(50)

0..1

 

* Scale+

String(50)

0..1

 

* SelectList1+

String(60)

0..1

 

* SelectList2+

String(60)

0..1

 

* SelectList3+

String(60)

0..1

 

* SelectList4+

String(60)

0..1

 

* SelectList5+

String(60)

0..1

 

* SelectList6+

String(60)

0..1

 

* SelectList7+

String(60)

0..1

 

* SelectList8+

String(60)

0..1

 

* SelectList9+

String(60)

0..1

 

* SelectList10+

String(60)

0..1

 

* TagNumber+

String(50)

0..1

 

* Title+

String(120)

0..1

 

* ToClientDate+

String(50)

0..1

 

* UploadDate+

String(50)

0..1

 

* UploadedBy+

String(50)

0..1

 

* Vdrcode+

String(50)

0..1

 

* VendorDocumentNumber+

String(50)

0..1

 

* VendorRev+

String(50)

0..1

 

*AutoNumber+

String

0..1

This field represents whether document should be auto generated or get from DocumentNumber field. If it is true, document number from DocumentNumber field will not be considered and it will be auto generated based on autoNumber configuration else document number will be picked from DocumentNumber field

* Denotes a mandatory field, regardless of project configuration.
+ May be a mandatory field, depending on project configuration. Confirm by checking the document schema for the project.

Note that not all document fields may be enabled; again this depends on project configuration.

 

Using part boundaries

Boundaries are marked using

--<boundaryName>

The exception to this is the final boundary in the POST content, which terminates with

--<boundaryName>--

Refer to the sample request(s) below for further detail.

Attaching local files

A local file may be specified as the backing file to the registered document being registered.

The additional part(s) consist of an empty line, then the filename for the file, followed by an empty line, then the (binary) file contents, encoded in base-64. There must also be an empty line between the end of the binary contents and the next boundary.

Ensure there is an empty line before and after the filename, or you will be returned error like "UNEXPECTED_ATTACHMENT_HEADER_FOUND" or "NO_ATTACHMENT_HEADERS_FOUND"

There is a limit of 1 local file to specify, per registered document.

Parameters Type(maxlength) Cardinality Notes
X-Filename String(255) 0..n Arbitrary filename used to identify the local file attachment
      base-64 encoded binary contents of the file
Sample Request: 
https://app8.engr.acx:2001/api/projects/1879048422/register


[HTTP Header]
Content-Type=multipart/mixed; boundary=myboundary

[HTTP Post content]
--myboundary

<Document>
<DocumentNumber>API Document 2010-02-02 10:17am</DocumentNumber>
<DocumentTypeId>1879048227</DocumentTypeId>
<Revision>A</Revision>
<AsBuiltRequired>true</AsBuiltRequired>
<Attribute1>ATTR1-001</Attribute1>
<Attribute1>ATTR1-002</Attribute1>
<Attribute2>ATTR2-001</Attribute2>
<Attribute2>ATTR2-002</Attribute2>
<Attribute3>ATTR3-001</Attribute3>
<Attribute3>ATTR3-002</Attribute3>
<Attribute4>ATTR4-001</Attribute4>
<Attribute4>ATTR4-002</Attribute4>
<Author>Stephen King</Author>
<AuthorisedBy>Me Myself and Irene</AuthorisedBy>
<Category>CAT001</Category>
<Check1>true</Check1>
<Check2>true</Check2>
<Comments>This is a comment</Comments>
<Comments2>This is second comment</Comments2>
<ContractNumber>CN001</ContractNumber>
<ContractNumber>CN002</ContractNumber>
<ContractNumber>CN003</ContractNumber>
<ContractDeliverable>true</ContractDeliverable>
<ContractorDocumentNumber>CDN001</ContractorDocumentNumber>
<ContractorRev>A</ContractorRev>
<Date1>2009-11-05</Date1>
<Date2>2009-11-05</Date2>
<DateApproved>2009-11-05T12:00:00.000Z</DateApproved>
<DateCreated>2009-11-05T12:00:00.000Z</DateCreated>
<DateForReview>2009-11-07T12:00:00.000Z</DateForReview>
<DateReviewed>2009-11-03T12:00:00.000Z</DateReviewed>
<Discipline>Architectural</Discipline>
<DocumentStatusId>1879048196</DocumentStatusId>
<HasFile>true</HasFile>
<MilestoneDate>2009-11-07T12:00:00.000Z</MilestoneDate>
<PackageNumber>PN001</PackageNumber>
<PackageNumber>PN002</PackageNumber>
<PackageNumber>PN003</PackageNumber>
<PercentComplete>75</PercentComplete>
<PlannedSubmissionDate>2009-11-07</PlannedSubmissionDate>
<PrintSize>A4</PrintSize>
<ProjectField1>First random string field</ProjectField1>
<ProjectField2>Second random string field</ProjectField2>
<ProjectField3>Third random string field</ProjectField3>
<Reference>My reference</Reference>
<RevisionDate>2009-11-05T12:00:00.000Z</RevisionDate>
<Scale>240:1</Scale>
<SelectList1>select1 option<SelectList1>
<SelectList2>select2 option<SelectList2>
<TagNumber>TAG You're It</TagNumber>
<Title>Test Create Document 2009-11-05 10:17am</Title>
<ToClientDate>2009-11-07T12:00:00.000Z</ToClientDate>
<UploadDate>2009-11-05T12:00:00.000Z</UploadDate>
<UploadedBy>The Uploader</UploadedBy>
<Vdrcode>VDR001</Vdrcode>
<VendorDocumentNumber>MyVendor VDN001</VendorDocumentNumber>
<VendorRev>A</VendorRev>
<AutoNumber>false</AutoNumber>
</Document>
--myboundary

X-Filename: localFile01.pdf

JVBERi0xLjINCiXDosOjw4/Dkw0KMSAwIG9iag0KPDwNCi9UeXBlIC9DYXRhbG9nDQovUGFnZXMgMyAwIFINCiAgIC9PdXRsaW5lcyAyIDAgUg0KPj4NCmVuZG9iag0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCjMgMCBvYmoNCjw8DQovVHlwZSAvUGFnZXMNCi9Db3VudCAxDQovS2lkcyBbNiAwIFIgXQ0KPj4NCmVuZG9iag0KNCAwIG9iag0KWy9QREYgL0ltYWdlQyBdDQplbmRvYmoNCjUgMCBvYmoNCjw8DQovUHJvZHVjZXIgKFZpZXdDb21wYW5pb24pDQovQ3JlYXRpb25EYXRlIChNb25kYXksIDIyIE1heSAyMDA2IDEyOjQwOjM1IEFNKQ0KPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvTGVuZ3RoIDggMCBSDQovRmlsdGVyIFsvRmxhdGVEZWNvZGVdDQo+Pg0Kc3RyZWFtDQp4xZPDrDHigYQywrvCrmXDicKuLMOmYMO/w4PDvuKAmsOCeD/DnMOlP8KpNi4uLsOrXUDigqxQw5MnXCcnwqPDn8OXYDLigJpmxb1VXcOVOD/igJ7Do1R3RUXDpsOMQTLDnyRzw77Dt8O/w7kgzITDvyDMg8O/w73Cv8O+w6s/wqYNCsOTNMO9W8O/w7zDn8O+4oCUN8O0w7/Duj/DvsO1w7/Du8O/w7jDt8O0w6/Dv8OJw73Cv8O/WcOhw7nDh3TCrFbDuFzFvcO7w7LDr3kz4oGENMOuw4vDtMOvPyHDpz9lDQrDpMOnwr/DvsOjIMyEw73Dhz7DrT/CtsObw4DDq8Kpw4tow7t0w5g/ccOafEw/w7bDq8Ofw7M2w48/xb3DnWjDszHDv1jDrkDFk3bCrsOXPzHigYQy4oCifcOoR8O7w5FAw7jCo8OWwrBzfUdawqnFuMOeYcOTSj/Dtz91DQovSCDMgWrCu8K2w5bCpCRKbcObw7xjw55UTU5+w7LDuWM2w4HFk8OPW8Onw73DvsKxw5/FvcOEwqfDjMOnU8Otwq7Dt8O9w6NvDQpIfsKxScOlxaHDniLDujnDlMOj4oCiIMyEw4vigJrigJrCq868w6vCqXzDncKmw6tow5h+ccWhLT8pw6jDiC0NClI/IkBDTsOWwrYtOz7DvMO4cW8twrY2w6LLhsOTLUfDv8ObwqM/ZcK7fi3CtkDDpkcz4oGENMKsbXl6Py4uLkbCpMOQLcO5w4c6J1wnJ0rCu37Fk0fCpSkgzIHDlW1TaEQNCm1bW8KhKSDMgcO9w6ktV8KhP21AZsOlS+KAsDFRIMyDQntvV8OWfsO0fsOkNnc/b1zDiz/DjX50w5/CrE3DtT8sw7c/MyLDtcOzIMyBw5rGksOsDQp5YcOVwrY8wr84zrzigKDDrT/DtlZwecO6wq5UTcOHw7J0P2VxZMOzw4rDl8KnDQrigJQjVzPDiGXDncW+IcKlIcOnw7LDoyDMpw0KwqHOvC9P4oC5NyLDqjrDvVgx4oGENMOmw5dGVsO7OVd1bcK2Mi4uLjZLbcKhw4ogwqnDgz9KMz/FvUbCo03FoSPigKJdIGhAKm3DvFINCi4uLjbDvyDMpyDMhMONw4ZyKsObPjrDmcOnNl0wLUfDgMK/VsOvw6BJe33Dnj1twr9+w4xnwqHDrcObP2toM09JeyJ6Tz3DrTHigYQ04oCUwqvDksW+McOqw6ppw7MzJuKAlE8gzKdPM8O/w4pvLQ0Ka8O54oKse8O6ccO3w63Cv8OOa8O5w4HCp+KAuk17RzozUSFZJ1wnJ1g7w5LDtGN7JkvDvcOTJ1wnJ8OYzrwNCsOW4oCgw5bDkyLCscKuw4s/w7nCqXp7wqTDocOzRyLDqz/igLp1OCY0w5BMw4dAOsOadMODy4bCrMO3xb59I8OAZzI7LQ0KSE/igLoxcsWTw6jDqkp7ZsKrw6kozrw5w5LDkcO2Zldaw5szw6PDpMuGw6BjbM68bcW9dCDMgWUzOUlr4oC6wqdHLz91Wm1sw5HDmsKpIMyBw6VuR2ozIWjDrXQ5d+KAuknCpTYNCsOtwrHFvXkvzrw9w59+Xz1teyx7wqnDjSdcJyfFvcK2w57Fk8K24oCwLMOPamtow5t8w5kgzIPCqc68OcOSw5NmZMKlwrbDucOpQlNP4oC6xbguMyDMhFo/xb3Dtkgpw41yRlcxIMyILi4uw60xM+KBhDR5w7DDo8OIDQrFoSLCti01wqQNClXDusKjSTvCscOcIeKAmj9hIMyBaysgxaFTa3M/dyDMgVBWw5TCpsOKDQrDmsKjw6jDsyjOvD1dw6Z+NClqU0MNCsWhwqHDlsOm4oCgWmlpw6TCrC15w5Ax4oGENMaSSG3DqEQtOmDDlMKmMGlWP3jDr2gxOERtOjgkLQ0KLFrigLo+w63CpsOWw7rCpcW9dDTDtMKkNsWS4oCiLcaSKmsrxpJqw5B8QMOWw5p8w5DDpm95w7FUTT7Fkjw1w7Jvw5Rmw4h9w5LDkcOCw4jigLAjTz9Gw47DmsWgJ1wnJy3Fkjw1w7JlbmRzdHJlYW0NCmVuZG9iag0KOCAwIG9iag0KDQo0MTk1MDQNCmVuZG9iag0KNiAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovUHJvY1NldCA0IDAgUg0KPj4NCi9NZWRpYUJveCBbIDAgMCAyMzA2IDE2MTAgXQ0KL0Nyb3BCb3ggWyAwIDAgMjMwNiAxNjEwIF0NCi9Db250ZW50cyA3IDAgUg0KPj4NCmVuZG9iag0KeHJlZg0KMDkNCjAwMDAwMDAwMDAgNjU1MzUgZiAwMDAwMDAwMDIxIDAwMDAwIG4gMDAwMDAwMDA5MyAwMDAwMCBuIDAwMDAwMDAxNDUgMDAwMDAgbiAwMDAwMDAwMjExIDAwMDAwIG4gMDAwMDAwMDI0NSAwMDAwMCBuIDAwMDA0MTk5NTYgMDAwMDAgbiAwMDAwMDAwMzQ2IDAwMDAwIG4gMDAwMDQxOTkzMSAwMDAwMCBuIHRyYWlsZXINCjw8DQovU2l6ZSA5DQovUm9vdCAxIDAgUg0KL0luZm8gNSAwIFINCj4+DQpzdGFydHhyZWYNCjQyMDExOA0KJSVFT0Y=

--myboundary--

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes
RegisterDocumentResult Group 1  
*RegisterDocumentResult String 1 The documentId of the registered document just created
Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocumentResult>
    <RegisterDocument>1879099859</RegisterDocument>
</RegisterDocumentResult>
Error Codes specific to the service: 
Status Code Description HTTP Status Code
ACCESS_DENIED The user is not allowed to perform the operation or retrieve the requested data 401

 

Large File Upload
  • If it is a large file that is being uploaded, the client has 2 Options to chose from : 
    • Options 1 : 
      • Add the "Transfer-Encoding" HTTP header in the request and set the value to "chunked"
      • Remove the "Content-Length" HTTP header from the request
      • Add additional Query Param to the Request URL : "asyncLargeFileRegister" and set it to "true"
      • i.e., https://app8.engr.acx:2001/api/projects/1879048422/register?asyncLargeFileRegister=true
      • This is Automated Chunking, where the protocol does the chunking automatically and sends the file to API
      • After the large file is uploaded to the server, processing and registration of the document happens in a background job. 
      • Meanwhile a unique "JobId" is returned in the response XML
      • The caller can track the status of document registration by calling another Status Check API by passing the JobId returned in Register Document API response
      • The Status Check API will return the "ControlledDocument ID" (Under <EntityId> tag along with "DONE" status after the background job has completed the registration. Until then it will return "IN_PROGRESS" status
      • Details of the Status check API is given in "Option 1" section
    • Options 2 : 
      • It requires multiple calls to this API
      • The caller has to split the large file into multiple chunks of size around 10 MB
      • For each split file / part file / chunk, a call has to be made to this API with request XML and BASE64 Encoded chunk file in the specified format
      • After all the chunk files are uploaded, a final "Merge" call has to be made to this API with Document Metadata. This call will result in the Document ID after merging chunk files in the server and registering it

Note : The user can try with the first option of "Automated Chunking" and if it doesn't help, then chose the Option 2 of "Manual Chunking"

 

Option 1 : 

HTTP Header

Value

Add / Remove

Notes

Transfer-Encoding chunked Add This will enable automated chunking by protocol
Content-Length - Remove Remove this header from request

 

Query Param
Value
Add / Remove
Notes
asyncLargeFileRegister true Add

Add this query param to the Request URL with the value set to "true"

asyncLargeFileRegister=true

Eg. https://app8.engr.acx:2001/api/projects/1879048422/register?asyncLargeFileRegister=true

*** The request format remains the same as Small File Upload

 

Sample Register Document API Response (With JobId) : 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocumentResult>
    <JobId>271341877549072699</JobId> 
	<Success>true</Success>
</RegisterDocumentResult>

 

Background Job Status Check API Details : 

URL structure

HTTP GET: https://{hostname}/api/projects/{projectid}/backgroundJob/status/{jobId}

Parameters

Parameters

Notes

jobId The Job ID returned in Register Document API Response

 

Sample request :

https://app8.engr.acx:2001/api/projects/1879048422/backgroundJob/status/271341877549072699

 

Sample Response : 

IN_PROGRESS Status Response :


<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<BackgroundJobStatus>
	<JobId>271341877549072700</JobId>
	<Status>IN_PROGRESS</Status>
</BackgroundJobStatus>


COMPLETED Status Response :

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<BackgroundJobStatus>
	<EntityId>271341877549089633</EntityId>
	<JobId>271341877549072700</JobId>
	<Status>DONE</Status>
</BackgroundJobStatus>


FAILED Status Response : 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<BackgroundJobStatus>
 	<ErrorDetails>Job Not Found For ID : 11111111</ErrorDetails>   
	<JobId>271341877549072700</JobId>
	<Status>FAILED</Status>
</BackgroundJobStatus>  

*** Note : The value inside the tag <EntityId> is the Registered ControlledDocumentId

 

Option 2 : 

Request Fields - Part File Upload (Chunk Upload)

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional.

The number of *'s indicate the parent-child depth.

 

Field name

Type(maxlength)

Cardinality

Notes

Document

Group 1  

*UUID*

String(36)

1

A unique identifier to be generated by the client that will be used for all the Part File  upload calls and Merge call while uploading a Large File.

UUID - Universally unique identifier

Format : xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

In its canonical textual representation, the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens)

Eg. 123e4567-e89b-12d3-a456-426614174000

       f000aa01-0451-4000-b000-000000000004

 

*CurrentPartIndex*

String(210)

1

Current Index of the Part File being uploaded starting from "0"

 

Unknown macro: {0. 1, 2 , 3 ...}

*ChunkSize*

Integer(32-bit signed)

1

Size of the current Part File in MB

*FileSize*

String(15)

1

Total File Size in MB (Large File Size)

* Denotes a mandatory field, regardless of project configuration.
+ May be a mandatory field, depending on project configuration. Confirm by checking the document schema for the project.

 

Request Fields - Merge Call

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional.

The number of *'s indicate the parent-child depth.

Field name

Type(maxlength)

Cardinality

Notes

Document

Group

1

 

*UUID*

String(36) 1

A unique identifier that was generated and used for uploading Part Files.

UUID - Universally unique identifier

Format : xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

In its canonical textual representation, the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens)

Eg. 123e4567-e89b-12d3-a456-426614174000

       f000aa01-0451-4000-b000-000000000004

*TotalFileSize*

Integer(32-bit signed) 1 Total File Size in MB (Large File Size)
*TotalPartsOfFile * Integer(32-bit signed) 1 Total Number of Part Files (chunks) that were uploaded

* DocumentNumber

String(210)

1

This field is required only when AutoNumbering is not configured.
If "AutoNumber" field is set to "false" or not present in request, the API will consider document number from this field.
Otherwise, document number will be auto generated during registration

* DocumentTypeId*

Integer(32-bit signed)

1

 

* Revision*

String(15)

1

 

* HasFile*

Boolean

1

Flag to indicate whether this document contains an associated backing file. If true, then the filename and file contents must be included in the request.

* AccessList+

String(50)

0..n

A list of valid userIds representing users who are to be included in this document's Confidential Access List. If zero users are specified, then the document will not be made confidential.

* AsBuiltRequired+

Boolean

0..1

 

* Attribute1+

String(50)

0..n

 

* Attribute2+

String(50)

0..n

 

* Attribute3+

String(50)

0..n

 

* Attribute4+

String(50)

0..n

 

* Author+

String(50)

0..1

 

* AuthorisedBy+

String(50)

0..1

 

* Category+

String(50)

0..1

 

* Check1+

String(50)

0..1

 

* Check2+

String(50)

0..1

 

* Comments+

String(50)

0..1

 

* Comments2+

String(50)

0..1

 

* ContractNumber+

String(50)

0..n

 

* ContractDeliverable+

String(50)

0..1

 

* ContractorDocumentNumber+

String(50)

0..1

 

* ContractorRev+

String(50)

0..1

 

* Date1+

String(50)

0..1

 

* Date2+

String(50)

0..1

 

* DateApproved+

String(50)

0..1

 

* DateCreated+

String(50)

0..1

 

* DateForReview+

String(50)

0..1

 

* DateReviewed+

String(50)

0..1

 

* Discipline+

String(50)

0..1

 

* DocumentStatusId+

String(50)

0..1

 

* MilestoneDate+

String(50)

0..1

 

* PackageNumber+

String(50)

0..n

 

* ProjectField1+

String(50)

0..1

 

* ProjectField2+

String(50)

0..1

 

* ProjectField3+

String(50)

0..1

 

* Reference+

String(50)

0..1

 

* RevisionDate+

String(50)

0..1

 

* Scale+

String(50)

0..1

 

* SelectList1+

String(60)

0..1

 

* SelectList2+

String(60)

0..1

 

* SelectList3+

String(60)

0..1

 

* SelectList4+

String(60)

0..1

 

* SelectList5+

String(60)

0..1

 

* SelectList6+

String(60)

0..1

 

* SelectList7+

String(60)

0..1

 

* SelectList8+

String(60)

0..1

 

* SelectList9+

String(60)

0..1

 

* SelectList10+

String(60)

0..1

 

* TagNumber+

String(50)

0..1

 

* Title+

String(120)

0..1

 

* ToClientDate+

String(50)

0..1

 

* UploadDate+

String(50)

0..1

 

* UploadedBy+

String(50)

0..1

 

* Vdrcode+

String(50)

0..1

 

* VendorDocumentNumber+

String(50)

0..1

 

* VendorRev+

String(50)

0..1

 

*AutoNumber+

String

0..1

This field represents whether document should be auto generated or get from DocumentNumber field. If it is true, document number from DocumentNumber field will not be considered and it will be auto generated based on autoNumber configuration else document number will be picked from DocumentNumber field

* Denotes a mandatory field, regardless of project configuration.
+ May be a mandatory field, depending on project configuration. Confirm by checking the document schema for the project.

Note that not all document fields may be enabled; again this depends on project configuration.

 

Using part boundaries

Boundaries are marked using

--<boundaryName>

The exception to this is the final boundary in the POST content, which terminates with

--<boundaryName>--

Refer to the sample request(s) below for further detail.

Attaching local files

A local file may be specified as the backing file to the registered document being registered.

The additional part(s) consist of an empty line, then the filename for the file, followed by an empty line, then the (binary) file contents, encoded in base-64. There must also be an empty line between the end of the binary contents and the next boundary.

Ensure there is an empty line before and after the filename, or you will be returned error like "UNEXPECTED_ATTACHMENT_HEADER_FOUND" or "NO_ATTACHMENT_HEADERS_FOUND"


There is a limit of 1 local file (part file) to specify, per API call.

Parameters

Type(maxlength)

Cardinality

Notes

X-Filename

String(255)

0..n

Arbitrary filename used to identify the local file attachment

 

 

 

base-64 encoded binary contents of the file

 

Sample request

  • Uploading a File size of 20 MB - *** Considering it as Large file for ease of illustration ***
  • Split the file into chunks of 10 MB each - which results in 2 Part Files (Chunks)
  • Total API Requests : 3
    • 2 calls for uploading part files
    • 1 call for Merge request
  • UUID : f000aa01-0451-4000-b000-000000000011
  • Note : Final Merge call has to be made only after the successful upload of all the Part Files

 

Part File 1 Request

https://app8.engr.acx:2001/api/projects/1879048422/register


[HTTP Header]
Content-Type=multipart/mixed; boundary=myboundary

[HTTP Post content]
--myboundary

<Document>
<FileSize>20</FileSize>
<UUID>f000aa01-0451-4000-b000-000000000011</UUID>
<CurrentPartIndex>0</CurrentPartIndex>
<ChunkSize>10</ChunkSize>
</Document>

--myboundary

X-Filename: Sample.pdf

JVBERi0xLjMKJfbk/N8KMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovVmVyc2lvbiAvMS40Ci9QYWdlcyAyIDAgUgo+PgplbmRvYmoKMyAwIG9iago8PAovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQovUHJvZHVjZXIgKE5ldnJvbmEgRGVzaWducykKL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDMwMTA3MjgyNikKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFs0IDAgUl0KL0NvdW50IDEKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA1IDAgUgo+PgovUHJvY1NldCBbL1BERiAvVGV4dF0KPj4KL01lZGlhQm94IFswLjAgMC4wIDYxMi4wIDc5Mi4wXQovQ29udGVudHMgNiAwIFIKL0Nyb3BCb3ggWzAuMCAwLjAgNjEyLjAgNzkyLjBdCi9Sb3RhdGUgMAo+PgplbmRvYmoKNSAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL05hbWUgL0YxCi9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9MZW5ndGggMzExCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQ0KeJy9k81qwzAQhO8Gv8McW2i3suIf+Zi0yaEQKNT0LmLZUbDlYMml9OlrJySFQINKoZIOOwd9w86yHM9hsCjCgGG6fR0GD6sIjPEMRRUGSUazLGHIOCcuGENRhsEN5njV7b5ReHlaYaXH4hbFLgyWxZF2ZETswEhz4sn4NRWCUiZOjGKrLcYnYVvZNChV2xnreul0Z0D7skI1ke+92GlMGYtP7N1gHaqux2AVtIHbKrzp3g2ywVptttLojYUbXNdr2VjCuusVnPpwhLkp0U7SxzbhlCX8ZHsB8JE+JlyQiM+5/Qr/k/SxjVISeXq1t8WYn6nv8DkdH3MfXxZTHp9H+edWvXNOck55zv1y9uGNBRP/Prdk3Nlodn1uF3L5rsxBEx4747QZVIlxCfeyVuAgom/fLyyEHoANCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDE1IDAwMDAwIG4NCjAwMDAwMDAyMDggMDAwMDAgbg0KMDAwMDAwMDA3OCAwMDAwMCBuDQowMDAwMDAwMjY1IDAwMDAwIG4NCjAwMDAwMDA0NjIgMDAwMDAgbg0KMDAwMDAwMDU2OSAwMDAwMCBuDQp0cmFpbGVyCjw8Ci9Sb290IDEgMCBSCi9JbmZvIDMgMCBSCi9JRCBbPEUzNzQyRTgxNDQ5NDc4MUMxNzg4QzlBMTRBMjM5NjI2PiA8RTM3NDJFODE0NDk0NzgxQzE3ODhDOUExNEEyMzk2MjY+XQovU2l6ZSA3Cj4+CnN0YXJ0eHJlZgo5NTQKJSVFT0YK

--myboundary--

 

Part File 2 Request

https://app8.engr.acx:2001/api/projects/1879048422/register


[HTTP Header]
Content-Type=multipart/mixed; boundary=myboundary

[HTTP Post content]
--myboundary

<Document>
<FileSize>20</FileSize>
<UUID>f000aa01-0451-4000-b000-000000000011</UUID>
<CurrentPartIndex>1</CurrentPartIndex>
<ChunkSize>10</ChunkSize>
</Document>

--myboundary

X-Filename: Sample.pdf

JVBERi0xLjMKJfbk/N8KMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovVmVyc2lvbiAvMS40Ci9QYWdlcyAyIDAgUgo+PgplbmRvYmoKMyAwIG9iago8PAovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQovUHJvZHVjZXIgKE5ldnJvbmEgRGVzaWducykKL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDMwMTA3MjgyNikKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFs0IDAgUl0KL0NvdW50IDEKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA1IDAgUgo+PgovUHJvY1NldCBbL1BERiAvVGV4dF0KPj4KL01lZGlhQm94IFswLjAgMC4wIDYxMi4wIDc5Mi4wXQovQ29udGVudHMgNiAwIFIKL0Nyb3BCb3ggWzAuMCAwLjAgNjEyLjAgNzkyLjBdCi9Sb3RhdGUgMAo+PgplbmRvYmoKNSAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL05hbWUgL0YxCi9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9MZW5ndGggMjc0Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQ0KeJydksFqhDAQhu+C7/AfW1imMdXEHiuth0JpoV56tGvULBpFI3bfvllF2NMiJYfMkOT7ZsJwvPlekvkew2UNle89pAEY4xJZ6XuRpEcZMUjOiceMISt87w5fuu0bhc+XFKl2Acc9spPvvWYrbWUEbGGIJ+KReyrimASLNwYRHTtjtZlUgXLoWvR5pRAQvpVF2w0KVv1awrMpbqR7xFKQiMQmvs3bme7RipAkCzftCvioD6i7GT/doE0Fe+6XrdYjRjuVJSGZLExnkY/bJRfNuT3Wl3iPN+IkI755+1wbi2I4/7fV/f8cMnIzsomTpXoC3h3lgByNttYNyxU0qxWUKdyhk52mcel6Vk1z7fsDbfy09g0KZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTUgMDAwMDAgbg0KMDAwMDAwMDIwOCAwMDAwMCBuDQowMDAwMDAwMDc4IDAwMDAwIG4NCjAwMDAwMDAyNjUgMDAwMDAgbg0KMDAwMDAwMDQ2MiAwMDAwMCBuDQowMDAwMDAwNTY5IDAwMDAwIG4NCnRyYWlsZXIKPDwKL1Jvb3QgMSAwIFIKL0luZm8gMyAwIFIKL0lEIFs8QzE2MEY3NzZGRDFGMzkxOTA5Njg2QzlBMzFCNEMzOEM+IDxDMTYwRjc3NkZEMUYzOTE5MDk2ODZDOUEzMUI0QzM4Qz5dCi9TaXplIDcKPj4Kc3RhcnR4cmVmCjkxNwolJUVPRgo=

--myboundary--

 

Merge Request : (Final Call) 

  • Note that there is no base64 encoded file content attached in the merge call. Because all the part files are already uploaded to server
  • It contains only the Document Metadata

 

https://app8.engr.acx:2001/api/projects/1879048422/register


[HTTP Header]
Content-Type=multipart/mixed; boundary=myboundary

[HTTP Post content]
--myboundary

<Document>
<DocumentNumber>TESTDocument5013</DocumentNumber>
<DocumentTypeId>1879048227</DocumentTypeId>
<Revision>A</Revision>
<Attribute1>Marina</Attribute1>
<Discipline>Architectural</Discipline>
<DocumentStatusId>1879048196</DocumentStatusId>
<HasFile>true</HasFile>
<PrintSize>A4</PrintSize>
<RevisionDate>2009-11-05T12:00:00.000Z</RevisionDate>
<Title>SplitTest5013</Title>
<UUID>f000aa01-0451-4000-b000-000000000011</UUID>
<TotalFileSize>20</TotalFileSize>
<TotalPartsOfFile>2</TotalPartsOfFile>
</Document>

--myboundary

X-Filename: Sample.pdf

--myboundary--

 

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

 

Part File Upload Response

Element

Type(maxlength)

Cardinality

Notes

RegisterDocumentResult

Group

1

 

*Success

String

1

The status of Part File Upload (true/false)

 

Sample Response : Part File Upload

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocumentResult>
    <Success>true</Success>
</RegisterDocumentResult>

 

Merge Call Response

Element

Type(maxlength)

Cardinality

Notes

Element

Type(maxlength)

Cardinality

Notes

RegisterDocumentResult

Group

1

 

*RegisterDocumentResult

String 1 The documentId of the registered document just created

*Success

String

1

The status of Merge Request (true/false)

 

Sample Response : Merge Call

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocumentResult>
    <RegisterDocument>271341877549072435</RegisterDocument>
    <Success>true</Success>
</RegisterDocumentResult>

 

Special Note regarding Option 2 (manual chunking): 
In manual chunking, when we are using pdf documents as attachment in register API, we should split them page-wise and not size-wise. For eg: if we have a large pdf we want to upload, and say it has around 60 pages, we can split them into 5 chunks of 12 pages, then BASE64 encode each chunk (using the chunk API call) in the correct order, and finally merge them using the merge call. 

 
Prerequisites: 

Required Permissions

The authorizing user (specified in the request header) must have been granted the secured asset to register documents.

Preferences/Module Setup

Not every field may be used in the specified project. It is recommended that the user retrieve the register schema beforehand to obtain the list of active fields, prior to constructing a request.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

The service does not create documents in the authorizing user's Unregistered documents area.

Supersede Document

This service allows supersede for a given document in a given project.

Notes:

  1. As with all services which allow the attachment of files, a multipart message must be constructed and POST'd to the API. This request should contain XML content describing the document along with a single multi part attachment with the base64 encoded data of the file along with the X-Filename header which specifies the filename if the XML describes the document with a file i.e the HasFile element is set to true.
  2. The structure of the request to be sent to this API service is heavily dependent on the response retrieved by the View Document Metadata API service. The entity creation fields returned by the service determine the structure of the XML post content and the possible values for those fields. The content type of the request must be set to multipart and the value determining the boundary of each multipart must be specified.
  3. Only one file attachment can be provided to the supersede service. However, If there is no change in the File Content during Supersede (User wish to promote the file that was attached to previous version of the document), then "DO-NOT" provide File Content (Base64 encoded file content). Set the Request Field "HasFile" to "false" and remove  X-Filename header from request body.
  4. This API supports both Small and Large File Uploads. The caller of the service has options to chose the approach based on the size of the file. If the file size is small then Small File Upload approach can be chosen which requires a single call to this API. If the file size is large, the caller has 2 choices for uploading. First option is Setting HTTP header and the other option is to chunk the large file into part files and call the API for each of the parts (chunks) followed by a Merge Call at the end. All the approaches are detailed in different sections below.


POST Body

The body of this request is dependent on the schema returned in the View Document Schema API service as described by the entity creation fields. The conditions described in the schema must be satisfied along with the following:

  • The DocumentNumber fields should not be provided in this request as the document number is automatically set from the parent document specified.
  • If a file is being specified for the document, then the X-Filename header must be provided and the HasFile element in the POST content should be set to true


Modifying Confidential Access List

A document being superseded may already be confidential and thus have users which are on an access list. For one to be able modify the access list when superseding, they must have the required secured asset to do so. However, if the user performing the request does not have the secured asset to modify the confidential access list but has access to the document, they can still supersede it by providing the same list of users in the access list.

URL Structure: 
HTTP POST: https://{hostname}/api/projects/{projectid}/register/{documentid}/supersede

Parameters
Parameters are not applicable for this service

Interface
HTTP Request Header variables

As the request body has content that is multipart/mixed, a boundary identifier must be specified in the request header (as a key/value pair). This boundary is used to separate data of different types (Eg, text and binary).

Sample Header

Content-Type=multipart/mixed; boundary="myboundary"

As the request body is multipart/mixed, a boundary identifier must be specified in the request header. This boundary is used to separate data of different types (Eg, text and binary).

 

Choosing the Approach : 

Approach

When to chose ?

Small File Upload

This approach is recommended for uploading a file of size up to 100 MB

In case the upload fails (Server error, Memory related errors) for a file around this size, the caller can try uploading the same file by following the "Large File Upload" approach

Large File Upload

This approach is recommended for files of size " > 100 MB "

Note

In some of the Aconex Instances, depending upon the memory configuration / utilization, Small file upload may work for files with up to 300 MB as well (which has been the case). But we recommend to chose the Large File Upload approach if the size exceeds 100 MB

 


Small File Upload

  • If the size of the file is relatively small, the caller can chose this approach
  • It requires a single call to this API to upload and register a document


Request Fields
Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional.
The number of *'s indicate the parent-child depth.

Note: You must use either a valid request field or a valid project field in your API request. Project fields must be sent in the correct format: fieldname_type. For example, <complete_boolean>true</completed_boolean>.
All fields passed to the API are validated. Invalid request fields or project fields with an incorrect format will result in errors. More information about project fields can be found in the Project Fields API Developer Guide.

Field Name Type(maxlength) Cardinality Notes

Document

Group

1

 

* DocumentTypeId*

Integer(32-bit signed)

1

 

* Revision*

String(15)

1

 

* HasFile*

Boolean

1

Flag to indicate whether this document contains an associated backing file. If true, then the filename and file contents must be included in the request.

* AccessList+

String(50)

0..n

A list of valid userIds representing users who are to be included in this document's Confidential Access List. If zero users are specified, then the document will not be made confidential.

* AsBuiltRequired+

Boolean

0..1

 

* Attribute1+

String(50)

0..n

 

* Attribute2+

String(50)

0..n

 

* Attribute3+

String(50)

0..n

 

* Attribute4+

String(50)

0..n

 

* Author+

String(50)

0..1

 

* AuthorisedBy+

String(50)

0..1

 

* Category+

String(50)

0..1

 

* Check1+

String(50)

0..1

 

* Check2+

String(50)

0..1

 

* Comments+

String(50)

0..1

 

* Comments2+

String(50)

0..1

 

* ContractNumber+

String(50)

0..n

 

* ContractDeliverable+

String(50)

0..1

 

* ContractorDocumentNumber+

String(50)

0..1

 

* ContractorRev+

String(50)

0..1

 

* Date1+

String(50)

0..1

 

* Date2+

String(50)

0..1

 

* DateApproved+

String(50)

0..1

 

* DateCreated+

String(50)

0..1

 

* DateForReview+

String(50)

0..1

 

* DateReviewed+

String(50)

0..1

 

* Discipline+

String(50)

0..1

 

* DocumentStatusId+

String(50)

0..1

 

* MilestoneDate+

String(50)

0..1

 

* PackageNumber+

String(50)

0..n

 

* PercentageComplete String(60) 0..1  

* PlannedSubmissionDate

String(50) 0..1  

* PrintSize

String(50) 0..1  

* ProjectField1+

String(50)

0..1

 

* ProjectField2+

String(50)

0..1

 

* ProjectField3+

String(50)

0..1

 

* Reference+

String(50)

0..1

 

* RevisionDate+

String(50)

0..1

 

* Scale+

String(50)

0..1

 

* SelectList1+

String(60)

0..1

 

* SelectList2+

String(60)

0..1

 

* SelectList3+

String(60)

0..1

 

* SelectList4+

String(60)

0..1

 

* SelectList5+

String(60)

0..1

 

* SelectList6+

String(60)

0..1

 

* SelectList7+

String(60)

0..1

 

* SelectList8+

String(60)

0..1

 

* SelectList9+

String(60)

0..1

 

* SelectList10+

String(60)

0..1

 

* TagNumber+

String(50)

0..1

 

* Title+

String(120)

0..1

 

* ToClientDate+

String(50)

0..1

 

* UploadDate+

String(50)

0..1

 

* UploadedBy+

String(50)

0..1

 

* Vdrcode+

String(50)

0..1

 

* VendorDocumentNumber+

String(50)

0..1

 

* VendorRev+

String(50)

0..1

 

* Denotes a mandatory field, regardless of project configuration.
+ May be a mandatory field, depending on project configuration. Confirm by checking the document schema for the project.

*** Field Names are case sensitive : While forming the request, make sure that the fiendname / tag name is same as what is given in the "Field Name" column of above table.

Note that not all document fields may be enabled; again this depends on project configuration.
 

Using part boundaries

Boundaries are marked using--<boundaryName>

The exception to this is the final boundary in the POST content, which terminates with-<boundaryName>-

Refer to the sample request(s) below for further detail.
 

Attaching local files

A local file may be specified as the backing file to the registered document being superseded.

The additional part consist of a filename for the file, followed by an empty line, then the base64 encoded file content. There must also be an empty line between the end of the binary contents and the next boundary.

There is a limit of 1 local file to specify, per registered document.

Header Type(maxlength) Cardinality Notes
X-Filename String(255) 0..n Arbitrary filename used to identify the local file attachment

Sample Request: 
https://au1.aconex.com/api/projects/1879048422/register/132343434/supersede


[HTTP Header]
Content-Type=multipart/mixed; boundary="boundary"

[HTTP Post content]
--boundary

<Document>
<DocumentTypeId>1879048227</DocumentTypeId>
<Revision>A</Revision>
<AsBuiltRequired>true</AsBuiltRequired>
<Attribute1>ATTR1-001</Attribute1>
<Attribute1>ATTR1-002</Attribute1>
<Attribute2>ATTR2-001</Attribute2>
<Attribute2>ATTR2-002</Attribute2>
<Attribute3>ATTR3-001</Attribute3>
<Attribute3>ATTR3-002</Attribute3>
<Attribute4>ATTR4-001</Attribute4>
<Attribute4>ATTR4-002</Attribute4>
<Author>Stephen King</Author>
<AuthorisedBy>Me Myself and Irene</AuthorisedBy>
<Category>CAT001</Category>
<Check1>true</Check1>
<Check2>true</Check2>
<Comments>This is a comment</Comments>
<Comments2>This is second comment</Comments2>
<ContractNumber>CN001</ContractNumber>
<ContractNumber>CN002</ContractNumber>
<ContractNumber>CN003</ContractNumber>
<ContractDeliverable>true</ContractDeliverable>
<ContractorDocumentNumber>CDN001</ContractorDocumentNumber>
<ContractorRev>A</ContractorRev>
<Date1>2009-11-05</Date1>
<Date2>2009-11-05</Date2>
<DateApproved>2009-11-05T12:00:00.000Z</DateApproved>
<DateCreated>2009-11-05T12:00:00.000Z</DateCreated>
<DateForReview>2009-11-07T12:00:00.000Z</DateForReview>
<DateModified>2009-11-05T12:00:00.000Z</DateModified>
<DateReviewed>2009-11-03T12:00:00.000Z</DateReviewed>
<Discipline>Architectural</Discipline>
<DocumentStatusId>1879048196</DocumentStatusId>
<HasFile>true</HasFile>
<MilestoneDate>2009-11-07T12:00:00.000Z</MilestoneDate>
<PackageNumber>PN001</PackageNumber>
<PackageNumber>PN002</PackageNumber>
<PackageNumber>PN003</PackageNumber>
<PercentComplete>75</PercentComplete>
<PlannedSubmissionDate>2009-11-07</PlannedSubmissionDate>
<PrintSize>A4</PrintSize>
<ProjectField1>First random string field</ProjectField1>
<ProjectField2>Second random string field</ProjectField2>
<ProjectField3>Third random string field</ProjectField3>
<Reference>My reference</Reference>
<RevisionDate>2009-11-05T12:00:00.000Z</RevisionDate>
<Scale>240:1</Scale>
<SelectList1>selectlist1 option</SelectList1>
<SelectList2>selectlist2 option</SelectList2>
<TagNumber>TAG You're It</TagNumber>
<Title>Test Create Document 2009-11-05 10:17am</Title>
<ToClientDate>2009-11-07T12:00:00.000Z</ToClientDate>
<UploadDate>2009-11-05T12:00:00.000Z</UploadDate>
<UploadedBy>The Uploader</UploadedBy>
<Vdrcode>VDR001</Vdrcode>
<VendorDocumentNumber>MyVendor VDN001</VendorDocumentNumber>
<VendorRev>A</VendorRev>
</Document>
--boundary

X-Filename: localFile01.pdf

bcabcabdebf23213bbaabfdbebb2e3333ba==

--boundary--

*** Important Note : If there is no change in the File Content during Supersede (User wish to promote the file that was attached to previous version of the document), then "DO-NOT" provide File Content (Base64 encoded file content). Set the Request Field "HasFile" to "false" and remove  X-Filename header from request body. Sample request is given below : 

 

Sample request (Without File Content)

https://au1.aconex.com/api/projects/1879048422/register/132343434/supersede


[HTTP Header]
Content-Type=multipart/mixed; boundary="boundary"

[HTTP Post content]
--boundary

<Document>
	<DocumentTypeId>1207959615</DocumentTypeId>
	<Revision>1</Revision>
	<Title>Test10</Title>
    <HasFile>false</HasFile>
	<RevisionDate>2022-11-05T12:00:00.000Z</RevisionDate>
</Document>

--boundary--

 

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes
RegisterDocumentResult Group 1  
*RegisterDocumentResult String 1 The documentId of the registered document just created

Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterDocumentResult>
<RegisterDocument>1879099859</RegisterDocument>
</RegisterDocumentResult>


Error Codes: 
Status Code Description 'HTTP Status Code"

CANNOT_REGISTER_DOCUMENT

The user performing the request does not have the
secured asset to supersede a document

401

ENTITY_NOT_FOUND

The documentId provided by the user in the path
does not exist

400

ENTITY_NOT_FOUND_FOR_PROJECT

The document being superseded is not on the specified project

400

ENTITY_NOT_VISIBLE

The document being superseded is not accessible or visible  to the user performing
the request

401

MALFORMED_XML

The XML post content was not correctly structured

400

FIELD_LENGTH_EXCEEDED

A value provided for one of the fields exceeded its maximum length

400

MUST_PROVIDE_FILE_ATTACHMENT

A file has not been provided in the request when the project mandates a files

400

UNEXPECTED_ATTACHMENT_HEADER_FOUND

An attachment header other than X-Filename was provided

400

NO_ATTACHMENT_HEADERS_FOUND

No attachment headers were found

400

MULTIPLE_ATTACHMENT_HEADERS_FOUND

More than one attachment header found

400

INVALID_ATTACHMENT_IDENTIFIER_VALUE

No value provided for the X-Filename header

400

MISSING_MANDATORY_FIELD

A mandatory field was not provided

400

VALUE_PROVIDED_FIELD_INACTIVE

A value was provided for an inactive field

400

INVALID_FIELD_VALUE

An invalid value was provided for a field

400

DOCUMENT_CONFIDENTIALITY_MODIFICATION_DENIED

Modification to confidential access list denied as user does not have
required secured asset

401

ACCESS_LIST_USERS_NOT_ON_ORG

A user on the access list is not in the same org as the user making the request

401

INVALID_ACCESS_LIST_USER_SPECIFIED

An invalid user is exists in the access list provided

400

ACCESS_LIST_USERS_NOT_ON_PROJECT

A user on the access list is not in the project

400

CANNOT_SUPERSEDE_NON_CURRENT_DOCUMENT

Document being supersede is not the most current document

400

CANNOT_SUPERSEDE_LOCKED_DOCUMENT

Document being supersede is Locked by some other user or process

400

ACCESS_DENIED

The user is not allowed to perform the operation or retrieve the requested data

401

INVALID_FIELD_HIERARCHY_VALUES

User has provided values that do not correspond to hierarchy values defined on the project

400

Documents Last Updated

Documents Last Updated

The service returns documents including associated document and event log last modified time-stamps for a project.

Notes:

  1. If optional parameter 'everythingsince' (representing everything since a time stamp) is provided, the service returns all document ids and associated last updated dates from the hour of the given time stamp in the request.
  2. The 'everythingsince' parameter will return any document record which has either a 'lastEventDate' OR 'lastModifiedDate' updated from the hour of the given time stamp in the request..
URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/register/integrity?queryparams
URL Parameters: 
Parameters Type(maxlength) Notes
username String(61) mandatory
password   mandatory
everythingsince String representation of UTC dateTime optional - date time to hour in UTC format
show_document_history String optional - true or false
Interface: 
Sample Request: 
https://au1.aconex.com/api/projects/1879048400/register/integrity?everythingsince=2001-10-26T19:00:00.000Z&show_document_history=true

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes

Document

 

0..n

Document

DocumentId

String

1

Document identifier assigned by the system

lastModifiedDate

xsd:dateTime

1

Last update time for document id in UTC format

lastEventDate

xsd:dateTime

1

Last event logged date time for document id in UTC format

IntegrityCheckResults

 

1

Document root

Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<IntegrityCheckResults>
    <Document id="3707" lastModifiedDate="2007-10-11T03:53:10.313Z"  lastEventDate="2007-10-11T02:34:38.583Z" />
</IntegrityCheckResults>
Error Codes: 
Status Code Description HTTP Status Code
Prerequisites: 

Required Permissions

The authorizing user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not applicable.

Constraints: 

The request will fail if:

The specified Project or Organization is in any of the following states:

  • De-activated
  • Disconnected

The authorizing user does not have access to the specified project

Temporary File Upload

Temporary File Upload

This service uploads a file to the temporary file store against an Aconex project.

Notes:

  • With this service that allows attachment of files, a multipart message must be constructed and POSTed to the API. This request should contain XML content describing the document along with a single multi part attachment with the base64 encoded data of the file, and the following headers:
  1. A header of 'Content-Disposition' with value of 'attachment'
  2. A header of 'X-Filename' header whose value specifies the filename of the attached file.
  • Only one file attachment can be provided to the temporary file upload service
URL Structure: 
HTTP POST: https://hostname:port/api/projects/{projectid}/temporaryFile
Interface: 

Request Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional.

The number of *'s indicate the parent-child depth.

Note: You must use either a valid request field or a valid project field in your API request. Project fields must be sent in the correct format: fieldname_type. For example, <complete_boolean>true</completed_boolean>.
All fields passed to the API are validated. Invalid request fields or project fields with an incorrect format will result in errors. More information about project fields can be found in the Project Fields API Developer Guide.

Field Name Type(maxlength) Cardinality Notes

UnregisteredDocument 

Group 

 

* DocumentNumber* 

String(210) 

Cannot duplicate a document number used by an existing registered document

* DocumentTypeId 

Integer(32-bit signed) 

0..1 

 

* Revision 

String(15) 

0..1 

 

* AsBuiltRequired

Boolean 

0..1 

 

* Attribute1

String(50) 

0..n 

 

* Attribute2

String(50) 

0..n 

 

* Attribute3

String(50) 

0..n 

 

* Attribute4

String(50) 

0..n 

 

* Author

String(50) 

0..1 

 

* AuthorisedBy

String(50) 

0..1 

 

* Category

String(50) 

0..1 

 

* Check1

String(50) 

0..1 

 

* Check2

String(50) 

0..1 

 

* Comments

String(50) 

0..1 

 

* Comments2

String(50) 

0..1 

 

* ContractNumber

String(50) 

0..n 

 

* ContractDeliverable

String(50) 

0..1 

 

* ContractorDocumentNumber

String(50) 

0..1 

 

* ContractorRev

String(50) 

0..1 

 

* Date1

String(50) 

0..1 

 

* Date2

String(50) 

0..1 

 

* DateApproved

String(50) 

0..1 

 

* DateCreated

String(50) 

0..1 

 

* DateForReview

String(50) 

0..1 

 

* DateReviewed

String(50) 

0..1 

 

* Discipline

String(50) 

0..1 

 

* DocumentStatusId

String(50) 

0..1 

 

* MilestoneDate

String(50) 

0..1 

 

* PackageNumber

String(50) 

0..n 

 

* PercentageComplete String(60) 0..1  

* PlannedSubmissionDate

String(50) 0..1  

* PrintSize

String(50) 0..1  

* ProjectField1

String(50) 

0..1 

 

* ProjectField2

String(50) 

0..1 

 

* ProjectField3

String(50) 

0..1 

 

* Reference

String(50) 

0..1 

 

* RevisionDate

String(50) 

0..1 

 

* Scale

String(50) 

0..1 

 

* SelectList1

String(60) 

0..1 

 

* SelectList2

String(60) 

0..1 

 

* SelectList3

String(60) 

0..1 

 

* SelectList4

String(60) 

0..1 

 

* SelectList5

String(60) 

0..1 

 

* SelectList6

String(60) 

0..1 

 

* SelectList7

String(60) 

0..1 

 

* SelectList8

String(60) 

0..1 

 

* SelectList9

String(60) 

0..1 

 

* SelectList10

String(60) 

0..1 

 

* TagNumber

String(50) 

0..1 

 

* Title

String(120) 

0..1 

 

* ToClientDate

String(50) 

0..1 

 

* UploadDate

String(50) 

0..1 

 

* UploadedBy

String(50) 

0..1 

 

* Vdrcode

String(50) 

0..1 

 

* VendorDocumentNumber

String(50) 

0..1 

 

* VendorRev

String(50) 

0..1 

 

X-Filename

String(255) 

0..n 

Arbitrary filename used to identify the local file attachment 

 

 

 

base-64 encoded binary contents of the file 

* Denotes a mandatory field,regardless of project configuration.
+ May be a mandatory field, depending on project configuration. Confirm by checking the mail schema for the project.

Sample Request: 
POST https://au1.aconex.com/api/projects/1879048400/temporaryFile

  
[HTTP Headers]
Content-Type: multipart/mixed; boundary=myboundary
  
[HTTP Post content]
--myboundary
 
<UnregisteredDocument>
    <DocumentNumber>SAMPLE-001</DocumentNumber>
</UnregisteredDocument>
--myboundary
Content-Disposition: attachment; filename=sample.png
 
iVBORw0KGgoAAAANSUhEUgAAADEAAAAICAYAAABQ6Rd5AAAABHNCSVQICAgIfAhkiAAABGdJREFU
OI11k2tMU3cYxn/ntAfsOS2UJdCqXJQCk7tKDG4aIYAQs+jcNPOC02SfXbYvy7IsZl/3yRizZEuM
DnW6uUxUMhMT49QxCV5mAKVAhWajLeViL9JCOT2cnn1gdBqz5+Ob///J83vyvoJhGEYikSAYnODF
iyiCIOBwOHE4nIiiyLLm5uKM+8ZJzM+TbbdTWFCEJEkYhkE4EiYQ8KPrOg6HE+dLfzVNY2ZmmlA4
RDKZRLZYKCxcg6Ioae9UKsXERIDpmWkyJImCgiKys7MxDIOF/puk1DkyyzZjzlkJwGxslpGRYSRJ
orZmPWaAjnOnmQwGsdpsJJNJotEIGzfUsX9fO4Ig8Me9bm7cuI4B5NhziMVn2btnHxXllVy5dpmH
D+9jtdqQJIlQ6DklJaUcOngERVE48/0pno16UBQF2SITi8cAgQP726msqEJVVc6eP8PY2CgrV64i
kUgwO/uC3bvep77+LRBFohePYXa6yP3kPJo5k46O0/j84+l8ZoD2Ax9isciYzWZSqRRXrl6m934P
jY3NaMkk17o6KS0t49DBw1gsMouLGgC9vT309vbQ0tzK9pY2BEFg0P2Us+fO0PXrVQ7sayexkCAr
K4svPj+GyWQikZjnxMnjXOvqpLKiit+77+DxjHDk8EdUVVaj6zrffvcNV7s6qa6uRa5pIWv3Z8x2
fk300lfcstUz7vubttYdbNxQB7AEYTab6R/oIxIJo+s6kWgYgHg8htc7hmEYbG9uQ5aXVkCSMgAY
dD9FFEWam1owmUwAVFfVsGrVagYHnwIgAIIgIkkSAIpipSC/gIEn/ei6zph3FABVVenrewyArMho
msbkZJDiYhfWxsPo0Un0KS9qhsrm+rdpaW5FEIQlCFVVOXHyOJqWZOuWbdjtdiKR8Cv7CqRDvqxF
fRFBEDCZzK/MJUlC1xdfe7+s5XsxDCPtHwwGEP6dO/KcOPKc2O32pSIEAc/qBoKmMnYKf2HKyk0D
AJinpicJh0M0NjTR3LQdgGQyyZ+PHwHgcpVw67eb9PTeIz8/H1E0pQOsKVqL1zvGwEAf69dvBGBq
eopAwM/atcX/C/GyigrX4PWO4XKVUlFe+Up5y7DuoUF+6fwZV3EJi6KX+M1TiNYc5Lp3liDych1k
Z9u5/6AXURSxKlaGRtxps9KSMrZu2ca9nm4CAT8FBYXEYzGqq2tpbGji2aiHny5dpG+gj8yMDNxD
bmRZ4d2d76U9/uvsdTU2NOHxDHP+hw7Kyt7EZrUxNz9PNBLh46OfMhGc4MLFcyiKwt49H2A36cz4
3EQufInJ7iTTVYdgGIYRi80y8KSfUOg5qVQKWVbIy81j3boKVqxYgWEY+HzjjHiGmZuLoyhWaqpr
cTicaIsaQ+5Bxn3jpFI6jjzn0kHKMgB3795mQV2grXVHOvijRw/wB/zs2rkbURTRNI2hYTd+vw9V
VbFYLOSvzqe8vJLbd24RjUbZtKmeosIiALTAMHPdPyLa3sC24yj/AD0b1wcBtYEeAAAAAElFTkSu
QmCC
 
--myboundary--

Response Fields

The number of *'s indicate the parent-child depth.

Element Type(maxlength) Cardinality Notes
TemporaryFileResult Group 1  
* TemporaryFile Long (64-bit signed) 1 The document ID of the unregistered document just uploaded

Successful requests will return a 200 OK HTTP Status.

Sample Response: 
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<TemporaryFileResult>
    <TemporaryFile>271341877549072386</TemporaryFile>
</TemporaryFileResult>
Error Codes: 
Status Code Description HTTP Status Code
CANNOT_UPLOAD_TO_PROJECT_WITH_UNLOCKED_FIELDS The project ID specified currently has unlocked fields which is not allowed during upload 400
Constraints: 

The request will fail if the specified project has unlocked fields while attempting to upload

List Drawings

The service executes a search of an organization's current set of drawings for a project. This service behaves exactly the same as the list documents service, with the only difference that this one will automatically filter the results based on the current set definition.

Note: The use of this service is closely linked to the information returned by the View Mail Schema API service (specifically the SearchSchemaFields listed). The identifiers specified in the search schema fields can be used as values to the parameters of this request to filter search results, as well as specify data to return in the response for each search result.

Specifying fields to return

The search API service allows you to request specific data for each search result if required. This is done by populating the return_fields parameter with a comma separated list of identifiers as specified by the search schema fields in the View Document Schema API service. By default, the service retrieves only the documentId of every result the authorizing user has access to. Note that if an identifier is provided which is not specified as a search result field, an error will be returned and the search will not execute.

Sorting

It is possible to sort the search results by a specific field. This is done by providing a single value to the sort_field parameter when performing the request. Once again, all possible identifiers must be specified as sortable. The fields that can be sorted on must be a SearchResultField and have its sortable attribute set to true. One can also specify the sorting direction (ascending or descending)

Search Type

The searching services provide the ability to perform different types of searches. One can perform a ?paged search which allows the user to request back a specific page from a large number of results, perform a search where only the number of results is returned, limit the number of search results or to get back all available results. This is different to how the Aconex GUI operates in that it does not put an upper limit on the number results that can be returned. Two parameters are involved in specifying the type of search that is to be performed, and if a limited search is to be performed, the maximum number of results to return. The search_type parameter determines the type of search and the search_result_size allows one to specify the maximum number of results if a limited number search is specified. It is important to note, that if a limited number search is performed, the value given to search_result_size must be at minimum (and a multiple of) 25.

By default, a number limited search is performed with the maximum number of results returned being 250.

Optional search parameters may be specified in the request URL in order to;

  • retrieve a subset of the mail items, that match filter values
  • specify additional mail metadata fields to be returned in the search results
  • limit the number of items returned in the search results
  • specify the field to sort the search results by, and in what order (Ascending or Descending)

 

Chunked Response Support : 

  • The client can utilize this by adding a header : "Accept-Encoding" and set it to "chunked"
  • The HTTP - depending upon size of the response (for large responses), it will enable response chunking and adds "Transfer-Encoding" header as chunked in Response headers
     
URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/drawings?{parameters}
URL Parameters: 

Parameters

Type(maxlength)

Cardinality

Notes

search_query

String(no limit)

0..1

Lucene search query. Without a search_query, every document in the project is returned. If search query only contains Lucence Single Terms (separated by spaces), a "*" will be automatically appended to each term to do a wildcard search. See more in https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Terms. Please refer to the notes below for further information about Lucene.
Field names available for searching are;
* refers it uses "id" to search

  • approved
  • asBuiltRequired
  • attribute
  • secondaryattribute
  • attribute3
  • attribute4
  • author
  • category
  • contractnumber
  • contractordocumentnumber
  • contractorrev
  • date1
  • date2
  • discipline
  • docno
  • doctype
  • forreview
  • markupdate
  • milestonedate
  • packagenumber
  • plannedsubmissiondate
  • received
  • reference
  • registered
  • reviewed
  • reviewstatus*
  • revision
  • revisiondate
  • scale
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • statusid*
  • title
  • toclient
  • trackingid*
  • uploaddate
  • vdrcode
  • vendordocumentnumber
  • vendorrev

return_fields

String(no limit)

0..1

A comma-separated list of document fields to return in the search results
Field names available to be returned in the response are;

  • approved*
  • asBuiltRequired*
  • attribute1*
  • attribute2*
  • attribute3*
  • attribute4*
  • author*
  • authorisedBy*
  • category*
  • check1*
  • check2*
  • comments
  • comments2
  • confidential*
  • contractDeliverable*
  • contractnumber*
  • contractordocumentnumber*
  • contractorrev*
  • current
  • date1*
  • date2*
  • discipline*
  • docno*
  • doctype*
  • filename
  • fileSize*
  • fileType*
  • forreview*
  • markupLastModifiedDate*
  • milestonedate*
  • modifiedby
  • numberOfMarkups*
  • packagenumber*
  • percentComplete*
  • plannedsubmissiondate*
  • printSize*
  • projectField1*
  • projectField2*
  • projectField3*
  • received*
  • reference*
  • registered*
  • reviewed*
  • reviewSource*
  • reviewstatus
  • revision*
  • revisiondate*
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • scale*
  • statusid*
  • tagNumber*
  • title
  • toclient*
  • trackingid
  • versionnumber
  • vdrcode*
  • vendordocumentnumber*
  • vendorrev* 
  • versionnumber
    * Can sort on these fields

search_type

String

0..1

One of;

  • FULL, meaning return all matching results
  • NUMBER_LIMITED, meaning return a fixed number of results
  • PAGED, meaning return results by "pages" of variable size. The following parameters are ignored:
    • search_result_size
  • COUNT_ONLY, meaning return only a count of matching items. No other information can be retrieved, so the following parameters are ignored:
    • return_fields
    • search_result_size
    • sort_field
    • sort_direction
    • show_document_history
      Without this parameter specified, this defaults to NUMBER_LIMITED with a default search_result_size of 250

search_result_size

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to NUMBER_LIMITED. The value must be a number that is divisible by 25. Without this parameter specified, this defaults to 250

page_size

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to PAGED. If specified, the value must be a number that is divisible by 25. Without this parameter specified, this defaults to 25

page_number

Integer(Signed 32 bit)

0..1

This parameter is available only if search_type is explicitly set to PAGED. If specified, the value must be between "1" and the value of the "TotalPages" attribute that is in the response, otherwise an error is returned. Without this parameter specified, this defaults to 1.

sort_field

String(no limit)

0..1

The name of the field to sort the search results by. Results can only be sorted by a single field, although it does not have to be one of the fields specified in the return_fields parameter

sort_direction

String

0..1

One of;

  • ASC, ascending order
  • DESC, descending order
    Without this parameter specified, this defaults to ASC

show_document_history

Boolean

0..1

Flag that controls whether to return only the latest revision of each matching document, or all document revisions. Without this parameter specified, this defaults to "false"

content_search Boolean 0..1 Flag that controls whether the search should include document contents. If not specified as true, defaults to "false"
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.

https://au1.aconex.com/api/projects/1879048428/drawings?search_query=doctype:%22Shop%20Drawing%22%20AND%20Door&return_fields=approved,asBuiltRequired,attribute1,attribute2,attribute3,attribute4,author,authorisedBy,category,check1,check2,comments,comments2,confidential,contractDeliverable,contractnumber,contractordocumentnumber,contractorrev,current,date1,date2,discipline,docno,doctype,filename,fileSize,forreview,markupLastModifiedDate,milestonedate,numberOfMarkups,packagenumber,percentComplete,plannedsubmissiondate,printSize,projectField1,projectField2,projectField3,received,reference,registered,reviewed,reviewSource,reviewstatus,revision,revisiondate,scale,statusid,tagNumber,title,toclient,vdrcode,vendordocumentnumber,vendorrev&search_type=NUMBER_LIMITED&search_result_size=75&sort_field=docno&sort_direction=ASC&show_document_history=true

The search query in the example above corresponds to a NUMBER_LIMITED (max 75 results) super search query of [doctype:"Shop Drawing" AND Door] in the application. Note the use of URL escape codes in the sample request.

https://au1.aconex.com/api/projects/1879048428/drawings?search_query=registered:[20090901%20TO%2020100101]&return_fields=attribute1,attribute2,author,discipline,docno,doctype,received,reference,revision,revisiondate,statusid,title&search_type=PAGED&page_size=100&page_number=2&sort_field=registered&sort_direction=DESC&show_document_history=false

The search query in the example above corresponds to a PAGED super search query of [registered:20090901 TO 20100101] in the application. Note that the sort_field, "registered", does not have to be one of the return_fields.

https://au1.aconex.com/api/projects/1879048428/drawings?search_query=hello%20world&other_parameters

The search query in the example above will be responded with a wildcard search result. It corresponds to a super search query of [+content:hello* +content:world*] in the application.

https://au1.aconex.com/api/projects/1879048428/drawings?search_query=hello%20OR%20world&other_parameters

The search query in the example above has operator OR, so it corresponds to a super search query of [content:hello content:world] in the application.

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element

Type(maxlength)

Cardinality

Notes

RegisterSearch

Group

1

 

TotalResults

Attribute
Integer

1

The number of correspondences that match the search_query. If a paged search is being performed, then this number will be across all pages including those not shown in the results.
For a number limited search, it will be the number of results in the response.

TotalResultsOnPage

Attribute
Integer

0..1

The number of results on the current page. Only applicable to a paged search

TotalPages

Attribute
Integer

0..1

The total number of pages available. Only applicable to a paged search

PageSize

Attribute
Integer

0..1

The page size for the search conducted which will match the page_size parameter provided. Only applicable to a paged search

CurrentPage

Attribute
Integer

0..1

The page the results are on. This should match the page_number parameter provided. Only applicable to a paged search.

* SearchResults

Group

1

 

** Document

Group

0..n

 

** DocumentId

Attribute
String

1

 

*** DateApproved

DateTime

0..1

Returned when the return_fields parameter includes the value "approved"

*** AsBuiltRequired

Boolean

0..1

Returned when the return_fields parameter includes the value "asBuiltRequired"

*** Attribute1

Group

0..1

Returned when the return_fields parameter includes the value "attribute1"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 1

*** Attribute2

Group

0..1

Returned when the return_fields parameter includes the value "attribute2"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 2

*** Attribute3

Group

0..1

Returned when the return_fields parameter includes the value "attribute3"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 3

*** Attribute4

Group

0..1

Returned when the return_fields parameter includes the value "attribute4"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 4

*** Author

String(60)

0..1

Returned when the return_fields parameter includes the value "author"

*** AuthorisedBy

String(60)

0..1

Returned when the return_fields parameter includes the value "authorisedBy"

*** Category

String(50)

0..1

Returned when the return_fields parameter includes the value "category"

*** Check1

Boolean

0..1

Returned when the return_fields parameter includes the value "check1"

*** Check2

Boolean

0..1

Returned when the return_fields parameter includes the value "check2"

*** Comments

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments"

*** Comments2

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments2"

*** Confidential

Boolean

0..1

Returned when the return_fields parameter includes the value "confidential"

*** ContractDeliverable

Boolean

0..1

Returned when the return_fields parameter includes the value "contractDeliverable"

*** ContractNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractnumber"

*** ContractorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractordocumentnumber"

*** ContractorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "contractorrev"

*** Current

Boolean

0..1

Returned when the return_fields parameter includes the value "current"
Determines whether this revision of the document is the current revision

*** Date1

String

0..1

Returned when the return_fields parameter includes the value "date1"
UTC format

*** Date2

String

0..1

Returned when the return_fields parameter includes the value "date2"
UTC format

*** DateCreated

String

0..1

Returned when the return_fields parameter includes the value "received"
UTC format

*** DateForReview

String

0..1

Returned when the return_fields parameter includes the value "forreview"
UTC format

*** DateModified

String

0..1

Returned when the return_fields parameter includes the value "registered"
UTC format

*** DateReviewed

String

0..1

Returned when the return_fields parameter includes the value "reviewed"
UTC format

*** Discipline

String(50)

0..1

Returned when the return_fields parameter includes the value "discipline"

*** DocumentNumber

String(210)

0..1

Returned when the return_fields parameter includes the value "docno"

*** DocumentStatus

String(40)

0..1

Returned when the return_fields parameter includes the value "statusid"

*** DocumentType

String(50)

0..1

Returned when the return_fields parameter includes the value "doctype"

*** FileSize

Long(64 bit)

0..1

Returned when the return_fields parameter includes the value "fileSize"

*** Filename

String(255)

0..1

Returned when the return_fields parameter includes the value "filename"

*** FileType

String(3)

0..1

Returned when the return_fields parameter includes the value "fileType"

*** MarkupLastModifiedDate

String

0..1

Returned when the return_fields parameter includes the value "markupLastModifiedDate"
UTC format

*** MilestoneDate

 

0..1

Returned when the return_fields parameter includes the value "milestonedate"
UTC format

*** NumberOfMarkups

Integer

0..1

Returned when the return_fields parameter includes the value "numberOfMarkups"

*** PackageNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "packagenumber"

*** PercentComplete

Integer(0-100)

0..1

Returned when the return_fields parameter includes the value "percentComplete"

*** PlannedSubmissionDate

String

0..1

Returned when the return_fields parameter includes the value "plannedsubmissiondate"
UTC format

*** PrintSize

String(15)

0..1

Returned when the return_fields parameter includes the value "printSize"

*** ProjectField1

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField1"

*** ProjectField2

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField2"

*** ProjectField3

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField3"

*** Reference

String(120)

0..1

Returned when the return_fields parameter includes the value "reference"

*** ReviewSource

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewSource"

*** ReviewStatus

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewstatus"

*** Revision

String(15)

0..1

Returned when the return_fields parameter includes the value "revision"

*** RevisionDate

String

0..1

Returned when the return_fields parameter includes the value "revisiondate"
UTC format

*** Scale

String(9)

0..1

Returned when the return_fields parameter includes the value "scale"

*** SelectList1

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist1"

*** SelectList2

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist2"

*** SelectList3

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist3"

*** SelectList4

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist4"

*** SelectList5

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist5"

*** SelectList6

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist6"

*** SelectList7

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist7"

*** SelectList8

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist8"

*** SelectList9

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist9"

*** SelectList10

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist10"

*** TagNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "tagNumber"

*** Title

String(120)

0..1

Returned when the return_fields parameter includes the value "title"

*** ToClientDate

String

0..1

Returned when the return_fields parameter includes the value "toclient"
UTC format

*** TrackingId

String

0..1

The tracking id for a document is a unique identifier for all version of a specific document.
When a document is first registered into Aconex, a unique identifier is generated
and this value is used assigned to all document revisions of that document.
One can use this tracking identifier to create a chain of documents.

*** VersionNumber

Integer

0..1

The version number of a document provides information relating to the sequence in
which the document was registered within the chain of revisions. For all documents
with the same Tracking Id, the version number will be an integer value starting from 1.
e.g. When a document is newly registered into Aconex, its version number will be 1.
When it is superseded, a new document with a version number of 2 will be created.
Both document revisions will be accessible using their respective document
Id's.

*** Vdrcode

String(50)

0..1

Returned when the return_fields parameter includes the value "vdrcode"

*** VendorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "vendordocumentnumber"

*** VendorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "vendorrev"

 

 

 

 

Sample response of NUMBER_LIMITED or FULL search type

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<RegisterSearch TotalResults = "2">
    <SearchResults>
        <Document DocumentId = "1879099233">
            <DateApproved></DateApproved>
            <AsBuiltRequired>false</AsBuiltRequired>
            <Attribute1>
                <AttributeTypeNames>
                    <AttributeTypeName>North Tower Hotel</AttributeTypeName>
                    <AttributeTypeName>South Tower Hotel</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE1</AttributeType>
            </Attribute1>
            <Attribute2>
                <AttributeTypeNames>
                    <AttributeTypeName>WP2.03 - Metal Decking</AttributeTypeName>
                    <AttributeTypeName>WP2.02 - Tan</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE2</AttributeType>
            </Attribute2>
            <Attribute3>
                <AttributeTypeNames/>
                <AttributeType>ATTRIBUTE3</AttributeType>
            </Attribute3>
            <Attribute4>
                <AttributeTypeNames/>
                <AttributeType>ATTRIBUTE4</AttributeType>
            </Attribute4>
            <Author>Majestic Builders</Author>
            <AuthorisedBy></AuthorisedBy>
            <Category></Category>
            <Check1>false</Check1>
            <Check2>false</Check2>
            <Comments></Comments>
            <Comments2></Comments2>
            <Confidential>false</Confidential>
            <ContractDeliverable>false</ContractDeliverable>
            <ContractorDocumentNumber></ContractorDocumentNumber>
            <ContractorRevision></ContractorRevision>
            <Current>true</Current>
            <Date1></Date1>
            <Date2></Date2>
            <DateCreated></DateCreated>
            <DateForReview></DateForReview>
            <DateModified>2009-09-29T23:23:51.533Z</DateModified>
            <DateReviewed></DateReviewed>
            <Discipline>Architectural</Discipline>
            <DocumentNumber>05-034_A700-1</DocumentNumber>
            <DocumentStatus>Approved</DocumentStatus>
            <DocumentType>Drawing</DocumentType>
            <FileSize>420387</FileSize>
            <Filename>N05-034_A700-3.pdf</Filename>
            <FileType>pdf</FileType>
            <MarkupLastModifiedDate></MarkupLastModifiedDate>
            <NumberOfMarkups>0</NumberOfMarkups>
            <PercentComplete>100</PercentComplete>
            <PrintSize>A0</PrintSize>
            <ProjectField1></ProjectField1>
            <ProjectField2></ProjectField2>
            <ProjectField3></ProjectField3>
            <Reference>Compare</Reference>
            <ReviewSource>None</ReviewSource>
            <ReviewStatus>None</ReviewStatus>
            <Revision>7</Revision>
            <RevisionDate>2007-10-23T14:00:00.000Z</RevisionDate>
            <Scale>0:0</Scale>
            <TagNumber></TagNumber>
            <Title>Main Lobby and Reception</Title>
            <ToClientDate></ToClientDate>
            <Vdrcode></Vdrcode>
            <VendorDocumentNumber></VendorDocumentNumber>
            <VendorRevision></VendorRevision>
        </Document>
        <Document DocumentId = "1879099236">
            <DateApproved>2009-10-14T13:00:00.000Z</DateApproved>
            <AsBuiltRequired>true</AsBuiltRequired>
            <Attribute1>
                <AttributeTypeNames>
                    <AttributeTypeName>Retail Building</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE1</AttributeType>
            </Attribute1>
            <Attribute2>
                <AttributeTypeNames>
                    <AttributeTypeName>WP1.04 - Ground Works (inc. Grade Concrete Slab)</AttributeTypeName>
                    <AttributeTypeName>WP4.11 - Intenral Fitout</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE2</AttributeType>
            </Attribute2>
            <Attribute3>
                <AttributeTypeNames>
                    <AttributeTypeName>Attrib3-Val1</AttributeTypeName>
                    <AttributeTypeName>Attrib3-Val3</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE3</AttributeType>
            </Attribute3>
            <Attribute4>
                <AttributeTypeNames>
                    <AttributeTypeName>Attrib4-Val3</AttributeTypeName>
                    <AttributeTypeName>Attrib4-Val2</AttributeTypeName>
                </AttributeTypeNames>
                <AttributeType>ATTRIBUTE4</AttributeType>
            </Attribute4>
            <Author>Splice Architecture</Author>
            <AuthorisedBy>AT</AuthorisedBy>
            <Category>Cat001</Category>
            <Check1>true</Check1>
            <Check2>false</Check2>
            <Comments>Look at this!</Comments>
            <Comments2>Look at that!</Comments2>
            <Confidential>false</Confidential>
            <ContractDeliverable>false</ContractDeliverable>
            <ContractNumber>CN001</ContractNumber>
            <ContractNumber>CN002</ContractNumber>
            <ContractorDocumentNumber>ABCD001</ContractorDocumentNumber>
            <ContractorRevision>GA</ContractorRevision>
            <Current>true</Current>
            <Date1>2009-10-25T13:00:00.000Z</Date1>
            <Date2>2009-10-26T13:00:00.000Z</Date2>
            <DateCreated>2007-05-11T14:00:00.000Z</DateCreated>
            <DateForReview>2009-10-06T13:00:00.000Z</DateForReview>
            <DateModified>2009-10-05T01:11:05.237Z</DateModified>
            <DateReviewed>2009-10-08T13:00:00.000Z</DateReviewed>
            <Discipline>Architectural</Discipline>
            <DocumentNumber>581-AWD-031</DocumentNumber>
            <DocumentStatus>Approved</DocumentStatus>
            <DocumentType>Drawing</DocumentType>
            <FileSize>104724</FileSize>
            <Filename>581-AWD-278C581-AWD-278C.pdf</Filename>
            <FileType>pdf</FileType>
            <MarkupLastModifiedDate></MarkupLastModifiedDate>
            <NumberOfMarkups>0</NumberOfMarkups>
            <PackageNumber>P002</PackageNumber>
            <PercentComplete>100</PercentComplete>
            <PrintSize>A4</PrintSize>
            <ProjectField1>PF001</ProjectField1>
            <ProjectField2>PF002</ProjectField2>
            <ProjectField3>PF003</ProjectField3>
            <Reference>Compare</Reference>
            <ReviewSource>None</ReviewSource>
            <ReviewStatus>None</ReviewStatus>
            <Revision>G</Revision>
            <RevisionDate>2007-07-11T14:00:00.000Z</RevisionDate>
            <Scale>0:0</Scale>
            <SelectList1>Evaluation</SelectList1>
            <TagNumber>TN001</TagNumber>
            <Title>Lobby Floor Plan</Title>
            <ToClientDate>2009-10-12T13:00:00.000Z</ToClientDate>
            <Vdrcode></Vdrcode>
            <VendorDocumentNumber>VD002</VendorDocumentNumber>
            <VendorRevision>G</VendorRevision>
            <VersionNumber>2</VersionNumber>
            <TrackingId>3245</TrackingId>
        </Document>
    </SearchResults>
</RegisterSearch>

Sample response of a PAGED search type

<RegisterSearch TotalResultsOnPage="26" TotalResults="76" TotalPages="2" PageSize="50" CurrentPage="2">

  <SearchResults>
    <Document DocumentId="3289"/>
    <Document DocumentId="3019"/>
    <Document DocumentId="3018"/>
    <Document DocumentId="3017"/>
    <Document DocumentId="3016"/>
    <Document DocumentId="3430"/>
    <Document DocumentId="3609"/>
    <Document DocumentId="4096"/>
    <Document DocumentId="98"/>
    <Document DocumentId="97"/>
    <Document DocumentId="2778"/>
    <Document DocumentId="2777"/>
    <Document DocumentId="106"/>
    <Document DocumentId="2776"/>
    <Document DocumentId="2775"/>
    <Document DocumentId="451"/>
    <Document DocumentId="450"/>
    <Document DocumentId="2859"/>
    <Document DocumentId="2856"/>
    <Document DocumentId="2847"/>
    <Document DocumentId="3710"/>
    <Document DocumentId="2850"/>
    <Document DocumentId="3028"/>
    <Document DocumentId="449"/>
    <Document DocumentId="447"/>
    <Document DocumentId="3051"/>
  </SearchResults>
</RegisterSearch>
Sample response of a COUNT_ONLY search type
<RegisterSearch TotalResults="76"/>
Error Codes: 
Status Code Description HTTP Status Code
INVALID_PARAMETER_VALUE If a value for a provided parameter is not valid in anyway or unexpected 400
INVALID_RESULT_SET_FIELD If a field requested as part of the results is not a valid result set field 400
INVALID_SORT_FIELD If the field specified to sort on is not a valid sortable field 400
MALFORMED_QUERY If the query provided is not a correctly structured Lucene query
 
400
Prerequisites: 

Required Permissions

The authorizing user (specified in the request header) must have the secured asset to search registered documents.

Preferences/Module Setup

Not every field may be used in the specified project. It is recommended that the user retrieve the register schema beforehand to obtain the list of active fields, prior to constructing a request.

Constraints: 

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

Document metadata will not be returned if the document is both marked "Confidential" and the authorizing user is not on that document's Access List.

Introductory notes about Lucene queries may be found here:

http://lucene.apache.org/core/3_5_0/queryparsersyntax.html

Current Set Definition

The service returns the current set definition configured for a given project. This current set definition is basically a subset of documents that define the current set; that is, which documents are also considered drawings.

The response is made of one restriction element which has one logical operator (either AND or OR) and can contain restriction items or other restrictions. A sample response is given below with an explanation.

The response also contains the creation date for the current set definition. Current set definitions are immutable and only one current set definition is valid at any given moment. Any newly created current set definition will make the previous one go invalid (and inaccesible via this API).

URL Structure: 
HTTP GET: https://{hostname}/api/projects/{projectid}/currentSet
Interface: 

Request Fields

Not Applicable. HTTP GET operations have no request body.

Sample Request: 
https://au1.aconex.com/api/projects/1879048428/currentSet
Sample Response: 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<CurrentSetDefinition CreationDate="2020-04-15T01:22:53.408+10:00">
    <CurrentSetDefinitionRestriction Operator="OR">
        <CurrentSetDefinitionRestrictions>
            <CurrentSetDefinitionRestriction Operator="AND">
                <CurrentSetDefinitionItems>
                    <CurrentSetDefinitionItem PropertyKey="doctype" FieldType="DOCUMENT_FIELD">
                        <CurrentSetDefinitionItemValues>
                            <CurrentSetDefinitionItemValue>1879048197</CurrentSetDefinitionItemValue>
                        </CurrentSetDefinitionItemValues>
                    </CurrentSetDefinitionItem>
                </CurrentSetDefinitionItems>
                <CurrentSetDefinitionRestrictions>
                    <CurrentSetDefinitionRestriction Operator="OR">
                        <CurrentSetDefinitionItems>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048216</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048205</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                        </CurrentSetDefinitionItems>
                    </CurrentSetDefinitionRestriction>
                </CurrentSetDefinitionRestrictions>
            </CurrentSetDefinitionRestriction>
            <CurrentSetDefinitionRestriction Operator="AND">
                <CurrentSetDefinitionItems>
                    <CurrentSetDefinitionItem PropertyKey="doctype" FieldType="DOCUMENT_FIELD">
                        <CurrentSetDefinitionItemValues>
                            <CurrentSetDefinitionItemValue>1879048212</CurrentSetDefinitionItemValue>
                        </CurrentSetDefinitionItemValues>
                    </CurrentSetDefinitionItem>
                </CurrentSetDefinitionItems>
                <CurrentSetDefinitionRestrictions>
                    <CurrentSetDefinitionRestriction Operator="OR">
                        <CurrentSetDefinitionItems>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048216</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048205</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                        </CurrentSetDefinitionItems>
                    </CurrentSetDefinitionRestriction>
                </CurrentSetDefinitionRestrictions>
            </CurrentSetDefinitionRestriction>
            <CurrentSetDefinitionRestriction Operator="AND">
                <CurrentSetDefinitionItems>
                    <CurrentSetDefinitionItem PropertyKey="doctype" FieldType="DOCUMENT_FIELD">
                        <CurrentSetDefinitionItemValues>
                            <CurrentSetDefinitionItemValue>1879048233</CurrentSetDefinitionItemValue>
                        </CurrentSetDefinitionItemValues>
                    </CurrentSetDefinitionItem>
                </CurrentSetDefinitionItems>
                <CurrentSetDefinitionRestrictions>
                    <CurrentSetDefinitionRestriction Operator="OR">
                        <CurrentSetDefinitionItems>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048216</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                            <CurrentSetDefinitionItem PropertyKey="statusid" FieldType="DOCUMENT_FIELD">
                                <CurrentSetDefinitionItemValues>
                                    <CurrentSetDefinitionItemValue>1879048205</CurrentSetDefinitionItemValue>
                                </CurrentSetDefinitionItemValues>
                            </CurrentSetDefinitionItem>
                        </CurrentSetDefinitionItems>
                    </CurrentSetDefinitionRestriction>
                </CurrentSetDefinitionRestrictions>
            </CurrentSetDefinitionRestriction>
        </CurrentSetDefinitionRestrictions>
    </CurrentSetDefinitionRestriction>
</CurrentSetDefinition>

In this response there is an OR restriction which has 2 AND restrictions. This OR restriction has no restriction items.

The first AND restriction has a restriction item "doctype=1879048197" and one inner OR restriction with 2 items, "statusid=1879048216" and "statusid=1879048205".

The second AND restriction has a restriction item "doctype=1879048233" and one inner OR restriction with 2 items, which is exactly as the previous one: "statusid=1879048216" and "statusid=1879048205".

This can be logically read as follows:

(doctype=1879048197 AND (statusid=1879048216 OR statusid=1879048205)) OR (doctype=1879048233 AND (statusid=1879048216 OR statusid=1879048205))

Property keys

For document fields they are fixed and they are the following:

doctype, statusid, attribute1, attribute2, attribute3, attribute4, category, contractNumber, discipline, packageNumber, selectList1, selectList2, selectList3, selectList4, selectList5, selectList6, selectList7, selectList8, selectList9, selectList10, vdrcode.

The value of a document field is always its text (without any internationalisation/localisation) except for doctype and statusid, where ids are provided instead.

For project fields, it is <name of the project field>_<project field type>. Project field type can be one of two possible values: singleSelect and multiSelect. For example, a single select project field with the name Milestone would be Milestone_singleSelect. The value of a project field is always its text (without any internationalisation/localisation).

All Filters List Documents

The service executes a search of an organization's document register for a project and returns list of documents as result.

Note: This API replicates the functionality provided in Aconex Document Register UI Page - All Filters Search (Also called as Super Search).

Specifying fields to return

The search API service allows you to request specific data for each search result if required. This is done by populating the returnFields parameter (Array field) with a comma separated list of identifiers as specified by the search schema fields in the View Document Schema API service. By default, the service retrieves only the documentId of every result the authorizing user has access to. Note that if an identifier is provided which is not specified as a search result field, an error will be returned and the search will not execute.

Sorting

It is possible to sort the search results by a specific field. This is done by providing a single value to the sortBy field when performing the request. Once again, all possible identifiers must be specified as sortable. The fields that can be sorted on must be a SearchResultField and have its sortable attribute set to true. One can also specify the sorting direction (ascending or descending) by setting the field sortDirection (ASC or DESC)

 

Chunked Response Support : 

  • The client can utilize this by adding a header : "Accept-Encoding" and set it to "chunked"
  • The HTTP - depending upon size of the response (for large responses), it will enable response chunking and adds "Transfer-Encoding" header as chunked in Response headersURL structure
HTTP POST : https://{hostname}/api/projects/{projectid}/register/search
Parameters

Request Parameter

Description

projectid Project ID (Number)

 

Interface

Request Fields

Element

Type(maxlength)

Cardinality

Notes

orgId

Attribute
String

0..1

Organization ID* (Mandatory)
userId Attribute
String
0..1 User ID* (Mandatory)
docno Attribute
String
0..1 Document Number
title Attribute
String
0..1 Document Title
doctype Attribute
String
0..1 *** Supports Multiple Comma Separated Values
discipline Attribute
String
0..1 *** Supports Multiple Comma Separated Values
docstatus Attribute
String
0..1 *** Supports Multiple Comma Separated Values
dateModified Attribute
String
0..1 Document Modified Date
vdrcode Attribute
String
0..1 *** Supports Multiple Comma Separated Values
category Attribute
String
0..1 Category field value
attribute1 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
attribute2 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
attribute3 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
attribute4 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList1 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList2 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList3 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList4 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList5 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList6 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList7 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList8 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList9 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
selectList10 Attribute
String
0..1 *** Supports Multiple Comma Separated Values
approved Attribute
String
0..1 Value should be "approved"
approvedQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "approved1" AND / OR "approved2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

approved1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
approved2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
registered Attribute
String
0..1 Value should be "registerd"
registeredQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "registered1" AND / OR "registered2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

registered1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
registered2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
reviewedDate Attribute
String
0..1 Value should be "reviewedDate"
reviewedDateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "reviewedDate1" AND / OR "reviewedDate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

reviewedDate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
reviewedDate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
markupDate Attribute
String
0..1 Value should be "markupDate"
markupDateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "markupDate1" AND / OR "markupDate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

markupDate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
markupDate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
lastMarkupDate Attribute
String
0..1 Value should be "lastMarkupDate"
lastMarkupDateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "lastMarkupDate1" AND / OR "lastMarkupDate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

lastMarkupDate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
lastMarkupDate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
milestonedate Attribute
String
0..1 Value should be "milestonedate"
milestonedateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "milestonedate1" AND / OR "milestonedate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

milestonedate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
milestonedate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
received Attribute
String
0..1 Value should be "received"
receivedQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "received1" AND / OR "received2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

received1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
received2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
plannedsubmissiondate Attribute
String
0..1 Value should be "plannedsubmissiondate"
plannedsubmissiondateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "plannedsubmissiondate1" AND / OR "plannedsubmissiondate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

plannedsubmissiondate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
plannedsubmissiondate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
revision Attribute
String
0..1 Revision field value
revisiondate Attribute
String
0..1 Value should be "revisiondate"
revisiondateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "revisiondate1" AND / OR "revisiondate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

revisiondate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
revisiondate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
toClientDate Attribute
String
0..1 Value should be "toClientDate"
toClientDateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "toClientDate1" AND / OR "toClientDate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

toClientDate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
toClientDate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
forReviewDate Attribute
String
0..1 Value should be "forReviewDate"
forReviewDateQualifier Attribute
String
0..1

Supported Values : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS", "NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : To be used along with the fields "forReviewDate1" AND / OR "forReviewDate2" for the values "BETWEEN", "BEFORE", "AFTER", "ON"

forReviewDate1 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
forReviewDate2 Attribute
String
0..1 Date Value in the format yyyy-mm-dd
showDocHistory Attribute
String
0..1 Boolean String Value (true/false).. Flag that controls whether to return only the latest revision of each matching document, or all document revisions. Without this parameter specified, this defaults to "false"
projectFields Attribute
Array
0..n

Refer the "Project Fields" section for more details

Important Note : This field is considered for filtering only when "projectFieldsJSON" field is empty

projectFieldsJSON Attribute
String
0..1

JSON String of Project Fields Filtering

Refer the "Project Fields JSON" section for more details.

Important Note :

  • If a value is provided, This field overrides "projectFields". i.e., "projetFieldsJSON" overrides "projectFields"
  • Recommended for Project Fields Filtering.!
searchDocContent Attribute
String
0..1 Boolean String Value (true/false). Flag that controls whether the search should include document contents. If not specified as true, defaults to "false"
sortBy Attribute
String
0..1 The name of the field to sort the search results by. Results can only be sorted by a single field, although it does not have to be one of the fields specified in the returnFields parameter
sortDirection Attribute
String
0..1

One of;

  • ASC, ascending order
  • DESC, descending order
    Without this parameter specified, this defaults to ASC
pageNumber Attribute
String
0..1 If specified, the value must be between "1" and the value of the "TotalNumberOfPages" attribute that is in the response, otherwise an error is returned. Without this parameter specified, this defaults to 1.
searchQuery Attribute
String
0..1

Lucene search query.If search query only contains Lucence Single Terms (separated by spaces), a "*" will be automatically appended to each term to do a wildcard search.

See more in https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Terms. Please refer to the notes below for further information about Lucene.
Field names available for searching are;
* refers it uses "id" to search

  • approved
  • asBuiltRequired
  • attribute
  • secondaryattribute
  • attribute3
  • attribute4
  • author
  • category
  • contractnumber
  • contractordocumentnumber
  • contractorrev
  • date1
  • date2
  • discipline
  • docno
  • doctype
  • forreview
  • markupdate
  • milestonedate
  • packagenumber
  • plannedsubmissiondate
  • received
  • reference
  • registered
  • reviewed
  • reviewstatus*
  • revision
  • revisiondate
  • scale
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • statusid*
  • title
  • toclient
  • trackingid*
  • uploaddate
  • vdrcode
  • vendordocumentnumber
  • vendorrev
  • filetype

 

Eg.  1. "searchQuery":"packagenumber: Package No 1"

2. "searchQuery":"docno:25567~101~M7~1T15~00009~WAF15310"

returnFields Array 0..n

 

An array of document fields to return in the search results
Field names available to be returned in the response are;

  • approved*
  • asBuiltRequired*
  • attribute1*
  • attribute2*
  • attribute3*
  • attribute4*
  • author*
  • authorisedBy*
  • category*
  • check1*
  • check2*
  • comments
  • comments2
  • confidential*
  • contractDeliverable*
  • contractnumber*
  • contractordocumentnumber*
  • contractorrev*
  • current
  • date1*
  • date2*
  • discipline*
  • docno*
  • doctype*
  • filename
  • fileSize*
  • fileType*
  • forreview*
  • markupLastModifiedDate*
  • milestonedate*
  • modifiedby
  • numberOfMarkups*
  • packagenumber*
  • percentComplete*
  • plannedsubmissiondate*
  • printSize*
  • projectField1*
  • projectField2*
  • projectField3*
  • received*
  • reference*
  • registered*
  • reviewed*
  • reviewSource*
  • reviewstatus
  • revision*
  • revisiondate*
  • selectlist1
  • selectlist2
  • selectlist3
  • selectlist4
  • selectlist5
  • selectlist6
  • selectlist7
  • selectlist8
  • selectlist9
  • selectlist10
  • scale*
  • statusid*
  • tagNumber*
  • title
  • toclient*
  • trackingid
  • versionnumber
  • vdrcode*
  • vendordocumentnumber*
  • vendorrev* 
  • versionnumber
    * Can sort on these fields

It also supports Project Fields to be returned in the response. Need to provide Fully Qualified Name of the project fields

Eg. status_singleSelect, colour_singleLineText, Country_singleSelect, Datetest_date

resultSize Attribute
String
0..1

Page Size. Minimum Page Size is 25.

The value  has to be multiple of the smallest page size (Smallest Page Size : 25)

Default value (if field is not provided : 25)

deduplicate Attribute
String
0..1
Boolean String Value (true/false).
Filters the Duplicate Register Results
returnTransmittalIds Attribute
String
0..1

 

Boolean String Value (true/false).

Attach Transmittals to Results

  • "returnTransmittalIds" param will return complete transmittal information along with data-type metadata of transmittal fields

 

returnTransmittalInfo Attribute
String
0..1  

Boolean String Value (true/false).

Attach Transmittals to Results

  • "returnTransmittalInfo" will only return the required fields of transmittal as part of the response
  • Transmittal Fields : controlledDocId, cdTrackingid, sequenceNum, transmittalId, recvTransmittal, recvTransmittalNum, recvTransmittalUser, recvTransmittalDate, sentDate, recipientOrgSnapshotTradingName, recipientUserid, corrNumber, recipientName, correspondenceReason
  • Data-type Metadata of the fields will not be part of the response and thus reducing the response size

Note : 

  • Setting this field (returnTransmittalInfo) to "true" will override the request param "returnTransmittalIds"
  • It is highly encouraged to use this parameter "returnTransmittalInfo" over the other
reviewsource Attribute
String
0..1 Review Source Identifier - to be sent as String
packageNumber Attribute
String
0..1

Package Number

*** Supports Multiple Comma Separated Values

returnCurrentSetDocsOnly Attribute
String
0..1

Boolean String Value (true/false).

"true" : Returns only "CurrentSet" Documents (drawings)

"false" : Returns all types of documents

Default Value : "false"

categoryValues Attribute
Array
0..1 Category field values in list
disciplineValues Attribute
Array
0..1 Discipline field values in list
vdrCodeValues Attribute
Array
0..1 VdrCode field values in list
contractNumberValues Attribute
Array
0..1 ContractNumber field values in list
packageNumberValues Attribute
Array
0..1 PackageNumber field values in list
attribute1Values Attribute
Array
0..1 Attribute1 field values in list
attribute2Values Attribute
Array
0..1 Attribute2 field values in list
attribute3Values Attribute
Array
0..1 Attribute3 field values in list
attribute4Values Attribute
Array
0..1 Attribute4 field values in list
selectList1Values Attribute
Array
0..1 SelectList1 field values in list
selectList2Values Attribute
Array
0..1 SelectList2 field values in list
selectList3Values Attribute
Array
0..1 SelectList3 field values in list
selectList4Values Attribute
Array
0..1 SelectList4 field values in list
selectList5Values Attribute
Array
0..1 SelectList5 field values in list
selectList6Values Attribute
Array
0..1 SelectList6 field values in list
selectList7Values Attribute
Array
0..1 SelectList7 field values in list
selectList8Values Attribute
Array
0..1 SelectList8 field values in list
selectList9Values Attribute
Array
0..1 SelectList9 field values in list
selectList10Values Attribute
Array
0..1 SelectList10 field values in list

 

Note : If a FULL search need to be carried out (Returning all the search results), the "resultSize" parameter need to be provided with higher value. Eg., If a search filter is yielding 100 documents, set the "resultSize" parameter to >=100 to retrieve all the documents information in single call.

Complete Value need to be given in the Request Fields for searching. If "Partial Value" search is required, "searchQuery" request field can be utilized to pass the custom search query.

 

Project Fields (projectFields) - Request Format

Number of Project Fields

JSON

Description

Single "projectFields" : [
   {
      "type":"singleValue",
      "name":"Proj1_singleLineText",
      "value":"TESTPROJ",
      "isExactMatch":false
   }
]

type : singleValue

Supported Values : 

Boolean Field (1 / 0) : singleValue
Text Field : singleValue
TextArea Field : singleValue
Number Field : singleValue
SelectList (SingleSelect) Field : singleValue
SelectList (MultipleSelect) Field : singleValue

name : Name of the Project Field as seen in UI (Field Name - Fully Qualified Name)

value : Value of the Project field that you want to search for

isExactMatch : Make it "true" if there is a space in the value

Multiple

"projectFields" : [
   {
      "type":"singleValue",
      "name":"Proj1_singleLineText",
      "value":"TESTPROJ",
      "isExactMatch":false
   },
   {
      "type":"singleValue",
      "name":"Proj3_singleLineText",
      "value":"TEST PROJSPACE",
      "isExactMatch":true
   }
]

type : singleValue

Supported Values : 

Boolean Field (1 / 0) : singleValue
Text Field : singleValue
TextArea Field : singleValue
Number Field : singleValue
SelectList (SingleSelect) Field : singleValue
SelectList (MultipleSelect) Field : singleValue

name : Name of the Project Field as seen in UI (Field Name - Fully Qualified Name)

value : Value of the Project field that you want to search for

isExactMatch : Make it "true" if there is a space in the value

 

Project Fields JSON (projectFieldsJSON) - Request Format

Type of Value JSON (To be formatted as String) Description
SingleValue

Sample 1 : (Text Field) :"projectFieldsJSON" : "[{\"type\":\"singleValue\",\"name\":\"Proj1_singleLineText\",\"value\":\"TESTPROJ\",\"isExactMatch\":false}]"

Sample 2 : (Boolean Field) : "projectFieldsJSON" : "[{\"type\": \"singleValue\",\"name\": \"Booleantest_boolean\",\"value\": \"1\",\"isExactMatch\": false}]"

type : singleValue

Supported Values : 

Boolean Field (1 / 0) : singleValue
Text Field : singleValue
TextArea Field : singleValue
Number Field : singleValue
SelectList (SingleSelect) Field : singleValue
SelectList (MultipleSelect) Field : singleValue

name : Name of the Project Field as seen in UI (Field Name - Fully Qualified Name)

value : Value of the Project field that you want to search for

isExactMatch : Make it "true" if there is a space in the value

MultipleValue

Sample 1 : (SelectList:Single - Multiple Values) : "projectFieldsJSON" : "[{\"type\":\"multipleValue\",\"name\":\"Ordertest1_singleSelect\",\"value\":[\"1-First\",\"3-Third\"],\"isExactMatch\":false}]"

Sample 2 : (SelectList:Multiple - Multiple Values) : "projectFieldsJSON": "[\{\"type\":\"multipleValue\",\"name\":\"Multipletest_multiSelect\",\"value\":[\"ABC\",\"DEF\"],\"isExactMatch\":false}]"

Sample 3 : (SelectList:Multiple - Multiple Values With Space) : "projectFieldsJSON" : "[{\"type\": \"multipleValue\",\"name\": \"Ordertest4_multiSelect\",\"value\": [\"5 - Five\"],\"isExactMatch\": true}]"

Sample 4 : (User - Multiple Values) : "projectFieldsJSON" : "[{\"type\": \"multipleValue\",\"name\": \"Assignee_user\",\"value\": [\"Mr Ganesh Bhatt\",\"Mr Sachin E\"],\"isExactMatch\": false}]"

Sample 5 : (Multiple Fields) : "projectFieldsJSON": "[\{\"type\":\"singleValue\",\"name\":\"colour_singleLineText\",\"value\":\"Red\",\"isExactMatch\":false},{\"type\":\"multipleValue\",\"name\":\"Ordertest1_singleSelect\",\"value\":[\"1-First\",\"3-Third\"],\"isExactMatch\":true}]"

type : multipleValue

Supported Values : 

SelectList (SingleSelect) Field : multipleValue
SelectList (MultipleSelect) Field : multipleValue

User Field : multipleValue

name : Name of the Project Field as seen in UI (Field Name - Fully Qualified Name)

value : Value of the Project field that you want to search for "as an array"

isExactMatch : Make it "true" if there is a space in the value

DateRangeValue

Sample 1 : (Date Field - BETWEEN Qualifier) : "projectFieldsJSON" : "[{\"type\":\"dateRangeValue\",\"name\":\"Datetest_date\",\"value\":{\"qualifier\":\"BETWEEN\",\"date1\":\"2022-03-06\",\"date2\":\"2022-03-08\"},\"isExactMatch\":false}]"

Sample 2 : (Date Field - ON Qualifier) : "projectFieldsJSON": "[{\"type\":\"dateRangeValue\",\"name\":\"Datetest_date\",\"value\":{\"qualifier\":\"ON\",\"date1\":\"2022-03-07\"},\"isExactMatch\":false}]"

Sample 3 : (Date Field - LAST7DAYS Qualifier) : "projectFieldsJSON" : "[{\"type\": \"dateRangeValue\",\"name\": \"Datetest_date\",\"value\": {\"qualifier\": \"LAST7DAYS\"},\"isExactMatch\": false}]"

type : dateRangeValue

Supported Values : 

SelectList (SingleSelect) Field : dateRangeValue
SelectList (MultipleSelect) Field : dateRangeValue

name : Name of the Project Field as seen in UI (Field Name - Fully Qualified Name)

value : Value of the Project field that you want to search for with atributes : qualifier, date1, date2

qualifier (Supported Values) : "BETWEEN", "BEFORE", "AFTER", "ON", "LAST7DAYS", "LAST30DAYS", "LAST90DAYS","NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW"

Note : date1 and date2 are not needed for qualifiers - "LAST7DAYS", "LAST30DAYS", "LAST90DAYS","NEXT7DAYS", "NEXT30DAYS", "NEXT90DAYS", "YESTERDAY", "TODAY", "TOMORROW" : Refer the Sample

isExactMatch : false

Notes : 

  • projectFieldsJSON field supports everything that "projectFields" field provides along with "MultipleValue" and "DateRangeValue"
  • The difference is in the way the fields are populated :
    • projectFields : JSON Object Array
    • projectFieldsJSON : JSON String
  • If "projectFieldsJSON" field is populated, it will override the content of "projectFields".!
    • "projectFields" field is considered only when "projectFieldsJSON" field is empty
    • Use any one of the field while forming the request
  • Supports Multiple Project fields filtering
  • We highly recommend using "projectFieldsJSON" field for filtering of any project fields as it supports complete functionality (projectFields only supports singleValue)
  • In the samples given above,  \ (backslash) is added to escape double quotes within JSON String

 

Sample request

{   

"orgId":"1879048492",
   "userId" : "1879049107",
   "selectList1":"GHI JKL",
  "selectList10Values":["SL10","SL11"],
   "returnFields": [
      "docno","title","doctype","filename","printSize","comments","attribute1","attribute2","selectlist1"
   ],
   "resultSize":"25",
   "returnTransmittalIds":"false"

}

The search in the above example corresponds to a query of custom field "selectList1" whose value is "GHI JKL" and "selectList10" whose value is "SL10" or "SL11".

 

{

   "orgId":"1879053196",
   "category":"Category 1",
   "sortBy":"title",
   "sortDirection":"ASC",
   "pageNumber":"1",
   "showDocHistory":"false",
   "returnFields": [
 "docno","title","doctype","statusid","discipline","author","confidential","modifiedby","comments","percentComplete","filename","printSize","comments","revision","revisiondate","versionnumber","reviewStatus","numberOfMarkups","markupLastModifiedDate","plannedSubmissionDate","contractNumber","vendorDocumentNumber","current","reviewsource"
    ],
   "resultSize":"250",
   "showUploadedByMeOnly":"false",
   "deduplicate":"false",
   "returnTransmittalIds":"false"
}

The search in the above example corresponds to a query of category field "category" whose value is "Category 1" and result to be sorted by "title" in ascending order.

 

{
   "orgId":"1879053196",
   "category":"Category 1",
   "vdrcode":"VDR CODE1",
  "vdrCodeValues":["VDR CODE2", "VDR CODE3"],
  "pageNumber":"1",
   "showDocHistory":"false",
   "returnFields": [
 "docno","title","doctype","statusid","discipline","author","confidential","modifiedby","comments","percentComplete","filename","printSize","comments","revision","revisiondate","versionnumber","reviewStatus","numberOfMarkups","markupLastModifiedDate","plannedSubmissionDate","contractNumber","vendorDocumentNumber","current","reviewsource"
    ],
   "resultSize":"250",
   "showUploadedByMeOnly":"false",
   "deduplicate":"false",
   "returnTransmittalIds":"false"
}

The search in the above example corresponds to a query of vdrcode field "vdrCodeValues" whose value is "VDR CODE2" or "VDR CODE3"

 

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

Element

Type(maxlength)

Cardinality

Notes

RegisterSearch

Group

1

 

TotalResultsCount

Attribute
Integer

1

The number of correspondences that match the search filter. If a paged search is being performed, then this number will be across all pages including those not shown in the results.
For a number limited search, it will be the number of results in the response.

TotalResultsOnCurrentPage Attribute
Integer
1 The number of results on the current page.
TotalNumberOfPages Attribute
Integer
1 The total number of pages available. 
CurrentPageNumber Attribute
Integer
1

The page the results are on. This should match the pageNumber parameter provided in Request.

SinglePageSize Attribute
Integer
1 The page size for the search conducted which will match the resultSize parameter provided

* SearchResults

Group

1

 

** Document

Group

0..n

 

** DocumentId

Attribute
String

1

 

*** DateApproved

DateTime

0..1

Returned when the return_fields parameter includes the value "approved"

*** AsBuiltRequired

Boolean

0..1

Returned when the return_fields parameter includes the value "asBuiltRequired"

*** Attribute1

Group

0..1

Returned when the return_fields parameter includes the value "attribute1"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 1

*** Attribute2

Group

0..1

Returned when the return_fields parameter includes the value "attribute2"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 2

*** Attribute3

Group

0..1

Returned when the return_fields parameter includes the value "attribute3"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 3

*** Attribute4

Group

0..1

Returned when the return_fields parameter includes the value "attribute4"

**** AttributeTypeNames

Group

0..1

 

***** AttributeTypeName

String(60)

0..n

 

**** AttributeType

String

1

Constant: Attribute 4

*** Author

String(60)

0..1

Returned when the return_fields parameter includes the value "author"

*** AuthorisedBy

String(60)

0..1

Returned when the return_fields parameter includes the value "authorisedBy"

*** Category

String(50)

0..1

Returned when the return_fields parameter includes the value "category"

*** Check1

Boolean

0..1

Returned when the return_fields parameter includes the value "check1"

*** Check2

Boolean

0..1

Returned when the return_fields parameter includes the value "check2"

*** Comments

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments"

*** Comments2

String(1024)

0..1

Returned when the return_fields parameter includes the value "comments2"

*** Confidential

Boolean

0..1

Returned when the return_fields parameter includes the value "confidential"

*** ContractDeliverable

Boolean

0..1

Returned when the return_fields parameter includes the value "contractDeliverable"

*** ContractNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractnumber"

*** ContractorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "contractordocumentnumber"

*** ContractorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "contractorrev"

*** Current

Boolean

0..1

Returned when the return_fields parameter includes the value "current"
Determines whether this revision of the document is the current revision

*** Date1

String

0..1

Returned when the return_fields parameter includes the value "date1"
UTC format

*** Date2

String

0..1

Returned when the return_fields parameter includes the value "date2"
UTC format

*** DateCreated

String

0..1

Returned when the return_fields parameter includes the value "received"
UTC format

*** DateForReview

String

0..1

Returned when the return_fields parameter includes the value "forreview"
UTC format

*** DateModified

String

0..1

Returned when the return_fields parameter includes the value "registered"
UTC format

*** DateReviewed

String

0..1

Returned when the return_fields parameter includes the value "reviewed"
UTC format

*** Discipline

String(50)

0..1

Returned when the return_fields parameter includes the value "discipline"

*** DocumentNumber

String(210)

0..1

Returned when the return_fields parameter includes the value "docno"

*** DocumentStatus

String(40)

0..1

Returned when the return_fields parameter includes the value "statusid"

*** DocumentType

String(50)

0..1

Returned when the return_fields parameter includes the value "doctype"

*** FileSize

Long(64 bit)

0..1

Returned when the return_fields parameter includes the value "fileSize"

*** Filename

String(255)

0..1

Returned when the return_fields parameter includes the value "filename"

*** FileType

String(3)

0..1

Returned when the return_fields parameter includes the value "fileType"

*** MarkupLastModifiedDate

String

0..1

Returned when the return_fields parameter includes the value "markupLastModifiedDate"
UTC format

*** MilestoneDate

 

0..1

Returned when the return_fields parameter includes the value "milestonedate"
UTC format

*** NumberOfMarkups

Integer

0..1

Returned when the return_fields parameter includes the value "numberOfMarkups"

*** PackageNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "packagenumber"

*** PercentComplete

Integer(0-100)

0..1

Returned when the return_fields parameter includes the value "percentComplete"

*** PlannedSubmissionDate

String

0..1

Returned when the return_fields parameter includes the value "plannedsubmissiondate"
UTC format

*** PrintSize

String(15)

0..1

Returned when the return_fields parameter includes the value "printSize"

*** ProjectField1

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField1"

*** ProjectField2

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField2"

*** ProjectField3

String(120)

0..1

Returned when the return_fields parameter includes the value "projectField3"

*** Reference

String(120)

0..1

Returned when the return_fields parameter includes the value "reference"

*** ReviewSource

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewSource".

The field will include actual "Workflow Number" / "Correspondence Number" / "SupploerDocPackageNumber" if it exists for the document corresponding to type of Source (Workflow / Transmittal / Supplier Document) .

Eg. Workflow : <ReviewSource>WF-000002</ReviewSource>

Transmittal : <ReviewSource>145228</ReviewSource>

Supplier Document : <ReviewSource>SD-000004</ReviewSource>

No Review Source : <ReviewSource>None</ReviewSource>

*** ReviewStatus

String(50)

0..1

Returned when the return_fields parameter includes the value "reviewstatus"

*** Revision

String(15)

0..1

Returned when the return_fields parameter includes the value "revision"

*** RevisionDate

String

0..1

Returned when the return_fields parameter includes the value "revisiondate"
UTC format

*** Scale

String(9)

0..1

Returned when the return_fields parameter includes the value "scale"

*** SelectList1

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist1"

*** SelectList2

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist2"

*** SelectList3

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist3"

*** SelectList4

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist4"

*** SelectList5

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist5"

*** SelectList6

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist6"

*** SelectList7

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist7"

*** SelectList8

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist8"

*** SelectList9

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist9"

*** SelectList10

String(60)

0..1

Returned when the return_fields parameter includes the value "selectlist10"

*** TagNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "tagNumber"

*** Title

String(120)

0..1

Returned when the return_fields parameter includes the value "title"

*** ToClientDate

String

0..1

Returned when the return_fields parameter includes the value "toclient"
UTC format

*** TrackingId

String

0..1

The tracking id for a document is a unique identifier for all version of a specific document.
When a document is first registered into Aconex, a unique identifier is generated
and this value is used assigned to all document revisions of that document.
One can use this tracking identifier to create a chain of documents.

*** VersionNumber

Integer

0..1

The version number of a document provides information relating to the sequence in
which the document was registered within the chain of revisions. For all documents
with the same Tracking Id, the version number will be an integer value starting from 1.
e.g. When a document is newly registered into Aconex, its version number will be 1.
When it is superseded, a new document with a version number of 2 will be created.
Both document revisions will be accessible using their respective document
Id's.

*** Vdrcode

String(50)

0..1

Returned when the return_fields parameter includes the value "vdrcode"

*** VendorDocumentNumber

String(50)

0..1

Returned when the return_fields parameter includes the value "vendordocumentnumber"

*** VendorRevision

String(15)

0..1

Returned when the return_fields parameter includes the value "vendorrev"

*** TransmittalDetails

Group

0..1

Returned when the returnTransmittalInfo parameter is set to "true"

**** ControlledDocId

String

1

 

**** CdTrackingid

String

1

 

**** SequenceNum

String

0..1

 

**** SentDate

String

0..1

 

**** RecipientOrgSnapshotTradingName

String

0..1

 

**** RecipientUserid

String

0..1

 

**** TransmittalId

String

0..1

 

**** RecvTransmittal

String

0..1

 

**** recvTransmittalNum

String

0..1

 

**** recvTransmittalUser

String

0..1

 

**** recvTransmittalDate

String

0..1

 

**** CorrNumber

String

0..1

 

**** RecipientName

String

0..1

 

**** CorrespondenceReason

String

0..1

 

 

Sample response of SelectList1 Custom Field search query

{

"searchResults": [
{
"id": 271341877549072393,
"documentNumber": "DRW-000005",
"title": "SPACE TEST1",
"documentType": "Drawing",
"comments": "",
"printSize": "50",
"filename": "sample.pdf",
"attribute1": {
"attributeType": "ATTRIBUTE1",
"attributeNames": [
"Events Centre"
]
},
"attribute2": {
"attributeType": "ATTRIBUTE2",
"attributeNames": [
"WP4.09 - Signage"
]
},
"selectList1": "GHI JKL",
},
{
"id": 271341877549072394,
"documentNumber": "MAN-000001",
"title": "SPACE TEST2",
"documentType": "Manual",
"comments": "",
"printSize": "50",
"filename": "sample.pdf",
"attribute1": {
"attributeType": "ATTRIBUTE1",
"attributeNames": [
"Events Centre"
]
},
"attribute2": {
"attributeType": "ATTRIBUTE2",
"attributeNames": [
"WP4.09 - Signage"
]
},
"selectList1": "GHI JKL",
}
],
"totalResultsCount": 2
}

 

Sample Response for Category field query :

{

    "searchResults": [
        {
            "id": 271341877549096305,
            "documentNumber": "111",
            "title": "111Test",
            "documentType": "Manual",
            "comments": "",
            "filename": "sample.pdf"
        },
        {
            "id": 271341877549084900,
            "documentNumber": "12345678999",
            "title": "LongFileNameWithoutSpace",
            "documentType": "Manual",
            "filename": "LongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongFileName.txt"
      	}
      ],
"totalResultsCount": 2
}

 

Sample Response with Transmittal Information (returnTransmittalInfo parameter set to "true")

{

    "searchResults": [
        {
            "id": 271341877549096305,
            "documentNumber": "111",
            "title": "111Test",
            "documentType": "Manual",
            "comments": "",
            "filename": "sample.pdf",
		"transmittalDetails": [
                {
                    "controlledDocId": "271341877549096305",
                    "cdTrackingid": "271341877549081493",
                    "sequenceNum": "4",
                    "sentDate": "1674633482970",
                    "recipientOrgSnapshotTradingName": "Aconex Admin",
                    "recipientUserid": "1879053353",
                    "transmittalId": "1879049144",
                    "corrNumber": "ADMIN-WTR-000001",
                    "recipientName": "Alphonso Greg",
                    "correspondenceReason": "Issued for Approval"
                }
            ]
        },
        {
            "id": 271341877549084900,
            "documentNumber": "12345678999",
            "title": "LongFileNameWithoutSpace",
            "documentType": "Manual",
            "filename": "LongFileName.txt",
		"transmittalDetails": [
                {
                    "controlledDocId": "1879093555",
                    "cdTrackingid": "1879052843",
                    "documentNo": "CMP-581-AWD-031",
                    "confidential": "0",
                    "revision": "B",
                    "title": "Compare Drawing 1",
                    "cdStatusId": "5",
                    "discipline": "Project Wide",
                    "cdDoctypeId": "1879048197",
                    "sequenceNum": "492",
                    "recvTransmittal": "1879052423",
                    "recvTransmittalNum": "APE-TRANSMIT-000007",
                    "recvTransmittalUser": "1879049199",
                    "recvTransmittalDate": "1192067670000",
                    "userId": "1879049121",
                    "registered": "1192067672000"
                }
            ]
          }
      ],
	"totalResultsCount": 2,
	"totalResultsOnCurrentPage": 2,
    "totalNumberOfPages": 1,
    "currentPageNumber": 1,
    "singlePageSize": 500
}
 
Prerequisites

 

Required Permissions

The authorizing user (specified in the request body) must have the secured asset to search registered documents.

 

Preferences/Module Setup

Not every field may be used in the specified project. It is recommended that the user retrieve the register schema beforehand to obtain the list of active fields, prior to constructing a request.

 
Constraints

The request will fail if the specified project is in any of the following states:

  • De-activated
  • Disconnected

The request will also fail if the authorizing user does not have access to the specified project.

Document metadata will not be returned if the document is both marked "Confidential" and the authorizing user is not on that document's Access List.

 
Further reading

Introductory notes about Lucene queries may be found here:

http://lucene.apache.org/core/3_5_0/queryparsersyntax.html

 
Related APIs
  • View Document Schema
  • View Document Event Log
  • List Documents
  • Download Document File

Get Saved Searches

The “Get Saved Searches” service will return the saved searches that are stored from the Document Register’s All Filter section. The service will return saved search group the saved search belongs, and the saved search filter criteria in the standard xml format that is used across the Babylon.

URL structure
HTTP GET: https://{hostname}/api/projects/{projectid}/documents/savedSearch
Parameters

Parameters

Type(maxlength)

Notes

Examples/Samples

Sample request

https://au1.aconex.com/api/projects/1879053276/documents/savedSearch 

Sample response

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<SavedSearchGroups>
    <OrgWideSavedSearchGroup>
        <Id>savedSearchesSharedGroup</Id>
        <Label>My Organization’s Searches</Label>
        <SavedSearches>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048589</Id>
                <Name>Alphabets_Selected</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>registered</sortField>
                            <sortDir>REVERSE</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Alphabets_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>C - C</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                            </projectFieldValues>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Alphabets_Selected</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048593</Id>
                <Name>attribute_ss</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Mechanical & Electrical</string>
                                    <string>package</string>
                                    <string>Reference</string>
                                </a>
                            </attributeList>
                            <secondaryAttributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Center</string>
                                    <string>Left</string>
                                    <string>Right</string>
                                </a>
                            </secondaryAttributeList>
                            <attribute3List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Fall</string>
                                    <string>Winter</string>
                                </a>
                            </attribute3List>
                            <attribute4List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Orange</string>
                                    <string>White</string>
                                </a>
                            </attribute4List>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>attribute_ss</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048599</Id>
                <Name>Date_Filter</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <attribute3List class="empty-list"/>
                            <attribute4List class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <forReviewDateFrom>2022-08-19 14:00:00.0 UTC</forReviewDateFrom>
                            <forReviewDateQualifier>ON</forReviewDateQualifier>
                            <reviewedDateFrom>2022-08-01 14:00:00.0 UTC</reviewedDateFrom>
                            <reviewedDateTo>2022-08-09 14:00:00.0 UTC</reviewedDateTo>
                            <reviewedDateQualifier>BETWEEN</reviewedDateQualifier>
                            <uploadedFrom>2022-08-15 14:00:00.0 UTC</uploadedFrom>
                            <uploadedQualifier>ON</uploadedQualifier>
                            <approvedDate1>2022-08-07 14:00:00.0 UTC</approvedDate1>
                            <approvedQualifier>AFTER</approvedQualifier>
                            <toClientDate1>2022-08-10 14:00:00.0 UTC</toClientDate1>
                            <toClientQualifier>BEFORE</toClientQualifier>
                            <lastMarkupDate1>2022-08-17 14:00:00.0 UTC</lastMarkupDate1>
                            <lastMarkupDateQualifier>ON</lastMarkupDateQualifier>
                            <markupDate1>2022-08-17 14:00:00.0 UTC</markupDate1>
                            <markupDateQualifier>ON</markupDateQualifier>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <reference></reference>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorRev</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorDocumentNumber</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorDocumentNumber</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList3</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList2</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList1</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorRev</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList9</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList8</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList7</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList6</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList5</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList10</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList4</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues>
                                <entry>
                                    <string>date2</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2100-12-30 13:00:00.0 UTC</endDate>
                                            <startDate>1799-12-31 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                                <entry>
                                    <string>date1</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2100-12-30 13:00:00.0 UTC</endDate>
                                            <startDate>1799-12-31 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                        <dateRangeQualifier>TOMORROW</dateRangeQualifier>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                            </genericDateValues>
                            <projectFieldValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Date_Filter</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048597</Id>
                <Name>FFList_Filter</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Mechanical & Electrical</string>
                                </a>
                            </attributeList>
                            <secondaryAttributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Center</string>
                                </a>
                            </secondaryAttributeList>
                            <attribute3List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Fall</string>
                                </a>
                            </attribute3List>
                            <attribute4List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Orange</string>
                                </a>
                            </attribute4List>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <revisionDateQualifier>LAST7DAYS</revisionDateQualifier>
                            <forReviewDateQualifier>LAST90DAYS</forReviewDateQualifier>
                            <reviewedDateQualifier>YESTERDAY</reviewedDateQualifier>
                            <uploadedQualifier>LAST90DAYS</uploadedQualifier>
                            <approvedQualifier>LAST90DAYS</approvedQualifier>
                            <receivedQualifier>LAST90DAYS</receivedQualifier>
                            <toClientQualifier>LAST7DAYS</toClientQualifier>
                            <lastMarkupDateQualifier>LAST7DAYS</lastMarkupDateQualifier>
                            <markupDateQualifier>NEXT30DAYS</markupDateQualifier>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="list">
                                <long>0</long>
                            </reviewStatus>
                            <author>Poleary</author>
                            <reference>MyReference</reference>
                            <revision>A</revision>
                            <discipline>Administration</discipline>
                            <docStatusId>1879053198</docStatusId>
                            <documentNo>ACX_857685</documentNo>
                            <title>Test title test</title>
                            <docTypeId>1207959628</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorRev</keyName>
                                    <value>465656556</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList7</keyName>
                                    <value>Code`</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorDocumentNumber</keyName>
                                    <value>VendorDOc938493843</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorRev</keyName>
                                    <value>VR94896587</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList3</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value>Code2</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList2</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractNumber</keyName>
                                    <value>ACX5685896859</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList1</keyName>
                                    <value>Code2</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList6</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList5</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList4</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList10</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorDocumentNumber</keyName>
                                    <value>476857685</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList9</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList8</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>packageNumber</keyName>
                                    <value>PKG12121</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues>
                                <entry>
                                    <string>date2</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2100-12-30 13:00:00.0 UTC</endDate>
                                            <startDate>1799-12-31 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                        <dateRangeQualifier>LAST90DAYS</dateRangeQualifier>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                                <entry>
                                    <string>date1</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2100-12-30 13:00:00.0 UTC</endDate>
                                            <startDate>1799-12-31 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                        <dateRangeQualifier>LAST90DAYS</dateRangeQualifier>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                            </genericDateValues>
                            <projectFieldValues>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Country_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>Australia</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>CountryCodes_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>IND – India</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>OriginatorOrganization_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>DDE – Test 3</string>
                                        <string>MLM – Test 5</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>State_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>Queensland</string>
                                        <string>Georgia</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Testss1_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>I</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Usertest_user</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string> Anand KR</string>
                                        <string>Professor Patrick O'leary</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.DateRangeSearchCriteriaProperty>
                                    <name>Effectivedate_date</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <date1>2022-08-17 14:00:00.0 UTC</date1>
                                        <qualifier>BEFORE</qualifier>
                                    </value>
                                </com.aconex.search.bean.DateRangeSearchCriteriaProperty>
                            </projectFieldValues>
                            <vdrCodeList>
                                <string>Code1</string>
                                <string>Code2</string>
                            </vdrCodeList>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>FFList_Filter</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048596</Id>
                <Name>Full_Filter</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <attribute3List class="empty-list"/>
                            <attribute4List class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>City_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>Atlanta</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Country_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>USA</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>CountryCodes_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>SLK - Srilanka</string>
                                        <string>UAE – Emirates</string>
                                        <string>USA - United States</string>
                                        <string>IND – India</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>State_singleSelect</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string>Georgia</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                    <name>Usertest_user</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <string> Anand KR</string>
                                    </value>
                                </com.aconex.search.bean.MultiValueSearchCriteriaProperty>
                                <com.aconex.search.bean.DateRangeSearchCriteriaProperty>
                                    <name>Effectivedate_date</name>
                                    <isExactMatch>false</isExactMatch>
                                    <value>
                                        <qualifier>LAST90DAYS</qualifier>
                                    </value>
                                </com.aconex.search.bean.DateRangeSearchCriteriaProperty>
                            </projectFieldValues>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Full_Filter</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048594</Id>
                <Name>test111</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>ja_JP</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <attribute3List class="empty-list"/>
                            <attribute4List class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadedQualifier>ON</uploadedQualifier>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>test111</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048595</Id>
                <Name>test112</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <attribute3List class="empty-list"/>
                            <attribute4List class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadedQualifier>LAST90DAYS</uploadedQualifier>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>0</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>test112</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>true</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
        </SavedSearches>
        <Type>1</Type>
    </OrgWideSavedSearchGroup>
    <ProjectWideSavedSearchGroup>
        <Id>savedSearchesProjectWideGroup</Id>
        <Label>My Project's Searches</Label>
        <SavedSearches/>
        <Type>1</Type>
    </ProjectWideSavedSearchGroup>
    <StandardSavedSearchGroup>
        <Id>savedSearchesCommonGroup</Id>
        <Label>Standard Searches</Label>
        <SavedSearches>
            <SavedSearch>
                <CanEdit>false</CanEdit>
                <CanShare>false</CanShare>
                <CanShareProjectWide>false</CanShareProjectWide>
                <Id>1</Id>
                <Name>Approved</Name>
                <OrganizationID>-1</OrganizationID>
                <OwnedByUser>false</OwnedByUser>
                <ProjectID>-1</ProjectID>
                <ProjectOwningOrg>false</ProjectOwningOrg>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <maxResults>2147483647</maxResults>
                            <savedSearchVersion>5</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <docStatusId>1</docStatusId>
                            <docTypeId>-1</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues/>
                            <genericDateValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Doc.SavedSearch.Approved</name>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>false</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>-1</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>false</CanEdit>
                <CanShare>false</CanShare>
                <CanShareProjectWide>false</CanShareProjectWide>
                <Id>2</Id>
                <Name>Issued for approval</Name>
                <OrganizationID>-1</OrganizationID>
                <OwnedByUser>false</OwnedByUser>
                <ProjectID>-1</ProjectID>
                <ProjectOwningOrg>false</ProjectOwningOrg>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <maxResults>2147483647</maxResults>
                            <savedSearchVersion>5</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <docStatusId>5</docStatusId>
                            <docTypeId>-1</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues/>
                            <genericDateValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Doc.SavedSearch.IssuedForApproval</name>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>false</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>-1</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>false</CanEdit>
                <CanShare>false</CanShare>
                <CanShareProjectWide>false</CanShareProjectWide>
                <Id>3</Id>
                <Name>Drawings modified today</Name>
                <OrganizationID>-1</OrganizationID>
                <OwnedByUser>false</OwnedByUser>
                <ProjectID>-1</ProjectID>
                <ProjectOwningOrg>false</ProjectOwningOrg>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <maxResults>2147483647</maxResults>
                            <savedSearchVersion>5</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <docStatusId>-1</docStatusId>
                            <docTypeId>5</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues/>
                            <genericDateValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Doc.SavedSearch.DrawingsModifiedToday</name>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>false</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>-1</UserID>
            </SavedSearch>
            <SavedSearch>
                <CanEdit>false</CanEdit>
                <CanShare>false</CanShare>
                <CanShareProjectWide>false</CanShareProjectWide>
                <Id>4</Id>
                <Name>Temporary files uploaded by me today</Name>
                <OrganizationID>-1</OrganizationID>
                <OwnedByUser>false</OwnedByUser>
                <ProjectID>-1</ProjectID>
                <ProjectOwningOrg>false</ProjectOwningOrg>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <sortField>docno</sortField>
                            <sortDir>NORMAL</sortDir>
                            <maxResults>2147483647</maxResults>
                            <savedSearchVersion>5</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <registered>false</registered>
                            <docRegistered>UNREGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>0</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <uploadDateQualifier>TODAY</uploadDateQualifier>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>true</uploadedByMeOnly>
                            <docStatusId>-1</docStatusId>
                            <docTypeId>-1</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues/>
                            <genericDateValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Doc.SavedSearch.TemporaryFilesUploadedByMeToday</name>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>false</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>-1</UserID>
            </SavedSearch>
        </SavedSearches>
        <Type>2</Type>
    </StandardSavedSearchGroup>
    <UserSavedSearchGroup>
        <Id>mySavedSearchesGroup</Id>
        <Label>My Searches</Label>
        <SavedSearches>
            <SavedSearch>
                <CanEdit>true</CanEdit>
                <CanShare>true</CanShare>
                <CanShareProjectWide>true</CanShareProjectWide>
                <Description></Description>
                <Id>1879048588</Id>
                <Name>Status_Approved</Name>
                <OrganizationID>1879053196</OrganizationID>
                <OwnedByUser>true</OwnedByUser>
                <ProjectID>1879053276</ProjectID>
                <ProjectOwningOrg>true</ProjectOwningOrg>
                <PublishedBy>P O'leary</PublishedBy>
                <SearchXmlString>
                    <com.aconex.search.bean.SavedSearchObject>
                        <columnModel class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel">
                            <selectedColumnIdMap class="enum-map" enum-type="com.aconex.search.utils.SearchColumnManager$GroupId">
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>docno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>Usertest_user</string>
                                        <string>Effectivedate_date</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>registered</string>
                                        <string>revisiondate</string>
                                        <string>link</string>
                                        <string>doctype</string>
                                        <string>size</string>
                                        <string>lock</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list>
                                        <string>filetype</string>
                                        <string>candidateno</string>
                                        <string>title</string>
                                        <string>revision</string>
                                        <string>docstatus</string>
                                        <string>discipline</string>
                                        <string>author</string>
                                        <string>revisiondate</string>
                                        <string>doctype</string>
                                        <string>filename</string>
                                        <string>size</string>
                                        <string>uploaddate</string>
                                    </list>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Asset_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Issue_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Defect_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Item_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Registered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                                <entry>
                                    <com.aconex.search.utils.SearchColumnManager_-GroupId>Interface_Unregistered</com.aconex.search.utils.SearchColumnManager_-GroupId>
                                    <list/>
                                </entry>
                            </selectedColumnIdMap>
                            <colManager class="com.aconex.screenmodel.SearchColumnModel$1">
                                <outer-class class="com.aconex.doccontrol.screenmodel.CDocSearchColumnModel" reference="../.."/>
                            </colManager>
                            <savedSearchVersion>3</savedSearchVersion>
                        </columnModel>
                        <searchQuery class="com.aconex.search.bean.CDocSearchQuery">
                            <pageNo>1</pageNo>
                            <pageSize>25</pageSize>
                            <userId>1879053207</userId>
                            <projectIds class="singleton-list">
                                <long>1879053276</long>
                            </projectIds>
                            <orgId>1879053196</orgId>
                            <sortField>registered</sortField>
                            <sortDir>REVERSE</sortDir>
                            <additionalReturnField class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
                                <c class="list"/>
                                <list reference="../c"/>
                            </additionalReturnField>
                            <sortLocale>en_AU</sortLocale>
                            <maxResults>2147483647</maxResults>
                            <rawQueryText></rawQueryText>
                            <savedSearchVersion>6</savedSearchVersion>
                            <exactDiscipline>true</exactDiscipline>
                            <exactAttribute>true</exactAttribute>
                            <attributeList class="empty-list"/>
                            <secondaryAttributeList class="empty-list"/>
                            <registered>true</registered>
                            <docRegistered>REGISTERED</docRegistered>
                            <searchDocContent>false</searchDocContent>
                            <currentVersion>1</currentVersion>
                            <supersedeCandidate>false</supersedeCandidate>
                            <folderPath></folderPath>
                            <uploadedBy>0</uploadedBy>
                            <uploadedByMeOnly>false</uploadedByMeOnly>
                            <reviewStatus class="empty-list"/>
                            <author></author>
                            <revision></revision>
                            <discipline></discipline>
                            <docStatusId>1879053198</docStatusId>
                            <documentNo></documentNo>
                            <title></title>
                            <docTypeId>0</docTypeId>
                            <drawingTab>false</drawingTab>
                            <genericValues>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                                <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vdrcode</keyName>
                                    <value></value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
                            </genericValues>
                            <genericDateValues/>
                            <projectFieldValues/>
                            <showAllRenditions>false</showAllRenditions>
                            <searchMode>1</searchMode>
                        </searchQuery>
                        <name>Status_Approved</name>
                        <description></description>
                        <savedSearchVersion>0</savedSearchVersion>
                    </com.aconex.search.bean.SavedSearchObject>
                </SearchXmlString>
                <Selected>false</Selected>
                <Shared>false</Shared>
                <SharedProjectWide>false</SharedProjectWide>
                <UserID>1879053207</UserID>
            </SavedSearch>
        </SavedSearches>
        <Type>1</Type>
    </UserSavedSearchGroup>
</SavedSearchGroups> 

 

Response Fields

Cardinality refers to the number of repetitions a field can have. A cardinality that allows zero (0) means the field is optional, and may not appear in the response.

The number of *'s indicate the parent-child depth.

 

Element

Type(maxlength)

Cardinality

Notes

SavedSearchGroups

 

Group

1

 

OrgWideSavedSearchGroup

 

Group

1

 

*Id

 

String

1

Unique string representing group value

*Label

 

String

1

Locale based value that explains the group it belongs to

*SavedSearches

 

Group

1

 

**SavedSearch

 

Group

0..n

 

***CanEdit

Boolean

1

Logged in user has edit access

***CanShare

 

Boolean

1

Logged in user has share access

***CanShareProjectWide

 

Boolean

1

Logged in user has share access across project

***Description

 

String

1

 

***Id

 

String

1

Unique id value of the stored saved search

***Name

 

String

1

Name given to a saved search while saving

***OrganizationID

 

String

1

Org id of the saved search

***OwnedByUser

 

String

1

Logged in user is the owner

***ProjectID

 

String

1

ProjectId of the saved search

***ProjectOwningOrg

 

Boolean

1

Supplied projectId’s belongs to org

***PublishedBy

 

String

1

 

***SearchXmlString

 

String

1

XML Filter criteria string in the standard format which is used across babylon while storing, and accessing saved searches

ProjectWideSavedSearchGroup

 

 

Group

1

Group will contain elements same as OrgWide group mentioned above

StandardSavedSearchGroup

 

 

Group

1

Group will contain elements same as OrgWide group mentioned above

UserSavedSearchGroup

 

 

Group

1

Group will contain elements same as OrgWide group mentioned above

 

Filter Criteria String mapping with Search Schema Attributes

  Identifier Mapping Fields
1 docno <documentNo>ACX_857685</documentNo>
2 title <title>Test title test</title>
3 revision <revision>A</revision>
4 approved approvedQualifier
5 authorisedBy <author>Poleary</author>
6 doctype <docTypeId>1207959628</docTypeId>
7 statusid <docStatusId>1879053198</docStatusId>
8 discipline <discipline>Administration</discipline>
9 forreview forReviewDateQualifier
10 reference <reference></reference>
11 author <author></author>
12 reviewed reviewedDateQualifier
13 revisiondate <revisionDateQualifier>LAST7DAYS</revisionDateQualifier>
14 attribute1 <attributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Mechanical &amp; Electrical</string>
                                </a>
                            </attributeList>
15 attribute2 <secondaryAttributeList class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Center</string>
                                </a>
                            </secondaryAttributeList>
16 attribute3 <attribute3List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Fall</string>
                                </a>
                            </attribute3List>
17 attribute4 <attribute4List class="java.util.Arrays$ArrayList">
                                <a class="string-array">
                                    <string>Orange</string>
                                </a>
                            </attribute4List>
18 uploaddate uploadedQualifier
19 uploadedby <uploadedBy>0</uploadedBy>
20 reviewstatus <reviewStatus class="list">
                                <long>0</long>
                            </reviewStatus>
21 vendorrev <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorRev</keyName>
                                    <value>VR94896587</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
22 contractordocumentnumber <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorDocumentNumber</keyName>
                                    <value>476857685</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
23 selectList1 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList1</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
24 selectList2 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList2</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
25 selectList3 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList3</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
26 selectList4 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList4</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
27 selectList5 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList5</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
28 selectList6 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList6</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
29 selectList7 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList7</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
30 selectList8 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList8</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
31 selectList9 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList9</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
32 selectList10 <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>selectList10</keyName>
                                    <value>Code1</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
33 markupdate markupDateQualifier
34 markupLastModifiedDate lastMarkupDateQualifier
35 packagenumber <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>packageNumber</keyName>
                                    <value>PKG12121</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
36 date1 <genericDateValues>
                           <entry>
                                    <string>date1</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2022-08-22 14:00:00.0 UTC</endDate>
                                            <startDate>2022-07-31 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                        <dateRangeQualifier>BETWEEN</dateRangeQualifier>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                            </genericDateValues>
37 date2 <genericDateValues>
                                <entry>
                                    <string>date2</string>
                                    <com.aconex.daterangepicker.DateRangeSearch>
                                        <dateRange>
                                            <endDate>2022-08-15 14:00:00.0 UTC</endDate>
                                            <startDate>2022-08-14 14:00:00.0 UTC</startDate>
                                        </dateRange>
                                        <dateRangeQualifier>BETWEEN</dateRangeQualifier>
                                    </com.aconex.daterangepicker.DateRangeSearch>
                                </entry>
                            </genericDateValues>
38 contractorrev <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractorRev</keyName>
                                    <value>465656556</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
39 vendordocumentnumber  <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>vendorDocumentNumber</keyName>
                                    <value>VendorDOc938493843</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
40 category <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>category</keyName>
                                    <value>Code2</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
41 contractnumber <com.aconex.doccontrol.bean.DocGenericValue>
                                    <keyName>contractNumber</keyName>
                                    <value>ACX5685896859</value>
                                </com.aconex.doccontrol.bean.DocGenericValue>
42 vdrcode <vdrCodeList>
                                <string>Code1</string>
                                <string>Code2</string>
                                <string>Code3</string>
                            </vdrCodeList>

 

 

Error Codes specific to the service

Status Code

Description

HTTP Status Code

Prerequisites
Constraints

The request will fail if:

The specified Project or Organization is in any of the following states:

  • De-activated
  • Disconnected

The authorizing user does not have access to the specified project.

Related APIs
  • Mail Last Updated