# Update User Profile PATCH /api/v1/iam/user/profile/ Content-Type: application/json Updates user profile information including both basic user data and details. Reference: https://docs.aisquare.studio/api-reference/ai-square-studio-api/iam/user-profile-partial-update ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: AISquare Studio API version: 1.0.0 paths: /api/v1/iam/user/profile/: patch: operationId: user-profile-partial-update summary: Update User Profile description: >- Updates user profile information including both basic user data and details. tags: - subpackage_iam responses: '200': description: Updated user profile with full details content: application/json: schema: $ref: '#/components/schemas/IAMUserDetailView' '400': description: Invalid input data content: application/json: schema: description: Any type '401': description: Unauthorized content: application/json: schema: description: Any type '404': description: User detail not found content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUserProfileUpdate' components: schemas: DeveloperSkill: type: object properties: id: type: integer name: type: string description: type: - string - 'null' required: - id - name title: DeveloperSkill InvestmentInterest: type: object properties: id: type: integer name: type: string description: type: - string - 'null' required: - id - name title: InvestmentInterest Tag: type: object properties: name: type: string required: - name title: Tag IAMUserDetail: type: object properties: profile_picture: type: string format: uri bio: type: - string - 'null' address: description: Any type country: type: string phone: type: - string - 'null' dob: type: - string - 'null' format: date user_type: type: string linkedin_url: type: - string - 'null' format: uri github_url: type: - string - 'null' format: uri twitter_url: type: - string - 'null' format: uri facebook_url: type: - string - 'null' format: uri website_url: type: - string - 'null' format: uri portfolio_url: type: - string - 'null' format: uri skills: type: array items: type: string investment_interests: type: array items: type: string technical_interests: type: - array - 'null' items: type: string focus_area: type: - array - 'null' items: type: string resume: type: string format: uri communication_preferences_phone: type: - boolean - 'null' default: false communication_preferences_email: type: - boolean - 'null' default: false platform_features_emails: type: - boolean - 'null' default: false activity_based_emails: type: - boolean - 'null' default: false company_info: description: Any type skills_data: type: array items: $ref: '#/components/schemas/DeveloperSkill' investment_interests_data: type: array items: $ref: '#/components/schemas/InvestmentInterest' technical_interests_data: type: array items: $ref: '#/components/schemas/DeveloperSkill' focus_area_data: type: array items: $ref: '#/components/schemas/Tag' additional_data: oneOf: - description: Any type - type: 'null' top_domain_elo: type: number format: double top_domain_rank: type: integer streak: type: string highest_streak: type: string streak_freeze_days: type: string title: type: string unlocked_titles: type: string followers_count: type: integer following_count: type: integer is_following: type: boolean is_followed_back: type: boolean required: - user_type - skills_data - investment_interests_data - technical_interests_data - focus_area_data - top_domain_elo - top_domain_rank - streak - highest_streak - streak_freeze_days - title - unlocked_titles - followers_count - following_count - is_following - is_followed_back title: IAMUserDetail PatchedUserProfileUpdate: type: object properties: full_name: type: string username: type: string description: >- Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. details: $ref: '#/components/schemas/IAMUserDetail' description: >- Serializer for updating user profile information from both IAMUser and IAMUserDetail models. Uses nested serializer for detail fields. title: PatchedUserProfileUpdate IAMUserDetailView: type: object properties: user_id: type: string full_name: type: string email: type: string format: email username: type: string created_at: type: string format: date-time profile_picture: type: string format: uri bio: type: string address: description: Any type country: type: string phone: type: string dob: type: string format: date linkedin_url: type: string format: uri github_url: type: string format: uri twitter_url: type: string format: uri facebook_url: type: string format: uri website_url: type: string format: uri portfolio_url: type: string format: uri skills: type: array items: type: integer investment_interests: type: array items: type: integer technical_interests: type: array items: type: integer focus_area: type: array items: type: integer resume: type: string format: uri company_info: description: Any type communication_preferences_phone: type: boolean communication_preferences_email: type: boolean platform_features_emails: type: boolean activity_based_emails: type: boolean skills_data: type: array items: $ref: '#/components/schemas/DeveloperSkill' investment_interests_data: type: array items: $ref: '#/components/schemas/InvestmentInterest' technical_interests_data: type: array items: $ref: '#/components/schemas/DeveloperSkill' focus_area_data: type: array items: $ref: '#/components/schemas/Tag' additional_data: oneOf: - description: Any type - type: 'null' followers_count: type: integer following_count: type: integer is_following: type: boolean is_followed_back: type: boolean is_current_user: type: boolean top_domain_elo: type: number format: double top_domain_rank: type: integer streak: type: string highest_streak: type: string streak_freeze_days: type: string title: type: string unlocked_titles: type: string required: - user_id - full_name - email - username - created_at - profile_picture - bio - address - country - phone - dob - linkedin_url - github_url - twitter_url - facebook_url - website_url - portfolio_url - resume - company_info - communication_preferences_phone - communication_preferences_email - platform_features_emails - activity_based_emails - skills_data - investment_interests_data - technical_interests_data - focus_area_data - followers_count - following_count - is_following - is_followed_back - is_current_user - top_domain_elo - top_domain_rank - streak - highest_streak - streak_freeze_days - title - unlocked_titles title: IAMUserDetailView ``` ## SDK Code Examples ```python Profile Update Example import requests url = "https://api.example.com/api/v1/iam/user/profile/" payload = { "full_name": "John Doe", "username": "johndoe", "details": { "user_type": "developer", "bio": "Software developer passionate about AI and open source projects", "country": "USA", "linkedin_url": "https://linkedin.com/in/johndoe", "github_url": "https://github.com/johndoe", "twitter_url": "https://twitter.com/johndoe", "website_url": "https://johndoe.com", "focus_area": ["Machine Learning", "Python", "Web Development"], "platform_features_emails": True, "activity_based_emails": False } } headers = {"Content-Type": "application/json"} response = requests.patch(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Profile Update Example const url = 'https://api.example.com/api/v1/iam/user/profile/'; const options = { method: 'PATCH', headers: {'Content-Type': 'application/json'}, body: '{"full_name":"John Doe","username":"johndoe","details":{"user_type":"developer","bio":"Software developer passionate about AI and open source projects","country":"USA","linkedin_url":"https://linkedin.com/in/johndoe","github_url":"https://github.com/johndoe","twitter_url":"https://twitter.com/johndoe","website_url":"https://johndoe.com","focus_area":["Machine Learning","Python","Web Development"],"platform_features_emails":true,"activity_based_emails":false}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Profile Update Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.example.com/api/v1/iam/user/profile/" payload := strings.NewReader("{\n \"full_name\": \"John Doe\",\n \"username\": \"johndoe\",\n \"details\": {\n \"user_type\": \"developer\",\n \"bio\": \"Software developer passionate about AI and open source projects\",\n \"country\": \"USA\",\n \"linkedin_url\": \"https://linkedin.com/in/johndoe\",\n \"github_url\": \"https://github.com/johndoe\",\n \"twitter_url\": \"https://twitter.com/johndoe\",\n \"website_url\": \"https://johndoe.com\",\n \"focus_area\": [\n \"Machine Learning\",\n \"Python\",\n \"Web Development\"\n ],\n \"platform_features_emails\": true,\n \"activity_based_emails\": false\n }\n}") req, _ := http.NewRequest("PATCH", url, payload) req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Profile Update Example require 'uri' require 'net/http' url = URI("https://api.example.com/api/v1/iam/user/profile/") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["Content-Type"] = 'application/json' request.body = "{\n \"full_name\": \"John Doe\",\n \"username\": \"johndoe\",\n \"details\": {\n \"user_type\": \"developer\",\n \"bio\": \"Software developer passionate about AI and open source projects\",\n \"country\": \"USA\",\n \"linkedin_url\": \"https://linkedin.com/in/johndoe\",\n \"github_url\": \"https://github.com/johndoe\",\n \"twitter_url\": \"https://twitter.com/johndoe\",\n \"website_url\": \"https://johndoe.com\",\n \"focus_area\": [\n \"Machine Learning\",\n \"Python\",\n \"Web Development\"\n ],\n \"platform_features_emails\": true,\n \"activity_based_emails\": false\n }\n}" response = http.request(request) puts response.read_body ``` ```java Profile Update Example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.example.com/api/v1/iam/user/profile/") .header("Content-Type", "application/json") .body("{\n \"full_name\": \"John Doe\",\n \"username\": \"johndoe\",\n \"details\": {\n \"user_type\": \"developer\",\n \"bio\": \"Software developer passionate about AI and open source projects\",\n \"country\": \"USA\",\n \"linkedin_url\": \"https://linkedin.com/in/johndoe\",\n \"github_url\": \"https://github.com/johndoe\",\n \"twitter_url\": \"https://twitter.com/johndoe\",\n \"website_url\": \"https://johndoe.com\",\n \"focus_area\": [\n \"Machine Learning\",\n \"Python\",\n \"Web Development\"\n ],\n \"platform_features_emails\": true,\n \"activity_based_emails\": false\n }\n}") .asString(); ``` ```php Profile Update Example request('PATCH', 'https://api.example.com/api/v1/iam/user/profile/', [ 'body' => '{ "full_name": "John Doe", "username": "johndoe", "details": { "user_type": "developer", "bio": "Software developer passionate about AI and open source projects", "country": "USA", "linkedin_url": "https://linkedin.com/in/johndoe", "github_url": "https://github.com/johndoe", "twitter_url": "https://twitter.com/johndoe", "website_url": "https://johndoe.com", "focus_area": [ "Machine Learning", "Python", "Web Development" ], "platform_features_emails": true, "activity_based_emails": false } }', 'headers' => [ 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp Profile Update Example using RestSharp; var client = new RestClient("https://api.example.com/api/v1/iam/user/profile/"); var request = new RestRequest(Method.PATCH); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"full_name\": \"John Doe\",\n \"username\": \"johndoe\",\n \"details\": {\n \"user_type\": \"developer\",\n \"bio\": \"Software developer passionate about AI and open source projects\",\n \"country\": \"USA\",\n \"linkedin_url\": \"https://linkedin.com/in/johndoe\",\n \"github_url\": \"https://github.com/johndoe\",\n \"twitter_url\": \"https://twitter.com/johndoe\",\n \"website_url\": \"https://johndoe.com\",\n \"focus_area\": [\n \"Machine Learning\",\n \"Python\",\n \"Web Development\"\n ],\n \"platform_features_emails\": true,\n \"activity_based_emails\": false\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Profile Update Example import Foundation let headers = ["Content-Type": "application/json"] let parameters = [ "full_name": "John Doe", "username": "johndoe", "details": [ "user_type": "developer", "bio": "Software developer passionate about AI and open source projects", "country": "USA", "linkedin_url": "https://linkedin.com/in/johndoe", "github_url": "https://github.com/johndoe", "twitter_url": "https://twitter.com/johndoe", "website_url": "https://johndoe.com", "focus_area": ["Machine Learning", "Python", "Web Development"], "platform_features_emails": true, "activity_based_emails": false ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.example.com/api/v1/iam/user/profile/")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```