### Overview

In order to upload document for order, you can consume the endpoint presented in this article. In order to consume it, you must:

- Be authenticated user

For information on how you can authenticate, see: [Authentication](https://developer.sellercloud.com/dev-article/authentication/)

As soon as you do authentication and receive a valid token, it needs to be passed to the service call.

### Endpoint

Example for such endpoint for **TT** server is:

https://tt.api.sellercloud.com/rest/api/Orders/{id}/UploadDocument

For your server endpoint will be:

https://{your_server_id}.api.sellercloud.com/rest/api/Orders/{id}/UploadDocument

### Request

Information about expected request parameters can be found on swagger UI [https://tt/api.sellercloud.com/rest/swagger](https://tt/api.sellercloud.com/rest/swagger).

- Method Type: **HttpPost**
- Authorization: Use **Bearer Token** (where ‘Token’ is the token received from token authentication)
- Header info: **Content-Type: application/json**
- Parameters: ID of order for which to upload a document
- Request Body:

```
{
  "FileContent": "string",
  "FileName": "string"
}
```

| **Parameter** | **Data Type** | **Description** | **Is Required** |
| --- | --- | --- | --- |
| FileContent | string | Base 64 encoded string representing the file content.<br>Example of how to get Base 64 encoded string of a file in c#:<br>var fileContent = Convert.ToBase64String(File.ReadAllBytes(“”)); | true |
| FileName | string | The name of the file to upload.<br>NOTE: The file extension should be included. Example “document.xlsx” | true |

### Response

- If user is authenticated and document upload is successful, then response will be **Status Code 200 => OK**
- If incorrect FileName or FileContent are provided, then response will be **Status Code 400 => Bad Request**
- If user is not authenticated, then response will be **Status Code 401 => Not Valid Token**
- In case of error, response will be **Status Code 500 => Internal Server Error**
