> For the complete documentation index, see [llms.txt](https://docs.skhokho.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skhokho.ai/customers-crm/clients.md).

# 🤝 Clients

Client and customer relationship management

## List clients

> Get a list of all clients with optional filters

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"Client":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"entity_type_display":{"type":"string","nullable":true,"readOnly":true},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"lifecycle_stage_display":{"type":"string","nullable":true,"readOnly":true},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"industry_display":{"type":"string","nullable":true,"readOnly":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"assigned_to":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"account_owner":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformation"}],"nullable":true},"days_since_last_contact":{"type":"integer","nullable":true,"readOnly":true},"is_follow_up_overdue":{"type":"boolean","readOnly":true},"primary_contact":{"allOf":[{"$ref":"#/components/schemas/ClientContactMini"}],"nullable":true,"readOnly":true},"date_created":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"last_updated":{"type":"string","format":"date-time","readOnly":true,"nullable":true}},"required":["account_owner","assigned_to","created_by","date_created","days_since_last_contact","entity_type_display","industry_display","is_follow_up_overdue","last_updated","lifecycle_stage_display","name","primary_contact"]},"ClientPersonMini":{"type":"object","description":"Lightweight serializer for Person model.\nUsed for nested person references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"full_name":{"type":"string","readOnly":true}},"required":["full_name"]},"ClientAddress":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformation":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"ClientContactMini":{"type":"object","description":"Lightweight serializer for Contact model.\nUsed for nested contact references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"first_name":{"type":"string","maxLength":150},"last_name":{"type":"string","maxLength":150},"name":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","nullable":true,"maxLength":254},"phone":{"type":"string","nullable":true,"maxLength":17},"job_title":{"type":"string","readOnly":true,"nullable":true},"primary_contact":{"type":"boolean","description":"Indicates if this is the primary contact for the entity"},"is_active":{"type":"boolean"},"entity_type":{"enum":["client","vendor","lead"],"type":"string","description":"Type of entity this contact belongs to\n\n* `client` - Client\n* `vendor` - Vendor\n* `lead` - Lead"},"entity_id":{"type":"string","nullable":true,"description":"ID of the entity this contact belongs to (optional for potential clients/vendors)","maxLength":100}},"required":["entity_type","first_name","job_title","last_name","name"]}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/":{"get":{"operationId":"organisation_clients_list","description":"Get a list of all clients with optional filters","summary":"List clients","parameters":[{"in":"query","name":"company_size","schema":{"type":"string"},"description":"Filter by company size"},{"in":"query","name":"entity_type","schema":{"type":"string","enum":["client","lead","vendor"]},"description":"Filter by entity type"},{"in":"query","name":"industry","schema":{"type":"string","enum":["agriculture","construction","energy","finance","healthcare","hospitality","information_technology","manufacturing","media","other","retail","services","transportation"]},"description":"Filter by industry"},{"in":"query","name":"lifecycle_stage","schema":{"type":"string","enum":["active_client","dormant","inactive","lost_opportunity","matured_client","prospect"]},"description":"Filter by client lifecycle stage"},{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true},{"in":"query","name":"search","schema":{"type":"string"},"description":"Search clients by name"}],"tags":["Clients"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Client"}}}},"description":""},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}}}}}}
```

## Create client

> Create a new client. Client name is required.

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"ClientRequest":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","minLength":1,"description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddressRequest"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformationRequest"}],"nullable":true}},"required":["name"]},"ClientAddressRequest":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformationRequest":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"Client":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"entity_type_display":{"type":"string","nullable":true,"readOnly":true},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"lifecycle_stage_display":{"type":"string","nullable":true,"readOnly":true},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"industry_display":{"type":"string","nullable":true,"readOnly":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"assigned_to":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"account_owner":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformation"}],"nullable":true},"days_since_last_contact":{"type":"integer","nullable":true,"readOnly":true},"is_follow_up_overdue":{"type":"boolean","readOnly":true},"primary_contact":{"allOf":[{"$ref":"#/components/schemas/ClientContactMini"}],"nullable":true,"readOnly":true},"date_created":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"last_updated":{"type":"string","format":"date-time","readOnly":true,"nullable":true}},"required":["account_owner","assigned_to","created_by","date_created","days_since_last_contact","entity_type_display","industry_display","is_follow_up_overdue","last_updated","lifecycle_stage_display","name","primary_contact"]},"ClientPersonMini":{"type":"object","description":"Lightweight serializer for Person model.\nUsed for nested person references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"full_name":{"type":"string","readOnly":true}},"required":["full_name"]},"ClientAddress":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformation":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"ClientContactMini":{"type":"object","description":"Lightweight serializer for Contact model.\nUsed for nested contact references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"first_name":{"type":"string","maxLength":150},"last_name":{"type":"string","maxLength":150},"name":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","nullable":true,"maxLength":254},"phone":{"type":"string","nullable":true,"maxLength":17},"job_title":{"type":"string","readOnly":true,"nullable":true},"primary_contact":{"type":"boolean","description":"Indicates if this is the primary contact for the entity"},"is_active":{"type":"boolean"},"entity_type":{"enum":["client","vendor","lead"],"type":"string","description":"Type of entity this contact belongs to\n\n* `client` - Client\n* `vendor` - Vendor\n* `lead` - Lead"},"entity_id":{"type":"string","nullable":true,"description":"ID of the entity this contact belongs to (optional for potential clients/vendors)","maxLength":100}},"required":["entity_type","first_name","job_title","last_name","name"]}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/create/":{"post":{"operationId":"organisation_clients_create_create","description":"Create a new client. Client name is required.","summary":"Create client","parameters":[{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true}],"tags":["Clients"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRequest"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ClientRequest"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ClientRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}},"description":""},"400":{"description":"Bad Request - Invalid input or missing required fields"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}}}}}}
```

## Get client

> Retrieve a specific client

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"Client":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"entity_type_display":{"type":"string","nullable":true,"readOnly":true},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"lifecycle_stage_display":{"type":"string","nullable":true,"readOnly":true},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"industry_display":{"type":"string","nullable":true,"readOnly":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"assigned_to":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"account_owner":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformation"}],"nullable":true},"days_since_last_contact":{"type":"integer","nullable":true,"readOnly":true},"is_follow_up_overdue":{"type":"boolean","readOnly":true},"primary_contact":{"allOf":[{"$ref":"#/components/schemas/ClientContactMini"}],"nullable":true,"readOnly":true},"date_created":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"last_updated":{"type":"string","format":"date-time","readOnly":true,"nullable":true}},"required":["account_owner","assigned_to","created_by","date_created","days_since_last_contact","entity_type_display","industry_display","is_follow_up_overdue","last_updated","lifecycle_stage_display","name","primary_contact"]},"ClientPersonMini":{"type":"object","description":"Lightweight serializer for Person model.\nUsed for nested person references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"full_name":{"type":"string","readOnly":true}},"required":["full_name"]},"ClientAddress":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformation":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"ClientContactMini":{"type":"object","description":"Lightweight serializer for Contact model.\nUsed for nested contact references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"first_name":{"type":"string","maxLength":150},"last_name":{"type":"string","maxLength":150},"name":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","nullable":true,"maxLength":254},"phone":{"type":"string","nullable":true,"maxLength":17},"job_title":{"type":"string","readOnly":true,"nullable":true},"primary_contact":{"type":"boolean","description":"Indicates if this is the primary contact for the entity"},"is_active":{"type":"boolean"},"entity_type":{"enum":["client","vendor","lead"],"type":"string","description":"Type of entity this contact belongs to\n\n* `client` - Client\n* `vendor` - Vendor\n* `lead` - Lead"},"entity_id":{"type":"string","nullable":true,"description":"ID of the entity this contact belongs to (optional for potential clients/vendors)","maxLength":100}},"required":["entity_type","first_name","job_title","last_name","name"]}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/{unique_id}/":{"get":{"operationId":"organisation_clients_retrieve","description":"Retrieve a specific client","summary":"Get client","parameters":[{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true},{"in":"path","name":"unique_id","schema":{"type":"string"},"required":true}],"tags":["Clients"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}},"description":""},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Update client

> Update a specific client (full or partial update)

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"ClientRequest":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","minLength":1,"description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddressRequest"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformationRequest"}],"nullable":true}},"required":["name"]},"ClientAddressRequest":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformationRequest":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"Client":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"entity_type_display":{"type":"string","nullable":true,"readOnly":true},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"lifecycle_stage_display":{"type":"string","nullable":true,"readOnly":true},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"industry_display":{"type":"string","nullable":true,"readOnly":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"assigned_to":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"account_owner":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformation"}],"nullable":true},"days_since_last_contact":{"type":"integer","nullable":true,"readOnly":true},"is_follow_up_overdue":{"type":"boolean","readOnly":true},"primary_contact":{"allOf":[{"$ref":"#/components/schemas/ClientContactMini"}],"nullable":true,"readOnly":true},"date_created":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"last_updated":{"type":"string","format":"date-time","readOnly":true,"nullable":true}},"required":["account_owner","assigned_to","created_by","date_created","days_since_last_contact","entity_type_display","industry_display","is_follow_up_overdue","last_updated","lifecycle_stage_display","name","primary_contact"]},"ClientPersonMini":{"type":"object","description":"Lightweight serializer for Person model.\nUsed for nested person references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"full_name":{"type":"string","readOnly":true}},"required":["full_name"]},"ClientAddress":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformation":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"ClientContactMini":{"type":"object","description":"Lightweight serializer for Contact model.\nUsed for nested contact references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"first_name":{"type":"string","maxLength":150},"last_name":{"type":"string","maxLength":150},"name":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","nullable":true,"maxLength":254},"phone":{"type":"string","nullable":true,"maxLength":17},"job_title":{"type":"string","readOnly":true,"nullable":true},"primary_contact":{"type":"boolean","description":"Indicates if this is the primary contact for the entity"},"is_active":{"type":"boolean"},"entity_type":{"enum":["client","vendor","lead"],"type":"string","description":"Type of entity this contact belongs to\n\n* `client` - Client\n* `vendor` - Vendor\n* `lead` - Lead"},"entity_id":{"type":"string","nullable":true,"description":"ID of the entity this contact belongs to (optional for potential clients/vendors)","maxLength":100}},"required":["entity_type","first_name","job_title","last_name","name"]}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/{unique_id}/update/":{"put":{"operationId":"organisation_clients_update_update","description":"Update a specific client (full or partial update)","summary":"Update client","parameters":[{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true},{"in":"path","name":"unique_id","schema":{"type":"string"},"required":true}],"tags":["Clients"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRequest"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ClientRequest"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ClientRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}},"description":""},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Update client

