Knowledge hubs

Attach a document to one of the hub's notes

Attaches a document to one of the hub's notes; note ids come from notes[].id in the hub detail. Send the file as padded base64 in fileBase64, up to 10,485,760 characters (about 7.5 MB of file data); allowed types are PDF, plain text, CSV, Word (.doc and .docx) and RTF. The file is stored for download only — it is not parsed into the hub's knowledge, so put the text you want the hub to learn in the note's own text. A note holds one attachment: a second upload answers 409 ATTACHMENT_ALREADY_EXISTS, and there is no replace endpoint. The response does not include a download URL; fetch one with GET /business/knowledge-hubs/{hubId}/attachments/{noteId}. The hub's owner can upload, and so can anyone on the team when it is the team's shared hub, but not while the hub is processing.

Errors:

  • 404 KNOWLEDGE_HUB_NOT_FOUND — No hub with that id, it was deleted, or it belongs to another team.
  • 404 NOTE_NOT_FOUND — No note with that id on this hub.
  • 409 ATTACHMENT_ALREADY_EXISTS — The note already holds a document; delete the note's attachment first.
  • 409 KNOWLEDGE_HUB_NOT_READY — The hub is processing a build, update or refresh.
  • 403 KNOWLEDGE_HUB_OWNER_ONLY — You can read this teammate's hub, but it is not your team's shared hub, so only its owner can upload attachments.
  • 422 VALIDATION_FAILED — Malformed base64, a file over the size cap, an unsupported contentType, or a missing field.
  • 500 UNEXPECTED_ERROR — The file could not be stored; retry.
  • 429 RATE_LIMITED — More than 30 knowledge-hub/campaign requests in a minute (or 1000 in a day). Knowledge hubs share the campaigns bucket.

Requires one of the following token scopes: campaigns.

post/business/knowledge-hubs/{hubId}/attachments

Request

  • Base URL: https://api.tryfuse.ai/api/v1
  • URL: https://api.tryfuse.ai/api/v1/business/knowledge-hubs/{hubId}/attachments
  • Auth: HTTP basic

Path parameters

hubIdstring required

24-character hex id of the knowledge hub (from GET /business/knowledge-hubs).

Request body

noteIdstring required

24-character hex id of the note to attach the document to; a note holds at most one attachment.

fileBase64string required

Accepted values: standard base64 with padding — alphabet A-Z a-z 0-9 + / and a length that is a multiple of 4. A URL-safe (-_) string, an unpadded one, or one that still carries a data:...;base64, prefix answers 422 VALIDATION_FAILED. The whole JSON request body is capped at 10 MB, which puts the real ceiling at roughly 7.5 MB of file data (base64 is a third larger than the file it encodes). The bytes are stored and handed back by the download endpoint unchanged: nothing reads, extracts or indexes them, so an attachment on its own adds no knowledge to the hub — only the note's text does.

filenamestring required

File name stored with the attachment and returned by the download endpoint (1-255 characters). Free text: it is stored verbatim, never parsed, and never checked against contentType or against the note's own filename label — an extension that contradicts contentType is accepted and changes nothing. Give it the real extension anyway, since it is the name whoever opens the download sees.

contentType'application/pdf' | 'text/plain' | 'text/csv' | 'application/msword' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' | 'application/rtf' required

MIME type of the file: PDF, plain text, CSV, Word (.doc or .docx) or RTF.

Response

Success

Changes

No recorded changes to this operation across all 1 revision of this API.