URL: /baas/api/integration/flows/organization-customer/consent-management
---
title: 'Phase 4: Consent Management'
description: 'Accept organization-level consents with authorized signatory details'
---
# Phase 4: Consent Management
Organization consents are at **organization level** (not per-user) and must be accepted by an authorized signatory (CEO or equivalent).
## Required Consents
| Consent Type | Required | Accepted By |
|--------------|----------|-------------|
| `TERMS_AND_CONDITIONS` | ✅ Yes | CEO/Authorized Signatory |
| `PRIVACY_POLICY` | ✅ Yes | CEO/Authorized Signatory |
| `DATA_PROCESSING` | ✅ Yes | CEO/Authorized Signatory |
| `COMMERCIAL_SERVICES` | Optional | CEO/Authorized Signatory |
**Key Difference from Individual Consents:** Organization consents require `acceptedBy` object with signatory details.
---
## Accept Terms and Conditions
**Endpoint:** `POST /api/v2.1/customer/organization/{organizationId}/consents/terms`
**Headers:**
```http
Authorization: Bearer {ceo-or-admin-jwt-token}
User-Agent: Mozilla/5.0...
```
**Request Body:**
```json
{
"accepted": true,
"version": "1.0",
"acceptedBy": {
"name": "Jane Smith",
"position": "CEO",
"email": "jane.smith@acme-corp.com",
"authority": "AUTHORIZED_SIGNATORY"
},
"acceptanceTimestamp": "2026-01-15T10:00:00.000Z",
"digitalSignature": "base64-encoded-signature"
}
```
**Status:** `200 OK`
```json
{
"code": 200,
"message": "terms and conditions accepted successfully",
"data": {
"id": "consent-1122e8400-e29b-41d4-a716-446655440180",
"organizationId": "org-880e8400-e29b-41d4-a716-446655440110",
"tenantId": "97e7ff29-15f3-49ef-9681-3bbfcce4f6cd",
"consentType": "TERMS_AND_CONDITIONS",
"status": "ACCEPTED",
"version": "1.0",
"grantedAt": "2026-01-15T10:00:00.000Z",
"expiresAt": "2027-01-15T10:00:00.000Z",
"acceptedBy": {
"name": "Jane Smith",
"position": "CEO",
"authority": "AUTHORIZED_SIGNATORY"
},
"ipAddress": "192.168.1.100",
"userAgent": "Mozilla/5.0...",
"digitalSignature": "base64-encoded-signature",
"legallyBinding": true,
"metadata": {
"documentUrl": "https://finhub.com/terms/business/v1.0",
"language": "en-GB",
"jurisdiction": "England and Wales"
}
}
}
```
---
## Accept Privacy Policy
**Endpoint:** `POST /api/v2.1/customer/organization/{organizationId}/consents/privacy`
**Request Body:**
```json
{
"accepted": true,
"version": "1.0",
"acceptedBy": {
"name": "Jane Smith",
"position": "CEO",
"email": "jane.smith@acme-corp.com",
"authority": "AUTHORIZED_SIGNATORY"
},
"acceptanceTimestamp": "2026-01-15T10:05:00.000Z"
}
```
**Status:** `200 OK`
```json
{
"code": 200,
"message": "Privacy policy accepted successfully",
"data": {
"id": "consent-1122e8400-e29b-41d4-a716-446655440181",
"consentType": "PRIVACY_POLICY",
"status": "ACCEPTED",
"grantedAt": "2026-01-15T10:05:00.000Z",
"acceptedBy": {
"name": "Jane Smith",
"position": "CEO"
}
}
}
```
---
## Accept Data Processing Agreement
**Endpoint:** `POST /api/v2.1/customer/organization/{organizationId}/consents/data-processing`
**Request Body:**
```json
{
"accepted": true,
"version": "1.0",
"acceptedBy": {
"name": "Jane Smith",
"position": "CEO",
"email": "jane.smith@acme-corp.com",
"authority": "AUTHORIZED_SIGNATORY"
},
"acceptanceTimestamp": "2026-01-15T10:10:00.000Z"
}
```
**Status:** `200 OK`
```json
{
"code": 200,
"message": "Data processing agreement accepted successfully",
"data": {
"id": "consent-1122e8400-e29b-41d4-a716-446655440182",
"consentType": "DATA_PROCESSING",
"status": "ACCEPTED",
"grantedAt": "2026-01-15T10:10:00.000Z"
}
}
```
---
## AcceptedBy Object
The `acceptedBy` object captures signatory details for legal compliance:
| Field | Required | Description |
|-------|----------|-------------|
| `name` | ✅ | Full name of signatory |
| `position` | ✅ | Position in organization |
| `email` | ✅ | Email address |
| `authority` | ✅ | Authority type |
### Authority Types
| Authority | Description |
|-----------|-------------|
| `AUTHORIZED_SIGNATORY` | Legally authorized to sign |
| `CEO` | Chief Executive Officer |
| `CFO` | Chief Financial Officer |
| `DIRECTOR` | Board Director |
| `LEGAL_REPRESENTATIVE` | Legal Representative |
---
## B2B vs B2C Consent Comparison
| Field | Individual (B2C) | Organization (B2B) |
|-------|------------------|-------------------|
| `accepted` | ✅ Required | ✅ Required |
| `version` | ✅ Required | ✅ Required |
| `acceptedBy` | ❌ Not required | ✅ Required |
| `digitalSignature` | ❌ Optional | ✅ Recommended |
| `jurisdiction` | ❌ Not captured | ✅ Captured |
---
## Director Consents (Optional)
Each director may need to accept individual `DATA_PROCESSING` consent.
**Note:** Director consents are currently BYPASSED in activation checks for testing purposes.
**Endpoint:** `POST /api/v2.1/customer/individual/{directorIndividualId}/consents/data-processing`
---
## Next Step
After all consents are accepted, proceed to **Phase 5: Organization Activation**.
Validate roles and activate organization