# UpdateUserProfile

## Parameters

The following URL, Headers and Parameters are required for requests to this API endpoint. Where a parameter is optional, it will be indicated. Otherwise treat all parameters as mandatory.

### Headers

```
PUT /api/ss/users/:id/profile HTTP/1.1
Host: demo.attackforge.com
X-SSAPI-KEY: APIKey
Content-Type: application/json
Connection: close
```

### Path

**id (string)**

Id of the user.

Example:

```
GET /api/ss/users/5e8017d2e1385f0c58e8f4f8/profile HTTP/1.1
```

## Body

**job\_title (string) (optional)**

Job title of the user.

Example:

```
{
    "job_title": "CEO/Chairman"
}
```

**organization (string) (optional)**

Organization of the user.

Example:

```
{
    "organization": "Wayne Foundation"
}
```

**business\_group (string) (optional)**

Business group of the user.

Example:

```
{
    "business_group": "Wayne Enterprises"
}
```

**office\_location (string) (optional)**

Office location of the user.

Example:

```
{
    "office_location": "Gotham City"
}
```

**about\_me (string) (optional)**

About the user.

Example:

```
{
    "about_me": "It's not who I am underneath, but what I do that defines me."
}
```

**tags (array of strings) (optional)**

Tags for the user.

Example:

```
{
    "tags": [
      "Vengeance"
    ]
}
```

**certifications (array of strings) (optional)**

Certifications for the user.

Example:

```
{
    "certifications": [
        "Karate Black Belt",
        "10th dan Jūdan",
        "Jiu-Jitsu Red Belt"
    ]
}
```

**education (array of objects) (optional)**

Education for the user.

Example:

```
{
    "education": [
      {
        "qualification": "Bachelor in Criminology",
        "institute": "Gotham University",
        "completed": "December 1955"
      }
    ]
}
```

**employment (array of objects) (optional)**

Employment history for the user.

"duration" must be be either "0+ Years", "1-2 Years", "2-3 Years", "3-5 Years", "5-10 Years", "10+ Years"

Example:

```
{
    "employment": [
      {
        "role": "CEO/Chairman",
        "company": "Wayne Enterprises",
        "duration": "10+ Years",
        "description": "I focus on Philanthropy and making Gotham City safer for future generations."
      }
    ]
}
```

## Example

The following example is a cURL request to update the profile for a user.

### Request

Include API Token instead of stars in 'X-SSAPI-KEY: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' parameter.

```
curl -X PUT 'https://localhost:3000/api/ss/users/5e5cbecee365f1003f3b20b8/profile' -H 'Host: localhost:3000' -H 'X-SSAPI-KEY: ***************************************' -H 'Content-Type: application/json' -H 'Connection: close' -d '{
  "job_title": "CEO/Chairman",
  "organization": "Wayne Foundation",
  "business_group": "Wayne Enterprises",
  "office_location": "Gotham City",
  "about_me": "It's not who I am underneath, but what I do that defines me.",
  "tags": [
    "Vengeance"
  ],
  "certifications": [
    "Karate Black Belt",
    "10th dan Jūdan",
    "Jiu-Jitsu Red Belt"
  ],
  "education": [
    {
      "qualification": "Bachelor in Criminology",
      "institute": "Gotham University",
      "completed": "December 1955"
    }
  ],
  "employment": [
    {
      "role": "CEO/Chairman",
      "company": "Wayne Enterprises",
      "duration": "10+ Years",
      "description": "I focus on Philanthropy and making Gotham City safer for future generations."
    }
  ]
}'
```

### Response

Response contains a status or error.

```
{
  "status": "ok | error",
  "error": "..."
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.attackforge.com/attackforge-enterprise/modules/self-service-restful-api/updateuserprofile.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
