The Attachment object
A Rutter Bill Attachment represents a file that can be attached to a bill. In general we provide attachments data only for attachments that have been created through our POST endpoint. However, there are some platform specific differences.
Platform Differences
Xero:
- We provide historical attachments that were created outside of our API.
Properties
id
stringThe Rutter generated unique ID of the attachment.
platform_id
stringThe platform specific ID of the attachment.
attached_to_id
stringnullableThe Rutter ID of the entity linked to the attachment.
file_name
stringThe file name of the attachment.
file_url
stringThe Rutter generated URL containing a downloadable version of the attachment.
attached_to_type
stringnullableThe type of entity linked to the attachment.
created_at
stringThe ISO 8601 timestamp that the attachment was created.
{
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"attached_to_id": "00000000-0000-0000-0000-000000000000",
"file_name": "receipt.jpg",
"file_url": "https://rutteraccountingattachments.s3.amazonaws.com/00000000-0000-0000-0000-000000000000-receipt.jpg",
"attached_to_type": "EXPENSE",
"created_at": "2023-01-02T02:34:56.000Z"
}
List Bill Attachments
GET /accounting/bills/attachmentsRequest Parameters
access_token
stringqueryThe access token of the connection.
attached_to_id
stringoptionalqueryThe ID of the entity that the attachment is attached to.
cursor
stringoptionalqueryThe cursor to use for pagination. This value is passed in from next_cursor
field in a previous request.
expand
enumoptionalqueryUsed to request inclusion of optional objects.
force_fetch
enumoptionalqueryForce a response even if the underlying connection hasn't finished the initial sync.
limit
integeroptionalqueryThe limit on the number of entities returned.
updated_at_max
integeroptionalqueryUnix Timestamp in milliseconds representing the maximum updated_at datetime to fetch entities from.
updated_at_min
integeroptionalqueryUnix Timestamp in milliseconds representing the minimum updated_at datetime to fetch entities from.
Response Body
attachments
arrayattachments
attributesnext_cursor
stringnullable{
"attachments": [
{
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"attached_to_id": "00000000-0000-0000-0000-000000000000",
"file_name": "receipt.jpg",
"file_url": "https://rutteraccountingattachments.s3.amazonaws.com/00000000-0000-0000-0000-000000000000-receipt.jpg",
"attached_to_type": "EXPENSE",
"created_at": "2023-01-02T02:34:56.000Z"
}
],
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU="
}
Fetch a Bill Attachment
GET /accounting/bills/attachments/:idRequest Parameters
id
stringpathThe Rutter generated unique ID of the attachment.
access_token
stringqueryThe access token of the connection.
force_fetch
enumoptionalqueryForce a response even if the underlying connection hasn't finished the initial sync.
Response Body
attachment
objectattachment
attributesCreate a Bill Attachment
POST /accounting/bills/:id/attachmentsFor this endpoint, the request body is not application/json, it is multipart/form-data.
Request Parameters
id
stringpathThe Rutter generated unique ID of the underlying entity type.
access_token
stringqueryThe access token of the connection.
Request Body
file
stringThe file content (PDF, JPG, CSV, TXT, etc).
file_name
stringThe file name of the attachment.
Response Body
Any of:
attachment
objectattachment
attributesasync_response
objectoptionalasync_response
attributeserrors
arrayoptionalerrors
attributes{
"file": "multipart/form-data",
"file_name": "T-shirt Receipt"
}
{
"attachment": {
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"attached_to_id": "00000000-0000-0000-0000-000000000000",
"file_name": "receipt.jpg",
"file_url": "https://rutteraccountingattachments.s3.amazonaws.com/00000000-0000-0000-0000-000000000000-receipt.jpg",
"attached_to_type": "EXPENSE",
"created_at": "2023-01-02T02:34:56.000Z"
}
}