/v1/projects/{id}/attachmentsCreate a project attachment
project:updateAttach a JD/link/doc to a project.
Path parameters
idstring requiredmax 16 chars
Request body CreateAttachmentRequest
kindstring requiredWhat kind of attachment this is. It decides whether `url` or `fileRef` is the one to send.
jdlinkdocnamestring requiredYour label for it.
min 1 chars, max 200 charsurlstringThe URL to attach, on a link attachment. Recorded as context and not fetched, so a link alone does not put its content into a brief.
max 2000 charsfileRefstringThe id of a file you already uploaded and finalized, on a file attachment.
min 1 chars, max 500 chars
Responses
201The created attachmentidstring requiredThe attachment id. Pass it in `attachmentIds` when creating a project to fold it into the brief.
subjectTypestring | null requiredWhat this attachment is attached to: a company, a project, or the account. Null while it is unattached.
subjectIdstring | null requiredThe id of that subject. Null while unattached.
kindstring requiredWhat kind of attachment this is, which decides whether it carries a `url` or a `fileRef`.
namestring requiredYour label for the attachment.
urlstring | null requiredThe linked URL, on a link attachment. Recorded as context; not fetched on your behalf. Null on a file attachment.
fileRefstring | null requiredThe uploaded file this attachment points at. Null on a link attachment.
addedBystring | null requiredThe member or key that added it. Null when unknown.
createdAtstring requiredWhen it was added, as an ISO 8601 instant.
updatedAtstring requiredWhen it last changed, as an ISO 8601 instant.
400A link without a url, a bad url, or an unknown kindcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
401No or invalid credentialcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
403Missing project:updatecodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
404Subject missing or in another accountcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.