# Update Project

This API allows users to update the projects.

### Authentication

Project update is subject to user roles and permissions.

**Method**: Bearer Token or API Key

**Details**: For bearer token header name should be `X-OpsMx-Auth.`API keys can be generated from the SSD UI.&#x20;

### Request Details

#### Endpoint URL

| **Method** | **URL Path**                             |
| ---------- | ---------------------------------------- |
| POST       | {host}/ssdservice/v1/scan/project/update |

### Request Headers

| **Header**   | **Description**                 |
| ------------ | ------------------------------- |
| Content-Type | application/json                |
| X-OpsMx-Auth | Bearer Token for authentication |

### Request Params

| Header | Description                       | Comment                                                                                                                                     |
| ------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| orgId  | ID of current organisation of ssd | <p><br></p>                                                                                                                                 |
| teamId | Comma separated teamIds           | The team id will be checked for user permissions. In case user does not have proper permission to any team, project updation will be denied |

#### CURL Example

{% code overflow="wrap" %}

```
curl --location --globoff '{host}/ssdservice/v1/scan/project/update?orgId=bbcd3005-5a94-4ab8-a42d-449bb11e78a9&teamId=6d226f5a-605d-41d5-8fed-e32e91213b6f' \
--header 'X-OpsMx-Auth: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '[
    {
        "name": "test-git-1",
        "scanType": "sourceScan",
        "platform": "github",
        "accountName": "github-prabhu (stage)",
        "teamName": "stage",
        "scanLevel": "repoLevel",
        "organisation": "PrabhuQA",
        "type": "user",
        "projectConfigs": [
            {
                "repository": "audit-service",
                "scheduleTime": 0,
                "branch": [
                    "onlyMain"
                ],
                "branchPattern": "",
                "scanUpto": 0
            }
        ]
    }
]'
```

{% endcode %}

### Request Body (JSON)

```
[
    {
        "name": "test-git-1",
        "scanType": "sourceScan",
        "platform": "github",
        "accountName": "github-prabhu (stage)",
        "teamName": "stage",
        "scanLevel": "repoLevel",
        "organisation": "PrabhuQA",
        "type": "user",
        "projectConfigs": [
            {
                "repository": "audit-service",
                "scheduleTime": 0,
                "branch": [
                    "onlyMain"
                ],
                "branchPattern": "",
                "scanUpto": 0
            }
        ]
    }
]
```

### Request Body (Artifact)

The project is identified using the name field.

```
[
  {
    "name": "sample-docker-artifact-project",
    "scanType": "artifactScan",
    "platform": "docker",
    "accountName": "test",
    "teamName": "test",
    "scanLevel": "repoLevel",
    "organisation": "opsmx11",
    "type": "",
    "projectConfigs": [
      {
        "repository": "restapp",
        "scheduleTime": 0,
        "tag": [
          "simple-restapp-17412"
        ],
        "tagPattern": "",
        "scanUpto": 0
      }
    ]
  }
]

```

### Response Details

#### Success Response (Status Code: 200/201)

```
{
    "project1": "Succesfully Updated!",
    "project2": "Succesfully Updated!"
}
```

### Error Responses

| **Status Code** | **Description**                                             | **Example Error Response**            |
| --------------- | ----------------------------------------------------------- | ------------------------------------- |
| 400             | Bad Request (Invalid parameters or missing required fields) | {"error": "Invalid input data."}      |
| 401             | Unauthorized (Missing or invalid authentication token)      | {"error": "Authentication required."} |
| 500             | Some issues in Server                                       | {"error": "Resource not found."}      |

\ <br>


---

# 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://docs.opsmx.com/ssd/security-risk-and-prioritization/ssd-apis/update-project.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.
