Create a lead Run in API Explorer

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://apidocs.plannrcrm.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "PlannrCRM MCP server": {
    "url": "https://apidocs.plannrcrm.com/mcp"
  }
}

Close
POST /api/v1/leads

The caller is recorded as the creator and is not assigned by default. An introducer is recorded as the lead's introducer. The email, phone number and address become the lead's primary contact details.

application/json

Body

  • title string | null

    Title of the lead.

    Maximum length is 25.

  • first_name string Required

    First name of the lead.

    Maximum length is 255.

  • last_name string Required

    Last name of the lead.

    Maximum length is 255.

  • entity_name string | null

    Entity name for non-individual leads.

    Maximum length is 255.

  • client_type string

    Client type of the lead. One of individual, joint, trust and business. Defaults to individual.

    Value Description
    individual Individual
    joint Joint
    trust Trust
    business Business

    Values are individual, joint, trust, or business.

  • date_of_birth string(date) | null

    Date of birth. The lead must be at least 18 years old.

  • email string(email) | null

    Email address of the lead, stored as the primary email. Required when no phone number is given.

    Maximum length is 255.

  • phone string | null

    Phone number of the lead, stored as the primary phone number. Required when no email is given. Assumed to be a GB number when no country code is given.

  • address object | null

    Optional address, stored as the primary address.

    Hide address attributes Show address attributes object | null
    • name string

      Name of the address

    • address_1 string

      First line of the address

    • address_2 string

      Second line of the address

    • address_3 string

      Third line of the address

    • address_4 string

      Fourth line of the address

    • town_city string

      Town/City

    • county string

      County

    • postcode string

      Postcode

    • country string

      Country

    • move_in_date string

      Move in date

    • moved_in_month integer

      The month the client moved into this address.

    • moved_in_year integer

      The year the client moved into this address.

    • moved_out_month integer

      The month the client moved out of this address.

    • moved_out_year integer

      The year the client moved out of this address.

    • residential_status string

      The client's residential status when living at the address.

      Value Description
      homeowner Homeowner
      renting Renting
      living_with_parents Living With Parents
      other Other

      Values are homeowner, renting, living_with_parents, or other.

    • residential_status_other string

      The client's residential status if it is not provided in the residential_status options. Must only be provided if residential_status is other.

  • status string

    Status of the lead. One of new, contacted, pending_call_back, awaiting_client_action, meeting_booked and uncontactable. Defaults to new.

    Value Description
    new New
    contacted Contacted
    pending_call_back Pending Call Back
    awaiting_client_action Awaiting Client Action
    meeting_booked Meeting Booked
    uncontactable Uncontactable

    Values are new, contacted, pending_call_back, awaiting_client_action, meeting_booked, or uncontactable.

  • is_vulnerable string | null

    Whether the lead is vulnerable. One of yes, no and possibly.

    Value Description
    yes Yes
    no No
    possibly Possibly

    Values are yes, no, or possibly.

  • source_uuid string(uuid) Required

    UUID of an unarchived lead source in the firm.

  • sub_source_uuid string(uuid) | null

    UUID of an unarchived sub-source belonging to the chosen lead source.

  • campaign string | null

    Campaign the lead came from.

    Maximum length is 255.

  • assigned_account_uuid string(uuid) | null

    UUID of the employee to assign the lead to. Assigning anyone other than yourself requires the leads:updateAll permission.

  • introduced_by_uuid string(uuid) | null

    UUID of an introducer in the firm. Not accepted from an introducer, who is recorded as the introducer automatically.

  • lead_interest_uuids array[string(uuid)]

    UUIDs of unarchived lead interests in the firm.

  • custom_fields object

    Custom field values keyed by the custom field reference. Only references configured for leads are accepted.

    Additional properties are allowed.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • uuid string
    • title string
    • first_name string
    • last_name string
    • name string
    • client_type string
    • date_of_birth string
    • status string
    • status_changed_at string
    • is_archived boolean
    • is_promoted boolean
    • can_update boolean
    • can_archive boolean
    • can_assign boolean
    • can_update_introducer boolean
    • source object
      Hide source attributes Show source attributes object
      • uuid string
      • name string
      • description string
      • position integer
      • archived boolean
      • sub_sources object
        Hide sub_sources attributes Show sub_sources attributes object
        • uuid

          The UUID of the resource.

        • name

          The name of the lead sub-source.

        • description

          An optional description of the lead sub-source.

        • position

          The position of the sub-source within its lead source's list.

        • archived

          Whether the sub-source is archived and hidden from selection.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

      • created_at string
      • updated_at string
    • sub_source object
      Hide sub_source attributes Show sub_source attributes object
      • uuid string
      • name string
      • description string
      • position integer
      • archived boolean
      • lead_source object
        Hide lead_source attributes Show lead_source attributes object
        • uuid

          The UUID of the resource.

        • name

          The name of the lead source.

        • description

          An optional description of the lead source.

        • position

          The position of the lead source within the firm's list.

        • archived

          Whether the lead source is archived and hidden from selection.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

      • created_at string
      • updated_at string
    • assigned_account object
      Hide assigned_account attributes Show assigned_account attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • introduced_by object
      Hide introduced_by attributes Show introduced_by attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • created_by object
      Hide created_by attributes Show created_by attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • archived_by object
      Hide archived_by attributes Show archived_by attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • promoted_by object
      Hide promoted_by attributes Show promoted_by attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • client_account object
      Hide client_account attributes Show client_account attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • photo_url string
      • external_references object
        Hide external_references attributes Show external_references attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • third_party

          The third party provider with the reference.

        • reference

          The third party reference.

    • primary_email object
      Hide primary_email attributes Show primary_email attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • name string
      • value string
      • phone_number_meta object
        Hide phone_number_meta attributes Show phone_number_meta attributes object
        • country string
        • formatted string
      • accounts object
        Hide accounts attributes Show accounts attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • type

          Account type

        • role

          Account role

        • first_name

          First name

        • last_name

          Last name

        • name

          Name

        • email

          (Deprecated - Please use primary_email instead). The email of the account.

        • photo_url

          URL for initial avatar image

        • first_contact_date

          First contact date

        • next_review_date

          Next review date

        • previous_review_date

          Previous review date

        • anniversary_review_date

          Anniversary review date

        • terms_of_business_at

          Date the Terms of Business were agreed and signed

        • client_agreement_at

          Date the client agreement was agreed and signed

        • with_login

          Denotes whether the account has a login to Plannr

        • has_joint_account

          Denotes whether this account belongs to a joint account too

        • can_be_deleted

          Denotes if the account can be deleted

        • ownership_percentage

          Percentage ownership of the plan (This field is only present if viewing the account record via a plans relationship eg Plan -> Accounts)

        • inactive_at

          Inactive from date

        • last_interaction_at

          Last interaction date

        • referral_code

          Unique referral code for the employee account (employees only)

        • is_out_of_office

          Denotes whether the account is currently within an active Out of Office window (employees only)

        • out_of_office_from

          Start of the Out of Office period (employees only). Null when not out of office

        • out_of_office_until

          End of the Out of Office period (employees only). Null when not out of office

        • out_of_office_message

          Message shown to portal users while the account is Out of Office (employees only). Null when not out of office

        • is_pending_fact_find_account

          Denotes whether the account is a provisional account created by a fact find that has not yet been submitted (clients only)

        • permissions

          Permission map where keys are permission names and values are target arrays

        • managed_by_head_office

          Whether head office set this employee's firm role from their enterprise role. The firm can add restrictions on top but cannot change or remove the role itself.

    • primary_phone_number object
      Hide primary_phone_number attributes Show primary_phone_number attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • name string
      • value string
      • phone_number_meta object
        Hide phone_number_meta attributes Show phone_number_meta attributes object
        • country string
        • formatted string
      • accounts object
        Hide accounts attributes Show accounts attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • type

          Account type

        • role

          Account role

        • first_name

          First name

        • last_name

          Last name

        • name

          Name

        • email

          (Deprecated - Please use primary_email instead). The email of the account.

        • photo_url

          URL for initial avatar image

        • first_contact_date

          First contact date

        • next_review_date

          Next review date

        • previous_review_date

          Previous review date

        • anniversary_review_date

          Anniversary review date

        • terms_of_business_at

          Date the Terms of Business were agreed and signed

        • client_agreement_at

          Date the client agreement was agreed and signed

        • with_login

          Denotes whether the account has a login to Plannr

        • has_joint_account

          Denotes whether this account belongs to a joint account too

        • can_be_deleted

          Denotes if the account can be deleted

        • ownership_percentage

          Percentage ownership of the plan (This field is only present if viewing the account record via a plans relationship eg Plan -> Accounts)

        • inactive_at

          Inactive from date

        • last_interaction_at

          Last interaction date

        • referral_code

          Unique referral code for the employee account (employees only)

        • is_out_of_office

          Denotes whether the account is currently within an active Out of Office window (employees only)

        • out_of_office_from

          Start of the Out of Office period (employees only). Null when not out of office

        • out_of_office_until

          End of the Out of Office period (employees only). Null when not out of office

        • out_of_office_message

          Message shown to portal users while the account is Out of Office (employees only). Null when not out of office

        • is_pending_fact_find_account

          Denotes whether the account is a provisional account created by a fact find that has not yet been submitted (clients only)

        • permissions

          Permission map where keys are permission names and values are target arrays

        • managed_by_head_office

          Whether head office set this employee's firm role from their enterprise role. The firm can add restrictions on top but cannot change or remove the role itself.

    • primary_address object
      Hide primary_address attributes Show primary_address attributes object
      • uuid string
      • created_at string
      • updated_at string
      • name string
      • address_1 string
      • address_2 string
      • address_3 string
      • address_4 string
      • town_city string
      • county string
      • postcode string
      • country string
      • move_in_date string
      • accounts object
        Hide accounts attributes Show accounts attributes object
        • uuid

          The UUID of the resource.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

        • type

          Account type

        • role

          Account role

        • first_name

          First name

        • last_name

          Last name

        • name

          Name

        • email

          (Deprecated - Please use primary_email instead). The email of the account.

        • photo_url

          URL for initial avatar image

        • first_contact_date

          First contact date

        • next_review_date

          Next review date

        • previous_review_date

          Previous review date

        • anniversary_review_date

          Anniversary review date

        • terms_of_business_at

          Date the Terms of Business were agreed and signed

        • client_agreement_at

          Date the client agreement was agreed and signed

        • with_login

          Denotes whether the account has a login to Plannr

        • has_joint_account

          Denotes whether this account belongs to a joint account too

        • can_be_deleted

          Denotes if the account can be deleted

        • ownership_percentage

          Percentage ownership of the plan (This field is only present if viewing the account record via a plans relationship eg Plan -> Accounts)

        • inactive_at

          Inactive from date

        • last_interaction_at

          Last interaction date

        • referral_code

          Unique referral code for the employee account (employees only)

        • is_out_of_office

          Denotes whether the account is currently within an active Out of Office window (employees only)

        • out_of_office_from

          Start of the Out of Office period (employees only). Null when not out of office

        • out_of_office_until

          End of the Out of Office period (employees only). Null when not out of office

        • out_of_office_message

          Message shown to portal users while the account is Out of Office (employees only). Null when not out of office

        • is_pending_fact_find_account

          Denotes whether the account is a provisional account created by a fact find that has not yet been submitted (clients only)

        • permissions

          Permission map where keys are permission names and values are target arrays

        • managed_by_head_office

          Whether head office set this employee's firm role from their enterprise role. The firm can add restrictions on top but cannot change or remove the role itself.

    • interests array[object]
      Hide interests attributes Show interests attributes object
      • uuid string
      • name string
      • description string
      • position integer
      • archived boolean
      • created_at string
      • updated_at string
    • custom_fields array[object]
      Hide custom_fields attributes Show custom_fields attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • name string
      • reference string
      • is_required boolean
      • value string
      • selection_options array[string]
      • help_text string
    • created_at string
    • updated_at string
  • 403 application/json

    Unauthorized

    Hide response attribute Show response attribute object
    • message string Required

      A human-readable description of the error.

  • 422 application/json

    Validation error

    Hide response attributes Show response attributes object
    • message string Required

      A human-readable description of the error.

    • errors object

      Validation messages keyed by the field that failed.

      Hide errors attribute Show errors attribute object
      • * array[string] Additional properties
