Welcome to the Coperniq API release notes. This section highlights noteworthy changes across endpoints, schemas, and docs.
Recent highlights
- New: Object naming aligned with Coperniq UI — clients are now accounts, requests are now opportunities, and comments are now notes.
- New: Retrieve archived records by passing
include_archived=trueon any GET list or get-by-ID endpoint for projects, opportunities, accounts, and workflows. - New: Form template endpoints —
GET /form-templatesandGET /form-templates/{formTemplateId}— let you retrieve workflow templates and their structure. - New:
PATCH /form-templates/{formTemplateId}— update a form template’s name, layout, assignee, collaborators, labels, and due date configuration. - New: Streamed file uploads for projects and opportunities with binary-safe handling
Documentation updates
- Clarified file upload usage, binary limits, and recommended large-file approach
- Documented full
TradeGroup,ProductCategory, andServiceCategoryenums for catalog items and wired them into the public schemas.
Looking for a specific date? See the entries below.
File uploads: streaming support, reliability fixes, and limits
What’s new?
- Streamed multipart uploads for files:
- POST
/projects/{projectId}/files/upload - POST
/requests/{requestId}/files/upload
- POST
- You can provide
phaseInstanceIdeither as a form field or as a?phaseInstanceId=query parameter; the API will include it once in the forwarded payload.
Fixes and improvements
- Robust parsing: files are fully consumed when building the outgoing
multipart/form-data. - Getting a project returns the project manager data.
- Allow files to be added in a certain project or request phase.
Usage notes
- Send
multipart/form-datawith afilepart; optional fields may includephaseInstanceId. - For non‑multipart uploads, send the raw bytes as the request body and pass filename/content type via:
- Headers
X-File-NameandX-File-Content-Type(case‑insensitive), or - Query params
nameandcontent_type.
- Headers
Platform limits
- The API enforces a 10 MB request limit. With base64 encoding and multipart overhead, practical max payload is ~6–7 MB.
- For larger uploads, use an out‑of‑band approach (e.g., presigned upload) and then create the file record by URL.
Compatibility
- No response shape changes. Successful uploads return:
id,name,downloadUrl,type,updatedAt,createdAt,companyId,metaData,source,createdByUser,isArchived.
