Update a project's custom field values
Sets values for one or more of the project's custom fields and returns the whole collection as GET renders it.
This is a merge, not a replacement. Only the fields you name are written; every field you omit keeps the value it had. Send "value": null to clear one. Sending a subset is the normal case — an integration that owns three fields never has to know about the others, and never clears a value someone set in Rabbet.
The collection's membership belongs to the project's type, so there is no way to add or remove a field here. Address each field by the id GET /project-types publishes for the project's type; a field that type does not define is rejected, not ignored. Discover the ids ahead of time via GET /project-types, or read them from this endpoint.
Values are strings whatever the field's type, and must fit it: a dropdown value must be one of the field's options, a date must be ISO 8601 (YYYY-MM-DD), money, number and percent must be numeric, integer must be a whole number, and boolean must be "true" or "false".
The batch is all-or-nothing: if any entry is rejected, none are written. Concurrent requests against one project are serialized, so a field cannot end up with two values.
Idempotency
Applying the same body twice leaves the same state, so this endpoint does not require an Idempotency-Key; a retry is already safe.
Request
- Base URL: https://api.rabbet.com/v1
- URL: https://api.rabbet.com/v1/projects/{projectId}/custom-fields
- Auth: OAuth 2 (client credentials, token URL https://api.rabbet.com/oauth/token, scopes: write)
Path parameters
Rabbet project UUID. To resolve your own identifier to a project, use GET /projects?custom_id=....
Request body
Example request
{
"custom_fields": [
{
"id": "b308e77f-6d1d-47c4-bd1f-0069cc548315",
"value": "PN123"
}
]
}Response
The project's custom fields, after the merge.
Example response
{
"data": {
"custom_fields": [
{
"id": "b308e77f-6d1d-47c4-bd1f-0069cc548315",
"label": "Project Number",
"field_name": "loan_id",
"type": "text",
"value": "PN123"
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.