Skip to main content
PUT
Upsert many projects

Authorizations

X-API-Key
string
header
required

Organization-scoped API key. Create one in the BuildingSwell app under Organization settings, API keys.

Query Parameters

update
string[]
required

Columns to overwrite when the row already exists. Repeat the parameter for each column: a single comma-separated value is read as one column name and fails at the database. Without the parameter the request is rejected with 400.

Body

application/json
name
string
required

Display name.

id
string<uuid>

Unique id. Generated on create unless you supply one.

identifier
string

Human-readable id, unique within your organization. Generated in the form PROJ-a1b2c when you leave it out.

isArchived
boolean
default:false

Archived records are hidden from list results unless you ask for them. Set this to archive or restore the record.

archivedAt
string<date-time> | null

When the record was archived. Set automatically when isArchived flips to true, and cleared on restore.

scheduledStartDate
string<date> | null

Planned start of the project.

scheduledEndDate
string<date> | null

Planned finish of the project.

actualEndDate
string<date> | null

Date the project actually finished.

costCode
string | null

Cost code. Trimmed on write, and an empty string is rejected: send a non-empty string or null.

Stored as a plain string. It is not validated against the cost code list, and renaming an entry in that list does not change this value.

createdAt
string<date-time>

When the record was created.

updatedAt
string<date-time>

When the record last changed.

jobsiteAddress
object

Address for the Jobsite that BuildingSwell creates alongside the project. Every field is optional, so a partial address is fine. Send the object with all fields blank, or leave it out, and the Jobsite is created without an address.

Accepted on POST /project only. PATCH, PUT, and the bulk routes ignore it, and it is never returned in a project response: read it back from the project's Jobsite.

Response

The upserted projects.

values
object[]
required