---
title: "Activate a mandate"
method: POST
path: "/mandates/{id}/activate"
tags: ["Mandates"]
---

# Activate a mandate

`POST /mandates/{id}/activate`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/mandates/{id}/activate`
- Auth: HTTP bearer

Activates a `draft` mandate (status becomes `active`). Activation
requires a signed document to be attached and the mandate to be within
its validity window; otherwise the request is rejected.

No request body is required.

```bash
curl -X POST https://api.faireplace.com/api/mandates/770e8400-e29b-41d4-a716-446655440222/activate \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Path parameters

- `id` string, uuid, required

## Response `200`

The activated mandate (status `active`).

- Mandate: A mandate delegating one or more permissions from a principal (owner or lessee) to a mandataire (the authenticated user). A mandate becomes `active` once a signed document is attached and it is within its validity window.
  - `id` string, uuid, required: Unique mandate identifier.
  - `tenant_id` string, required: Tenant identifier (multi-tenant isolation).
  - `mandataire_auth_user_id` string, required: Auth user ID of the mandataire (extracted from the JWT).
  - `principal` PrincipalDto, required: The principal (person) on whose behalf the mandate is held.
    - `person_id` string, uuid, required: Identifier of the principal person (owner or lessee).
    - `kind` 'owner' | 'lessee', required: Kind of principal (the person granting the mandate).
    - `display_name` string, required: Display name of the principal. On creation this is a placeholder (`(à charger)`) until the principal details are loaded.
  - `scope` MandateScope[], required: Ordered list of delegated permissions.
  - `valid_from` string, date, required: Start date of validity (ISO 8601, `YYYY-MM-DD`).
  - `valid_until` string, date, nullable: End date of validity (ISO 8601). `null` means no end date. When set, must be strictly after `valid_from`.
  - `mandate_document` MandateDocumentDto, required: The document backing the mandate.
    - `media_id` string, uuid, nullable: Identifier of the attached media (the signed mandate document).
    - `signed` boolean, required: Whether the mandate document has been signed.
  - `status` 'draft' | 'active' | 'revoked' | 'expired', required: Lifecycle status of a mandate. Valid transitions: `draft → active`, `draft → revoked`, `active → revoked`, `active → expired`.
  - `created_at` string, date-time, required: Creation timestamp (ISO 8601).
  - `updated_at` string, date-time, required: Last update timestamp (ISO 8601).
  - `revoked_at` string, date-time, nullable: Revocation timestamp, or `null` if not revoked.
  - `revoke_reason` string, nullable: Free-text reason for revocation (max 500 chars), or `null`.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
