Skip to content

File ​

Upload files (base64) and attach/detach them to records

INFO

Каждый ответ приходит в общем конверте — code, message, messages, status_code, time — а полезная нагрузка лежит в data. Таблицы ниже описывают содержимое data.

POST /file/upload ​

Upload a file as base64. Stores it in object storage and returns the storage key (a string in data). Use that key as the file field (e.g. path, image) when creating/updating a record, or pass it to /file/attach. base64-only — no remote URL fetching (no SSRF).

Тело запроса

ПолеТипОбязательноОписание
filenamestringДаOriginal file name including extension. The extension is used to derive the storage key and (if mimetype is omitted) the content type.
content_base64stringДаFile bytes encoded as base64 (no data: URI prefix). Max ~20MB after decoding. base64-only by design — the API never fetches a remote URL, so there is no SSRF surface.
mimetypestringНетOptional MIME type. If omitted it is inferred from the filename extension, falling back to application/octet-stream.
json
{
  "filename": "receipt.pdf",
  "content_base64": "JVBERi0xLjQKJeLjz9MK...",
  "mimetype": "application/pdf"
}

Ответ

json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": "/uploads/665f.../integration/file-abc123.pdf",
  "time": "2025-05-01T12:00:00Z"
}

POST /file/attach ​

Attach an already-uploaded file (its storage key) to an existing record. Body: path (the key) plus exactly one entity FK id (e.g. transaction_id, invoice_id). The referenced record must exist and the file must already be uploaded.

Тело запроса

ПолеТипОбязательноОписание
pathstringДаStorage key returned by /file/upload.
typestringНетOptional. Inferred from the file extension when omitted.. Допустимые значения: image, video, audio, file
namestringНетOptional display name.
notestringНетOptional note.
transaction_idstringНетAttach to a finance transaction.
invoice_idstringНетAttach to an invoice.
category_idstringНетAttach to a product category.
task_idstringНетAttach to a task.
purchase_idstringНетAttach to a purchase.
supplier_idstringНетAttach to a supplier.
json
{
  "path": "/uploads/665f.../integration/file-abc123.pdf",
  "type": "image",
  "name": "string",
  "note": "string",
  "transaction_id": "string",
  "invoice_id": "string",
  "category_id": "string",
  "task_id": "string",
  "purchase_id": "string",
  "supplier_id": "string"
}

Ответ

ПолеТипОписание
_idstring
pathstring
typestring
sizenumber
json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": {
    "_id": "string",
    "path": "string",
    "type": "string",
    "size": 0
  },
  "time": "2025-05-01T12:00:00Z"
}

DELETE /file/attach/{id} ​

Soft-delete an attachment by its ObjectId (detach a file from a record). Returns the deleted attachment id.

Параметры пути

ПараметрТипОбязательноОписание
idstringДаAttachment ObjectId to detach

Тело запроса

Тело запроса не требуется.

Ответ

json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": "string",
  "time": "2025-05-01T12:00:00Z"
}

Эта страница сгенерирована из спецификации OpenAPI.

Bito 2.0 Integration API