Contact Details Schema Reference
Headers and Parameters
| Field | Location | Required | Type | Format / Constraints |
|---|---|---|---|---|
X-API-KEY | Header | Yes | string | UUID format |
X-IDEMPOTENCY-KEY | Header (POST) | Yes | string | Non-empty string |
X-TEST-MODE | Header (POST) | No | string | true enables test mode |
mpid | Path | Yes | string | Supplier MPID |
mpan_id | Query (GET) | Yes | integer | 13-digit MPAN core |
Request Schema
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
mpan_core | Yes | integer | Exactly 13 digits, numeric |
customers | Yes | array | Must be a list of customer records |
customers[].customer_name | Yes | string | Max 20 chars |
customers[].additional_information | No | string or null | Max 200 chars |
customers[].customer_password | No | string or null | Max 10 chars |
customers[].customer_password_efd | No | string (YYYY-MM-DD) or datetime or null | String form must match YYYY-MM-DD |
customers[].special_access | No | string or null | Max 40 chars |
customers[].max_power_req | No | integer or null | >= 0, max 6 digits |
customers[].delete_address_data | No | boolean or null | Boolean |
customers[].mailing_address_1 .. customers[].mailing_address_9 | No | string or null | Max 40 chars each |
customers[].mailing_address_postcode | No | string or null | Max 10 chars |
customers[].contacts | Yes | array | Must be a list |
customers[].contacts[].contact_name | Yes | string | Max 30 chars |
customers[].contacts[].preferred_contact_method | No | string(enum) or null | One of E, H, L, T, W |
customers[].contacts[].telephones | Yes | array | Must be present and non-empty |
customers[].contacts[].telephones[].telephone_number | Yes | string | UK phone regex `^(?:0 |
customers[].contacts[].telephones[].fax_number | No | string or null | Same phone regex |
customers[].contacts[].emails | Yes | array | Must be present; may be empty |
customers[].contacts[].emails[].email_address | No | string or null | Valid email format, max 100 chars |
Additional validation:
- Extra/unknown fields are rejected at every nested level.
customers,contacts,telephones, andemailsmust be JSON lists when supplied.
Response Schema
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
mpan_core | Yes | integer | MPAN core |
settlement_date_efd | Yes | string(datetime) | ISO 8601 datetime |
customers | Yes | array | List of customer records |
customers[].customer_name | Yes | string | Max 20 chars |
customers[].additional_information | No | string or null | Max 200 chars |
customers[].customer_password | No | string or null | Max 10 chars |
customers[].customer_password_efd | No | string(datetime) or null | ISO 8601 datetime |
customers[].special_access | No | string or null | Max 40 chars |
customers[].max_power_req | No | integer or null | Whole number |
customers[].delete_address_data | No | boolean or null | Boolean |
customers[].mailing_address_1 .. customers[].mailing_address_9 | No | string or null | Max 40 chars each |
customers[].mailing_address_postcode | No | string or null | Max 10 chars |
customers[].contacts[] | Yes | array | List of contact records |
customers[].contacts[].contact_name | Yes | string | Max 30 chars |
customers[].contacts[].preferred_contact_method | No | string(enum) or null | One of E, H, L, T, W |
customers[].contacts[].telephones[].telephone_number | Yes | string | Max 14 chars in response |
customers[].contacts[].telephones[].fax_number | No | string or null | Max 14 chars |
customers[].contacts[].emails[].email_address | Yes | string(email) | Valid email |
Process Response Schema
Used by POST /contact-details/v1/{mpid}.
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
request_id | Yes | string | UUID |
request_type | Yes | string | Process type name |
request_status | Yes | string(enum) | Pending, Success, Failed |
initiated_by | No | string or null | Present on some process-search responses |
description | No | string or null | Process type description |
created_at | Yes | string(datetime) | ISO 8601 datetime |
last_updated_at | Yes | string(datetime) | ISO 8601 datetime |
mpan_core | Yes | integer | MPAN core |