Update 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
PUT /api/v1/leads/{uuid}

A status change sets status_changed_at to now. Changing the source without a sub-source clears the sub-source.

Path parameters

  • uuid string Required

    The UUID of the lead.

application/json

Body

  • title string | null

    Title of the lead.

    Maximum length is 25.

  • first_name string

    First name of the lead.

    Maximum length is 255.

  • last_name string

    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.

    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.

  • status string

    Status of the lead. One of new, contacted, pending_call_back, awaiting_client_action, meeting_booked and uncontactable. A change updates status_changed_at.

    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)

    UUID of a lead source in the firm. An archived source is only accepted when it is already the lead's source. Changing the source without sending sub_source_uuid clears the sub-source.

  • sub_source_uuid string(uuid) | null

    UUID of a sub-source belonging to the lead's source (or to source_uuid when both are sent). An archived sub-source is only accepted when it is already the lead's sub-source.

  • campaign string | null

    Campaign the lead came from.

    Maximum length is 255.

  • lead_interest_uuids array[string(uuid)]

    UUIDs of lead interests in the firm; replaces the current set. An archived interest is only accepted when it is already attached.

  • custom_fields object

    Custom field values keyed by the custom field reference. Only references configured for leads are accepted. References left out keep their current value.

    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.

  • 404 application/json

    Lead belongs to another firm

    Hide response attribute Show response attribute object
    • message string Required

      A human-readable description of the error.

  • 409 application/json
    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
PUT /api/v1/leads/{uuid}
curl \
 --request PUT 'https://api.plannrcrm.com/api/v1/leads/53f22fe4-3731-4cdc-aa12-e65bd0b15e52' \
 --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",
  "status": "new",
  "is_vulnerable": "yes",
  "source_uuid": "0223d221-a695-48d9-a058-f10a03ef875e",
  "sub_source_uuid": "b04cf5ae-c79c-4900-9a92-132323dd2325",
  "campaign": "Spring campaign",
  "lead_interest_uuids": [
    "e9707aa4-2f80-45db-ac27-f730d1ffb71c",
    "c6a82386-558e-4bca-a5df-6c3ec033b5dd",
    "46531d78-d94e-4113-8aca-ca665ee11fc1"
  ],
  "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",
  "status": "new",
  "is_vulnerable": "yes",
  "source_uuid": "0223d221-a695-48d9-a058-f10a03ef875e",
  "sub_source_uuid": "b04cf5ae-c79c-4900-9a92-132323dd2325",
  "campaign": "Spring campaign",
  "lead_interest_uuids": [
    "e9707aa4-2f80-45db-ac27-f730d1ffb71c",
    "c6a82386-558e-4bca-a5df-6c3ec033b5dd",
    "46531d78-d94e-4113-8aca-ca665ee11fc1"
  ],
  "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 (404)
{
  "message": "Not Found"
}
Response examples (409)
{
  "message": "This lead has been promoted to a client and is locked."
}
{
  "message": "This lead is archived and cannot be changed."
}
Response examples (422)
{
  "message": "The first name field is required.",
  "errors": {
    "first_name": [
      "The first name field 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 selected source uuid is invalid.",
  "errors": {
    "source_uuid": [
      "The selected source uuid is invalid."
    ]
  }
}
{
  "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."
    ]
  }
}