POST /api/v1/leads
curl \
 --request POST 'https://api.plannrcrm.com/api/v1/leads' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "title": "mr",
  "first_name": "Sam",
  "last_name": "Patel",
  "entity_name": "Acme Holdings",
  "client_type": "individual",
  "date_of_birth": "1985-04-12",
  "email": "sam@example.com",
  "phone": "07700900123",
  "address": {
    "name": "Work Address",
    "address_1": "Suite E",
    "address_2": "5 The Briars",
    "address_3": "Waterberry Drive",
    "address_4": "The Innovative Centre",
    "town_city": "Waterlooville",
    "county": "Hampshire",
    "postcode": "PO7 7YH",
    "country": "United Kingdom",
    "move_in_date": "2024-06-20",
    "moved_in_month": 6,
    "moved_in_year": 2022,
    "moved_out_month": 1,
    "moved_out_year": 2024,
    "residential_status": "homeowner",
    "residential_status_other": "Non-tenant occupier"
  },
  "status": "new",
  "is_vulnerable": "yes",
  "source_uuid": "08fd6639-0be0-49bd-b5ec-d95f2d085b4b",
  "sub_source_uuid": "6ab3da46-7006-43b6-922b-689334868f7b",
  "campaign": "Spring campaign",
  "assigned_account_uuid": "1c9d5d43-0560-4221-8b1a-f5ece800ba9b",
  "introduced_by_uuid": "205a5322-b73b-4acd-8413-9b0c50ac330f",
  "lead_interest_uuids": [
    "327588f5-4d63-4420-87dc-c74ac16d5db9",
    "a825d000-682a-4be0-a294-85ae6c92bcd1",
    "3b1a5004-f7bf-4326-b745-0f6388aff375"
  ],
  "custom_fields": {
    "enquiry_channel": "Phone"
  }
}'
Request examples
{
  "title": "mr",
  "first_name": "Sam",
  "last_name": "Patel",
  "entity_name": "Acme Holdings",
  "client_type": "individual",
  "date_of_birth": "1985-04-12",
  "email": "sam@example.com",
  "phone": "07700900123",
  "address": {
    "name": "Work Address",
    "address_1": "Suite E",
    "address_2": "5 The Briars",
    "address_3": "Waterberry Drive",
    "address_4": "The Innovative Centre",
    "town_city": "Waterlooville",
    "county": "Hampshire",
    "postcode": "PO7 7YH",
    "country": "United Kingdom",
    "move_in_date": "2024-06-20",
    "moved_in_month": 6,
    "moved_in_year": 2022,
    "moved_out_month": 1,
    "moved_out_year": 2024,
    "residential_status": "homeowner",
    "residential_status_other": "Non-tenant occupier"
  },
  "status": "new",
  "is_vulnerable": "yes",
  "source_uuid": "08fd6639-0be0-49bd-b5ec-d95f2d085b4b",
  "sub_source_uuid": "6ab3da46-7006-43b6-922b-689334868f7b",
  "campaign": "Spring campaign",
  "assigned_account_uuid": "1c9d5d43-0560-4221-8b1a-f5ece800ba9b",
  "introduced_by_uuid": "205a5322-b73b-4acd-8413-9b0c50ac330f",
  "lead_interest_uuids": [
    "327588f5-4d63-4420-87dc-c74ac16d5db9",
    "a825d000-682a-4be0-a294-85ae6c92bcd1",
    "3b1a5004-f7bf-4326-b745-0f6388aff375"
  ],
  "custom_fields": {
    "enquiry_channel": "Phone"
  }
}
Response examples (200)
{
  "uuid": "c28b7429-aea9-4556-9cca-6b6068f9c5f9",
  "title": "mr",
  "first_name": "Sam",
  "last_name": "Patel",
  "name": "Sam Patel",
  "client_type": "individual",
  "date_of_birth": "1985-04-12",
  "status": "new",
  "status_changed_at": "2026-10-29T17:25:06+00:00",
  "is_archived": false,
  "is_promoted": false,
  "can_update": true,
  "can_archive": true,
  "can_assign": false,
  "can_update_introducer": false,
  "source": {
    "uuid": "87523b17-0877-4949-a18f-386a65f55f5a",
    "name": "Website",
    "description": "Enquiries via the contact page",
    "position": 1,
    "archived": false,
    "sub_sources": {
      "uuid": "3c5c8ee5-10d2-4665-a299-405c954225a8",
      "name": "Google",
      "description": "Paid search on Google",
      "position": 1,
      "archived": false,
      "created_at": "2026-10-29T17:25:14+00:00",
      "updated_at": "2026-10-29T17:25:14+00:00"
    },
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00"
  },
  "sub_source": {
    "uuid": "0dc68b9c-fa2c-4ca3-8035-46344df155e0",
    "name": "Google",
    "description": "Paid search on Google",
    "position": 1,
    "archived": false,
    "lead_source": {
      "uuid": "812c1cf1-66e5-45a1-ae70-9f7747ee6736",
      "name": "Website",
      "description": "Enquiries via the contact page",
      "position": 1,
      "archived": false,
      "created_at": "2026-10-29T17:25:14+00:00",
      "updated_at": "2026-10-29T17:25:14+00:00"
    },
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00"
  },
  "assigned_account": {
    "uuid": "e590e918-ce7f-413c-9325-020b6b7fa0d7",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "introduced_by": {
    "uuid": "d9a6f9ed-5ae0-453c-b0c0-a4b20e160305",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "created_by": {
    "uuid": "40d657eb-4933-4239-b15b-5f7780f3ba24",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "archived_by": {
    "uuid": "f0e0d5ea-4250-494c-8836-f02267a01688",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "promoted_by": {
    "uuid": "427596a7-5fdf-4fff-adf2-f14b49cabc3e",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "client_account": {
    "uuid": "160fc601-5773-4bef-b838-aa060fa6dd5f",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "client",
    "role": "client",
    "first_name": "Gareth",
    "last_name": "Thompson",
    "name": "Gareth Thompson",
    "email": "gareth@codepotato.co.uk",
    "photo_url": "https://eu.ui-avatars.com/api/?name=Gareth+Thompson",
    "external_references": {
      "uuid": "d966c70b-b1e3-4681-a484-10e116f601a0",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "third_party": "nucleus",
      "reference": "AB123456"
    }
  },
  "primary_email": {
    "uuid": "19e128eb-d78f-4548-967a-01233182a6ba",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "phone_number",
    "name": "Work number",
    "value": "+443330903630",
    "phone_number_meta": {
      "country": "GB",
      "formatted": "0333 090 3630"
    },
    "accounts": {
      "uuid": "d5d36f53-7bf2-4cdc-9b9e-ab0c775ae829",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "type": "client",
      "role": "client",
      "first_name": "Gareth",
      "last_name": "Thompson",
      "name": "Gareth Thompson",
      "email": "gareth@codepotato.co.uk",
      "photo_url": "https://eu.ui-avatars.com/api/?name=gareth+thompson",
      "first_contact_date": "2026-10-29T17:25:13+00:00",
      "next_review_date": "2026-10-29T17:25:13+00:00",
      "previous_review_date": "2026-10-29T17:25:13+00:00",
      "anniversary_review_date": "2026-10-29T17:25:13+00:00",
      "terms_of_business_at": "2026-10-29T17:25:13+00:00",
      "client_agreement_at": "2026-10-29T17:25:13+00:00",
      "with_login": true,
      "has_joint_account": true,
      "can_be_deleted": "false",
      "ownership_percentage": 100.0,
      "inactive_at": "2026-10-29",
      "last_interaction_at": "2026-10-29 17:25:13",
      "referral_code": "ABC12345",
      "is_out_of_office": true,
      "out_of_office_from": "2026-10-29T17:25:13+00:00",
      "out_of_office_until": "2026-10-29T17:25:13+00:00",
      "out_of_office_message": "I am away this week. For urgent matters please contact the office.",
      "is_pending_fact_find_account": false,
      "permissions": {
        "firm:read": [
          "firm"
        ],
        "network:read": [
          "network:uuid"
        ]
      },
      "managed_by_head_office": false
    }
  },
  "primary_phone_number": {
    "uuid": "362ad727-76b1-4449-919d-5d3e114f3910",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "type": "phone_number",
    "name": "Work number",
    "value": "+443330903630",
    "phone_number_meta": {
      "country": "GB",
      "formatted": "0333 090 3630"
    },
    "accounts": {
      "uuid": "d5d36f53-7bf2-4cdc-9b9e-ab0c775ae829",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "type": "client",
      "role": "client",
      "first_name": "Gareth",
      "last_name": "Thompson",
      "name": "Gareth Thompson",
      "email": "gareth@codepotato.co.uk",
      "photo_url": "https://eu.ui-avatars.com/api/?name=gareth+thompson",
      "first_contact_date": "2026-10-29T17:25:13+00:00",
      "next_review_date": "2026-10-29T17:25:13+00:00",
      "previous_review_date": "2026-10-29T17:25:13+00:00",
      "anniversary_review_date": "2026-10-29T17:25:13+00:00",
      "terms_of_business_at": "2026-10-29T17:25:13+00:00",
      "client_agreement_at": "2026-10-29T17:25:13+00:00",
      "with_login": true,
      "has_joint_account": true,
      "can_be_deleted": "false",
      "ownership_percentage": 100.0,
      "inactive_at": "2026-10-29",
      "last_interaction_at": "2026-10-29 17:25:13",
      "referral_code": "ABC12345",
      "is_out_of_office": true,
      "out_of_office_from": "2026-10-29T17:25:13+00:00",
      "out_of_office_until": "2026-10-29T17:25:13+00:00",
      "out_of_office_message": "I am away this week. For urgent matters please contact the office.",
      "is_pending_fact_find_account": false,
      "permissions": {
        "firm:read": [
          "firm"
        ],
        "network:read": [
          "network:uuid"
        ]
      },
      "managed_by_head_office": false
    }
  },
  "primary_address": {
    "uuid": "ccd52832-8129-4f94-bd74-3367c463faf8",
    "created_at": "2026-10-29T17:25:06+00:00",
    "updated_at": "2026-10-29T17:25:06+00:00",
    "name": "Work Address",
    "address_1": "Suite E, 5 The Briars",
    "address_2": "Waterberry Drive",
    "address_3": "The Innovative Centre",
    "address_4": "Waterlooville",
    "town_city": "Waterlooville",
    "county": "Hampshire",
    "postcode": "PO7 7YH",
    "country": "United Kingdom",
    "move_in_date": "2025-10-29",
    "accounts": {
      "uuid": "d5d36f53-7bf2-4cdc-9b9e-ab0c775ae829",
      "created_at": "2026-10-29T17:25:13+00:00",
      "updated_at": "2026-10-29T17:25:13+00:00",
      "type": "client",
      "role": "client",
      "first_name": "Gareth",
      "last_name": "Thompson",
      "name": "Gareth Thompson",
      "email": "gareth@codepotato.co.uk",
      "photo_url": "https://eu.ui-avatars.com/api/?name=gareth+thompson",
      "first_contact_date": "2026-10-29T17:25:13+00:00",
      "next_review_date": "2026-10-29T17:25:13+00:00",
      "previous_review_date": "2026-10-29T17:25:13+00:00",
      "anniversary_review_date": "2026-10-29T17:25:13+00:00",
      "terms_of_business_at": "2026-10-29T17:25:13+00:00",
      "client_agreement_at": "2026-10-29T17:25:13+00:00",
      "with_login": true,
      "has_joint_account": true,
      "can_be_deleted": "false",
      "ownership_percentage": 100.0,
      "inactive_at": "2026-10-29",
      "last_interaction_at": "2026-10-29 17:25:13",
      "referral_code": "ABC12345",
      "is_out_of_office": true,
      "out_of_office_from": "2026-10-29T17:25:13+00:00",
      "out_of_office_until": "2026-10-29T17:25:13+00:00",
      "out_of_office_message": "I am away this week. For urgent matters please contact the office.",
      "is_pending_fact_find_account": false,
      "permissions": {
        "firm:read": [
          "firm"
        ],
        "network:read": [
          "network:uuid"
        ]
      },
      "managed_by_head_office": false
    }
  },
  "interests": [
    {
      "uuid": "3d712d85-1504-4565-a6bc-0bb41a46abe1",
      "name": "Wealth",
      "description": "Investment and wealth management enquiries",
      "position": 1,
      "archived": false,
      "created_at": "2026-10-29T17:25:06+00:00",
      "updated_at": "2026-10-29T17:25:06+00:00"
    }
  ],
  "custom_fields": [
    {
      "uuid": "8267774b-ee17-4755-8392-1e91ca48da86",
      "created_at": "2026-10-29T17:25:06+00:00",
      "updated_at": "2026-10-29T17:25:06+00:00",
      "type": "string",
      "name": "Favourite Drink",
      "reference": "favourite_drink",
      "is_required": false,
      "value": "Coffee",
      "selection_options": [
        "Coffee",
        "Tea",
        "Water"
      ],
      "help_text": "This is the client's favourite drink."
    }
  ],
  "created_at": "2026-10-29T17:25:06+00:00",
  "updated_at": "2026-10-29T17:25:06+00:00"
}
Response examples (403)
{
  "message": "This action is unauthorized."
}
Response examples (422)
{
  "message": "The first name field is required. (and 2 more errors)",
  "errors": {
    "first_name": [
      "The first name field is required."
    ],
    "last_name": [
      "The last name field is required."
    ],
    "source_uuid": [
      "The source uuid field is required."
    ]
  }
}
{
  "message": "One email address or phone number is required. (and 1 more error)",
  "errors": {
    "email": [
      "One email address or phone number is required."
    ],
    "phone": [
      "One email address or phone number is required."
    ]
  }
}
{
  "message": "The lead must be at least 18 years old.",
  "errors": {
    "date_of_birth": [
      "The lead must be at least 18 years old."
    ]
  }
}
{
  "message": "The sub-source does not belong to the chosen lead source.",
  "errors": {
    "sub_source_uuid": [
      "The sub-source does not belong to the chosen lead source."
    ]
  }
}
{
  "message": "You do not have permission to assign leads to other employees.",
  "errors": {
    "assigned_account_uuid": [
      "You do not have permission to assign leads to other employees."
    ]
  }
}
{
  "message": "An introducer cannot set the introducer of a lead.",
  "errors": {
    "introduced_by_uuid": [
      "An introducer cannot set the introducer of a lead."
    ]
  }
}