Skip to content

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}/addenda
POST /api/tender/builder/v1/companies/{companyId}/tender-projects/{projectId}/addenda
GET /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}/documents

Reads need documents/read; creating, renaming and cancelling need documents/write.

  • 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.
FieldTypeNotes
idstringNumeric string.
namestringUp to 255 characters, unique within the project.
descriptionstring | null
statusstringpending or issued.
issuedAtstring | nullISO 8601 timestamp; null while pending.
documentCountnumberDocuments the addendum added or revised.

GET .../addenda returns every addendum on the project, oldest first, including the pending one. GET .../addenda/{addendumId} returns one.

Terminal window
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
}
]
}

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"
}
]
}

POST .../addenda starts a pending addendum and returns 201 Created with the addendum. description is optional.

Terminal window
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"

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.

DELETE .../addenda/{addendumId} cancels the pending addendum and returns 204 No Content.

StatuscodeMeaning
409ADDENDUM_ALREADY_PENDINGThe project already has a pending addendum. Issue or cancel it first.
409DUPLICATE_NAMEAnother addendum on the project has that name.
409ADDENDUM_ISSUEDThe addendum has been issued and can’t be changed or cancelled.
409ADDENDUM_FINALISINGThe builder has just issued the addendum and E1 is still processing it. Retry shortly.
409UNCONFIRMED_MATRIX_CHANGESThe project has draft package changes in E1. Starting an addendum would discard them, so the builder needs to confirm or discard them first.
403FORBIDDENThe project is connected to a linked document system, which manages its addenda.
404NOT_FOUNDNo such addendum on this project, or the project is archived.