Folder are used to store attachments for easy grouping. For example, you can create an attachment folder for a project and store every supporting document for the project in that folder.
Attachment folders can be nested. The folder hierarchy can be as broad or deep as needed.
Returns up to 100 folders from the collection with a key, ID, and link for each folder. This operation is mostly for use in testing; use the query service to find folders that meet certain criteria and specify the properties that are returned.
Subscription | Company |
---|---|
User type | Business, Employee, Project Manager, and Warehouse |
Permissions | List Attachment Folders |
OK
Bad Request
{- "ia::result": [
- {
- "key": "1",
- "id": "Bills",
- "href": "/objects/company-config/folder/1"
}, - {
- "key": "2",
- "id": "Credits",
- "href": "/objects/company-config/folder/2"
}
], - "ia::meta": {
- "totalCount": 2,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}
Creates a new folder for attachments.
Subscription | Company |
---|---|
User type | Business |
Permissions | Add Attachment Folders |
Folder to create
id required | string Unique name for the folder. Cannot be changed after the folder is created. Example: "2022 Tax forms" | ||||
description | string Description of the folder Example: "2022 tax forms" | ||||
object Parent folder, for folder hierarchies. | |||||
| |||||
object | |||||
| |||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
Created
Bad Request
{- "id": "2022 Bills",
- "description": "Annual bills folder",
- "status": "active"
}
{- "ia::result": {
- "key": "28",
- "id": "2022 Bills",
- "href": "/objects/company-config/folder/28"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified folder.
Subscription | Company |
---|---|
User type | Business, Employee, Project Manager, and Warehouse |
Permissions | View Attachment Folders |
key required | string System-assigned key for the attachment folder. Example: 28 |
OK
Bad Request
{- "ia::result": {
- "key": "28",
- "id": "2022 Bills",
- "parent": {
- "id": "Bills",
- "key": "2",
- "href": "/objects/company-config/folder/2"
}, - "description": "Annual bills folder",
- "audit": {
- "createdDate": "2023-04-01",
- "createdBy": "Admin",
- "modifiedBy": "Admin",
- "modifiedDate": "2023-04-01"
}, - "status": "active",
- "href": "/objects/company-config/folder/28"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing folder by setting field values. Any fields not provided remain unchanged.
Subscription | Company |
---|---|
User type | Business |
Permissions | Edit Attachment Folders |
key required | string System-assigned key for the attachment folder. Example: 28 |
description | string Description of the folder Example: "2022 tax forms" | ||||
object Parent folder, for folder hierarchies. | |||||
| |||||
object | |||||
| |||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
OK
Bad Request
{- "description": "2022 bills and dunning notices"
}
{- "ia::result": {
- "key": "1",
- "id": "Bills",
- "href": "/objects/company-config/folder/1"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a folder and all of its subfolders and attachments. You must first remove the attachments from any records or transactions.
Subscription | Company |
---|---|
User type | Business |
Permissions | Delete Attachment Folders |
key required | string System-assigned key for the attachment folder. Example: 28 |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "Payload contains errors",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "errorId": "REST-1064",
- "additionalInfo": {
- "messageId": "IA.PAYLOAD_CONTAINS_ERRORS",
- "placeholders": { },
- "propertySet": { }
}, - "details": [
- {
- "code": "invalidRequest",
- "message": "/testDate is not a valid field",
- "errorId": "REST-1043",
- "target": "/testDate",
- "additionalInfo": {
- "messageId": "IA.NOT_A_VALID_FIELD",
- "placeholders": {
- "FIELD": "/testDate"
}, - "propertySet": { }
}
}
]
}, - "ia::meta": {
- "totalCount": 3,
- "totalSuccess": 2,
- "totalError": 1
}
}, - "ia::error": {
- "code": "invalidRequest",
- "message": "Malformed URL",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "details": [
- {
- "code": "invalidRequest",
- "message": "The content type is not valid",
- "correction": "TODO"
}
]
}
}
Queries an object for filtered data.
object | string Object type to query, in the form Example: "company-config/folder" | ||||||||
fields | Array of strings List of fields to include in the response. Can be any combination of these:
Example: ["key","id","max:vendor.creditLimit"] | ||||||||
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object) Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}] | |||||||||
Array Any of: Field value must be equal to this specified value. For date fields, you can use these macro values that are relative to the current date or the
These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the For example,
| |||||||||
filterExpression | string Default: "and" Logical operators to apply when there are multiple filter conditions. The conditions in the Shortcuts:
Example: "(1 and 2) or 3" | ||||||||
| |||||||||
Array of objects Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order. Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}] | |||||||||
Array
| |||||||||
start | integer First record of the result set to include in the response. Example: 1 | ||||||||
size | integer Number of records to include in the response. Example: 100 |
OK
Bad Request
{- "object": "company-config/folder",
- "filters": [
- {
- "$eq": {
- "parent.key": "1"
}
}
], - "fields": [
- "key",
- "id",
- "parent.key",
- "status",
- "href"
], - "orderBy": [
- {
- "id": "asc"
}
]
}
{- "ia::result": [
- {
- "key": "2",
- "id": "Invoice Docs",
- "parent.key": "1",
- "status": "active",
- "href": "/objects/company-config/folder/2"
}, - {
- "key": "1",
- "id": "Recurring Transactions",
- "parent.key": "1",
- "status": "active",
- "href": "/objects/company-config/folder/1"
}, - {
- "key": "9",
- "id": "SW",
- "parent.key": "1",
- "status": "active",
- "href": "/objects/company-config/folder/9"
}
], - "ia::meta": {
- "totalCount": 3,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}