Register Attachment

Prev Next
Post
/public/v1/accounting/accounts-payable/attachments

Step 3 of 3. Links a file already uploaded to Amazon S3 in step 2 to an existing AP transaction.

Attachments must be enabled for the organization; if they are not, this endpoint returns 403.

Attaching a file to an existing AP transaction takes three calls. Only the first and third are Restaurant365 endpoints; the second is a direct upload to Amazon S3 using a URL the first call returns.

  1. Generate Upload URL — POST /public/v1/accounting/accounts-payable/attachments/upload-url

  2. Upload File to S3 — upload the file from your device to the returned URL

  3. Register Attachment — POST /public/v1/accounting/accounts-payable/attachments

Supported AP transaction types are invoices, credit memos and payments. The transaction must already exist; attaching a file is a separate operation from creating the transaction.

Security
HTTP
Type Bearer
Header parameters
x-r365-context-tenant-id
stringRequired

Identifies the R365 tenant the request applies to. Required on every request.

Body parameters
object
formId
string (uuid) Required

The identifier of the existing AP transaction to attach the file to. This endpoint is not scoped by URL path — the transaction is identified by this field, and its type by formName.

formName
string Required

The type of AP transaction being attached to.

Valid values[ "APInvoiceForm", "APCreditMemoForm", "APPaymentForm" ]
newFileName
string Required

The storage file name returned by step 1. Must be the value from that response, not your original file name.

fileName
string Required

The original file name, including extension, as it should be displayed to users in Restaurant365.

fileType
string Required

The MIME content type of the uploaded file. Use the same value sent in step 1.

Valid values[ "application/pdf", "image/jpeg", "image/jpg", "image/jpe", "image/png", "image/tiff", "image/tif", "image/heic", "image/bmp", "image/gif", "image/x-jp2", "image/svg+xml", "text/csv", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ]
uploadType
string Required

The kind of upload.

Valid values[ "attachment" ]
userId
string (uuid) Required

The identifier of the user the attachment is recorded against.

sourceType
string | null

Optional source or origin of the upload.

Responses
200

The attachment was registered successfully.

object
id
integer (int32)

The identifier of the newly registered attachment.

name
string | null

The name of the attachment, if set.

400

Bad Request — a parameter value is malformed, of the wrong type, or outside its allowed range.

401

Unauthorized — the bearer token is missing, invalid or expired, or is not valid for the specified tenant.

403

Forbidden — the caller lacks the permission required for this operation, or attachments are not enabled for this organization.

404

Not Found — no AP transaction exists with the specified formId, or it is not of the type given by formName.

409

Conflict — the request conflicts with the current state of the resource and cannot be applied.

422

Unprocessable Entity — a required parameter is missing, or a supplied parameter value is invalid.

429

Too Many Requests — the caller has exceeded the rate limit; retry after a short delay.

500

Internal Server Error — an unexpected error occurred while processing the request.