# Get Pre-signed URL

### Request Method

GET

### Request URL

```
{{BASE_URL}}/ingestion/elt/url/pre-sign
```

### Request Headers

| Parameter             | Data Type | Field Validations | Description                                                                                            |
| --------------------- | --------- | ----------------- | ------------------------------------------------------------------------------------------------------ |
| x-cleartax-product    | String    | NA                | Mandatory. This will be “GST”.                                                                         |
| x-workspace-id        | String    | NA                | Mandatory. Workspace ID.                                                                               |
| x-cleartax-orgunit    | String    | NA                | Mandatory. Organization Unit ID.                                                                       |
| x-cleartax-auth-token | String    | NA                | Mandatory. Access token linked to the workspace and environment.                                       |
| filecontenttype       | String    | Valid mime type   | Mandatory. Content Type of the File to be uploaded. Eg: For Excel file, use “application/vnd.ms-excel” |

### Request Path Params

There will be no path parameters body for this API.

### Request Query Params

| Parameter  | Data Type | Field Validations | Description                                 |
| ---------- | --------- | ----------------- | ------------------------------------------- |
| file\_name | String    | NA                | Mandatory. Name of the file to be uploaded. |

### Request Body

There will be no request body for this API.

### Response Status Codes

| HTTP Status Code | Description  |
| ---------------- | ------------ |
| 200              | OK           |
| 400              | Bad request  |
| 401              | Unauthorized |
| 403              | Forbidden    |

### Response Schema

| Parameter | Data Type | Field Validations | Description                                |
| --------- | --------- | ----------------- | ------------------------------------------ |
| status    | String    | NA                | If success, this will be “OK”              |
| payload   | String    | NA                | Pre-signed URL to be used in the next API. |

### Sample Request and Response

#### Request

```
curl --location 'https://api-sandbox.clear.in/ingestion/elt/url/pre-sign?file_name=report.xlsx' \
--header 'filecontenttype: application/vnd.ms-excel' \
--header 'x-cleartax-product: GST' \
--header 'x-workspace-id: ' \
--header 'x-cleartax-orgunit: ' \
--header 'x-cleartax-auth-token: ' \
--data ''
```

#### Response (Success)

**HTTP Status Code: 200 OK**

```json
{
    "status": "OK",
    "payload": "https://storage.clear.in/v1/ap-south-1/ingestionv2-staging//ADVANCE_INGESTION/2024/FEBRUARY/46e7b2e2-ff4e-4446-bb8f-74cf24c63074/OriginalFileName/46e7b2e2-ff4e-4446-bb8f-74cf24c63074__1707129770988.xlsx?X-Amz-Security-Token=IQoJb3JpZ2luX2VjENr%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCmFwLXNvdXRoLTEiSDBGAiEA4K7aIxuPKKAYH%2BHa2nGWlWpFAOxzJCOMscw5C8wgSK4CIQDgk%2Fg7RuzgGVQ4O6rKozFPz7hc9jHNwBJbRQ5yja2v1SqLBQij%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAYaDDIxOTM0MTkwNzk4MyIMVvwsu4s1lX%2FRU%2BvMKt8Ec4frMnc9GKQ7Ti%2FsJjmc2FvuhiB2yayAowhrQkiwG3SFPM9PZJk2xtmrtSV2bySD0B7aOcJfXI3OlZXV88CiE%2BGmtCfyBToHBOQNdcCi9ROPBf0FXdJz8lolBMVn%2Bq4UdpCTc5vN6RN6cy3xefJi4lZF05ASLK0lOamw%2ByKD24KMnokTePjrXqpU1sm8RDWyon3nGBA978euaSZetlOnqOVEfSkbodR39jhwNVi%2B%2FitdNPA4BZz%2FzCDIYpPnKnn7nJdlHCg6DPaWHBNtTr5Sk4rYOVNq2gqBYfWe3QVWbKNGszaW%2FXGlZS5vf7oIkkRku9elRXhbnT%2FQ%2F%2BBk7pX5LthvrseDANIAR6MerNz6aF%2F1cjyQVKOiwmaAc%2BoZDs47riZUBRNjm%2BQ36WxTESNk6s9zxcNmw2%2BRysQ9ZnU5zSOiealYVIvvuXDMXXNxuQSENMRJWKp4zD8pwOqn4Kkj7tjBhex%2Fd2pa%2BRSVfHTc%2Biqyy2lQ2pO5jwR0uG7hn8H87u82OCEkh7bHg3K9rXZffWpCFGft06CN6JSC8iXZdxIt7o6Mf2NL0vTd6OqbpFccwR8R%2FaNuZMqullGQuRY6d5PtCYDRvo4pz3uOknhPHhifQlNfUFU3Qw92hKdxqxRAr%2FxuKxKxxiBuzzq7bTeWXJlzfEHwv%2BTUzClzGHswCEP099gJAlSqqTyE1TGdNbtw5uspCJupPRCPk8lL526GCB30BBhNKxNf8zVM5BrUHGPv0aR36BriAEy6y0hT79vJSJENM90CAmAFRYHdwcHHp7ftibQ36u8aT4DtvdzDJ64KuBjqZAeVDd7IdhEfhRyj%2FhzvW1Aq%2BZELINglPDtWvTMu4AsjOcXmPso0nNSmdGK4GuIg%2Bxh%2BHjyonBO4dkoOA4YweWmcOz9O%2BWvysgTjkfI1Av34oj6HcOn6SzIb%2BNgIDmuZDkaD%2BTOlHWfU0SyUjXGOxSqmPcWY%2Bn2PRzahfOdi1H59Kp5MxdEWS41ThFFEhsme20ytDiF6A28e2eA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240205T104250Z&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Expires=36000&X-Amz-Credential=ASIATGEOL5AHYCWHQ6W7%2F20240205%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Signature=a5e1cd9d3a0886a8865c8c1805ef5ada0a559920995f14c746f0d1f9da21b5ff"
}
```

#### Response (Failure)

HTTP Status Code: 401 Unauthorized

```json
{
    "status": "UNAUTHORIZED",
    "error": "User is not authorized to perform this action",
    "timestamp": "03-07-2025 07:22:01"
}
```

### API Validations <a href="#api-validations" id="api-validations"></a>

Filename cannot be empty.

### API Constraints

Once a pre-signed URL is generated, it will be valid for only 10 mins.
