founding

Upload Founding File

Changed on

Upload one file to an open interview (multipart: file).

The multipart body is parsed MANUALLY inside the handler for the same reason the company upload route does it: FastAPI parses a declared multipart body BEFORE dependencies run, and ownership must be proved before a single body byte is read. It goes through the same bounded intake as the company route (read_capped_form), so the body's size is settled before it is spooled. Trade-off: the OpenAPI requestBody is intentionally undocumented; the frontend uploads with fetch + FormData.

The path is always server-assigned (chat/<YYYY-MM-DD in UTC>/<safe name>, (2) on a clash inside this interview): a client path would let one upload overwrite another, and the founder never chose a path anyway.

The rate limit is the FIRST thing, before the status gate and before a single body byte is read, exactly like the company route. The 30-file quota below cannot stand in for it: it counts rows, and an upload that fails after put_object writes no row while still paying for the object, so a client fanning out uploads accumulates blobs the quota never sees.

post/founding/{founding_id}/files

Request

  • Base URL: https://api.nanocorp.so (the document declares no server; this is the origin it was published from)
  • URL: https://api.nanocorp.so/founding/{founding_id}/files
  • Auth: HTTP bearer

Path parameters

founding_idstring uuid required

Response

Successful Response

idstring required
founding_idstring required
pathstring required
size_bytesinteger required
content_typestring nullable required
created_atstring date-time required

Changes