Addenda
An addendum groups changes to a project’s documents into one issue. While an addendum is pending, new files and new revisions collect in it. When the builder issues it in E1, subcontractors are told about all of the changes at once.
GET /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addendaPOST /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addendaGET /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addenda/{addendumId}PUT /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addenda/{addendumId}DELETE /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addenda/{addendumId}GET /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addenda/{addendumId}/documentsReads need documents/read; creating, renaming and cancelling need
documents/write.
How addenda work
Section titled “How addenda work”- A project has at most one pending addendum. You can start one, rename it, or cancel it. Issuing it happens in E1, not through the API.
- Once issued, an addendum is read-only.
- While an addendum is pending:
- a new document from an upload job joins it;
- a new revision of an existing document joins it as a revision. The original stays current until the addendum is issued;
- changing a document’s metadata (title, drawing number and so on) applies straight away and doesn’t touch the addendum.
- Uploads only join an addendum that already exists. The API never starts one for you, so without a pending addendum new files are issued straight away.
The addendum object
Section titled “The addendum object”| Field | Type | Notes |
|---|---|---|
id | string | Numeric string. |
name | string | Up to 255 characters, unique within the project. |
description | string | null | |
status | string | pending or issued. |
issuedAt | string | null | ISO 8601 timestamp; null while pending. |
documentCount | number | Documents the addendum added or revised. |
Listing and reading
Section titled “Listing and reading”GET .../addenda returns every addendum on the project, oldest first, including
the pending one. GET .../addenda/{addendumId} returns one.
curl -sS \ -H "Authorization: Bearer $E1_ACCESS_TOKEN" \ -H "x-e1-client-id: $E1_CLIENT_ID" \ "$E1_API_BASE/api/tender/builder/v1/companies/$E1_COMPANY_ID/tender-projects/198578/addenda"{ "data": [ { "id": "51230", "name": "Addendum 1", "description": "Revised ground floor plan", "status": "issued", "issuedAt": "2026-09-01T02:30:00+00:00", "documentCount": 1 }, { "id": "51234", "name": "Addendum 2", "description": null, "status": "pending", "issuedAt": null, "documentCount": 2 } ]}Listing an addendum’s files
Section titled “Listing an addendum’s files”GET .../addenda/{addendumId}/documents returns the documents the addendum
added or revised, as document objects.
For an issued addendum this includes files that a later addendum has since
revised, so the list shows the addendum as it was issued.
{ "data": [ { "id": "8074990", "name": "A-101 Ground Floor Plan.pdf", "directory": "/Architectural", "title": "Ground Floor Plan", "drawingId": "A-101", "revision": "D", "size": 482113, "addendumId": "51234", "addendumStatus": "revised", "supersedesDocumentId": "8074957" } ]}Starting an addendum
Section titled “Starting an addendum”POST .../addenda starts a pending addendum and returns 201 Created with the
addendum. description is optional.
curl -sS -X POST \ -H "Authorization: Bearer $E1_ACCESS_TOKEN" \ -H "x-e1-client-id: $E1_CLIENT_ID" \ -H "content-type: application/json" \ -d '{ "data": { "name": "Addendum 3", "description": "Updated façade drawings" } }' \ "$E1_API_BASE/api/tender/builder/v1/companies/$E1_COMPANY_ID/tender-projects/198578/addenda"Renaming an addendum
Section titled “Renaming an addendum”PUT .../addenda/{addendumId} takes the same body and returns 200 OK. It is a
full replacement, so an omitted description is cleared. Only a pending
addendum can be renamed.
Cancelling an addendum
Section titled “Cancelling an addendum”DELETE .../addenda/{addendumId} cancels the pending addendum and returns
204 No Content.
When a request is refused
Section titled “When a request is refused”| Status | code | Meaning |
|---|---|---|
409 | ADDENDUM_ALREADY_PENDING | The project already has a pending addendum. Issue or cancel it first. |
409 | DUPLICATE_NAME | Another addendum on the project has that name. |
409 | ADDENDUM_ISSUED | The addendum has been issued and can’t be changed or cancelled. |
409 | ADDENDUM_FINALISING | The builder has just issued the addendum and E1 is still processing it. Retry shortly. |
409 | UNCONFIRMED_MATRIX_CHANGES | The project has draft package changes in E1. Starting an addendum would discard them, so the builder needs to confirm or discard them first. |
403 | FORBIDDEN | The project is connected to a linked document system, which manages its addenda. |
404 | NOT_FOUND | No such addendum on this project, or the project is archived. |