> Update a specific client (full or partial update)

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"PatchedClientRequest":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","minLength":1,"description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddressRequest"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformationRequest"}],"nullable":true}}},"ClientAddressRequest":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformationRequest":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"Client":{"type":"object","description":"Comprehensive serializer for Client model.\nHandles multilingual fields, nested relationships, and computed fields.\nOptimized for list and detail views with optional prefetching support.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"name":{"type":"string","maxLength":300},"description":{"type":"string","nullable":true},"entity_type":{"enum":["individual","company","non_profit","government","partnership","other"],"type":"string","description":"* `individual` - Individual\n* `company` - Company\n* `non_profit` - Non-Profit Organization\n* `government` - Government Entity\n* `partnership` - Partnership\n* `other` - Other"},"entity_type_display":{"type":"string","nullable":true,"readOnly":true},"lifecycle_stage":{"enum":["prospect","active_client","matured_client","inactive","dormant","lost_opportunity"],"type":"string","description":"* `prospect` - Prospect\n* `active_client` - Active Client\n* `matured_client` - Matured Client\n* `inactive` - Inactive\n* `dormant` - Dormant\n* `lost_opportunity` - Lost Opportunity","title":"Client Lifecycle Stage"},"lifecycle_stage_display":{"type":"string","nullable":true,"readOnly":true},"industry":{"enum":["agriculture","cleaning","construction","consulting","creative","education","events","handyman","health","home_based","hospitality","it_support","legal","logistics","manufacturing","marketing","music","non_profit","online_retail","photography","printing","professional","travel","utilities","wholesale","writing","virtual_assistance","other","",null],"type":"string","description":"* `agriculture` - Agriculture and Farming\n* `cleaning` - Cleaning Services\n* `construction` - Construction and Real Estate Services\n* `consulting` - Consulting and Freelancing\n* `creative` - Creative and Design Services\n* `education` - Education and Tutoring Services\n* `events` - Entertainment and Events Planning\n* `handyman` - Handyman and Home Repair Services\n* `health` - Health and Wellness\n* `home_based` - Home-Based Businesses\n* `hospitality` - Hospitality and Tourism\n* `it_support` - IT and Software Support Services\n* `legal` - Legal and Financial Services\n* `logistics` - Logistics and Delivery Services\n* `manufacturing` - Manufacturing and Small-Scale Production\n* `marketing` - Marketing and Advertising Services\n* `music` - Music and Entertainment Services\n* `non_profit` - Non-Profit and Social Enterprises\n* `online_retail` - Online Retail and E-commerce\n* `photography` - Photography and Videography Services\n* `printing` - Printing and Copy Services\n* `professional` - Professional Services\n* `travel` - Travel Agencies\n* `utilities` - Utilities and Renewable Energy Services\n* `wholesale` - Wholesale and Distribution\n* `writing` - Writing and Editing Services\n* `virtual_assistance` - Virtual Assistance and Admin Support\n* `other` - Other","nullable":true},"industry_display":{"type":"string","nullable":true,"readOnly":true},"website":{"type":"string","format":"uri","nullable":true,"maxLength":300},"company_size":{"type":"string","nullable":true,"maxLength":100},"annual_revenue":{"type":"string","format":"decimal","pattern":"^-?\\d{0,13}(?:\\.\\d{0,2})?$","nullable":true,"description":"Annual revenue in USD"},"default_currency":{"type":"string","description":"Default currency code (ISO 4217) for this entity's transactions","maxLength":3},"first_contact_date":{"type":"string","format":"date","nullable":true},"last_contact_date":{"type":"string","format":"date","nullable":true},"next_follow_up_date":{"type":"string","format":"date","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"assigned_to":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"account_owner":{"allOf":[{"$ref":"#/components/schemas/ClientPersonMini"}],"readOnly":true},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"}],"nullable":true},"banking_information":{"allOf":[{"$ref":"#/components/schemas/ClientBankingInformation"}],"nullable":true},"days_since_last_contact":{"type":"integer","nullable":true,"readOnly":true},"is_follow_up_overdue":{"type":"boolean","readOnly":true},"primary_contact":{"allOf":[{"$ref":"#/components/schemas/ClientContactMini"}],"nullable":true,"readOnly":true},"date_created":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"last_updated":{"type":"string","format":"date-time","readOnly":true,"nullable":true}},"required":["account_owner","assigned_to","created_by","date_created","days_since_last_contact","entity_type_display","industry_display","is_follow_up_overdue","last_updated","lifecycle_stage_display","name","primary_contact"]},"ClientPersonMini":{"type":"object","description":"Lightweight serializer for Person model.\nUsed for nested person references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"full_name":{"type":"string","readOnly":true}},"required":["full_name"]},"ClientAddress":{"type":"object","description":"Serializer for Address model.\nCountry field is explicitly defined as CharField to handle django-countries CountryField.","properties":{"address_line_1":{"type":"string","nullable":true,"maxLength":300},"address_line_2":{"type":"string","nullable":true,"maxLength":300},"city":{"type":"string","nullable":true,"maxLength":300},"province_state":{"type":"string","nullable":true,"title":"Province/State","maxLength":300},"postal_code":{"type":"string","nullable":true,"maxLength":300},"country":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true,"title":"Phone Number","pattern":"^\\+?1?\\d{9,15}$","maxLength":17}}},"ClientBankingInformation":{"type":"object","description":"Serializer for BankingInformation model with all banking fields.","properties":{"bank_name":{"type":"string","nullable":true,"maxLength":200},"account_number":{"type":"string","nullable":true,"maxLength":100},"branch_code":{"type":"string","nullable":true,"maxLength":50},"account_type":{"enum":["checking","savings","business","other","",null],"type":"string","description":"* `checking` - Checking\n* `savings` - Savings\n* `business` - Business\n* `other` - Other","nullable":true},"routing_number":{"type":"string","nullable":true,"maxLength":50},"swift_code":{"type":"string","nullable":true,"maxLength":50}}},"ClientContactMini":{"type":"object","description":"Lightweight serializer for Contact model.\nUsed for nested contact references in other serializers.","properties":{"unique_id":{"type":"string","nullable":true,"maxLength":100},"first_name":{"type":"string","maxLength":150},"last_name":{"type":"string","maxLength":150},"name":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","nullable":true,"maxLength":254},"phone":{"type":"string","nullable":true,"maxLength":17},"job_title":{"type":"string","readOnly":true,"nullable":true},"primary_contact":{"type":"boolean","description":"Indicates if this is the primary contact for the entity"},"is_active":{"type":"boolean"},"entity_type":{"enum":["client","vendor","lead"],"type":"string","description":"Type of entity this contact belongs to\n\n* `client` - Client\n* `vendor` - Vendor\n* `lead` - Lead"},"entity_id":{"type":"string","nullable":true,"description":"ID of the entity this contact belongs to (optional for potential clients/vendors)","maxLength":100}},"required":["entity_type","first_name","job_title","last_name","name"]}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/{unique_id}/update/":{"patch":{"operationId":"organisation_clients_update_partial_update","description":"Update a specific client (full or partial update)","summary":"Update client","parameters":[{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true},{"in":"path","name":"unique_id","schema":{"type":"string"},"required":true}],"tags":["Clients"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchedClientRequest"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PatchedClientRequest"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/PatchedClientRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}},"description":""},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Delete client

> Delete a specific client

```json
{"openapi":"3.0.3","info":{"title":"Skhokho API","version":"v1.0"},"tags":[{"name":"Clients","description":"Client and customer relationship management"}],"servers":[{"url":"https://skhokho.ai","description":"Production"},{"url":"http://102.209.118.152:8000/","description":"Local"},{"url":"https://dev.skhokho.ai","description":"Development"}],"security":[{"cookieAuth":[]},{"basicAuth":[]}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"basicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/api/v1.0/organisation/{org_uid}/clients/{unique_id}/delete/":{"delete":{"operationId":"organisation_clients_delete_destroy","description":"Delete a specific client","summary":"Delete client","parameters":[{"in":"path","name":"org_uid","schema":{"type":"string"},"required":true},{"in":"path","name":"unique_id","schema":{"type":"string"},"required":true}],"tags":["Clients"],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```
