Update a project
Partially update a project: only the fields you send change.
- Editable: name, key (old key stays as alias), icon, description, billing defaults.
- A key already in use returns 409 project_key_in_use.
Request
- Base URL: https://api.factuarea.com/v1
- URL: https://api.factuarea.com/v1/companies/{company}/projects/{project}
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Path parameters
Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).
Public identifier (UUID v7) of the project.
Headers
Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide.
Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.
Request body
Response
Example response
{
"data": {
"id": "0193a4f2-7c20-7a11-8b52-4d6e8f0a2c01",
"object": "project",
"key": "DEV",
"name": "Desarrollo web",
"icon": "code",
"description": "Evolutivos y correcciones de la tienda online.",
"billing_contact_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01",
"billing_hourly_rate": "45.00",
"stats": {
"total_tasks": 24,
"completed_tasks": 15,
"completion_percentage": 63,
"next_due_on": "2026-10-06"
},
"created_at": "2026-06-02T09:15:00+02:00",
"updated_at": "2026-09-26T17:42:11+02:00"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.