# POST /quotes

Creates a new quote.

`POST https://api.aevo.xyz/quotes`

> **Authentication required.** Include your `AEVO-KEY` and `AEVO-SECRET` headers. See [Authentication](/api-reference/urls/authentication.md).

## Body Parameters

| Field         | Type           | Required | Description                                                                                                                          |
| ------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `block_id`    | string         | Yes      | Block ID is the unique identifier of the block Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8`         |
| `account`     | string         | Yes      | Account's Ethereum address. Example: `0xE9b3a48d15BE316A8e34FAd53fFDFDddf0C3D24b`                                                    |
| `amount`      | string         | Yes      | Number of contracts. In 6 decimals fixed number. Example: `1000000`                                                                  |
| `is_buy`      | boolean        | Yes      | True for long order, false for short order. Example: `True`                                                                          |
| `salt`        | string         | Yes      | A randomly generated number to guarantee transaction uniqueness. In 6 decimals fixed number. Example: `12345678`                     |
| `timestamp`   | string         | Yes      | Timestamp used in order signing in UNIX timestamp in seconds. Example: `1680249600`                                                  |
| `signature`   | string         | Yes      | Hash of order payload signature signed by the account. Example: `0x4c55895aa6f2dfc2da8189a71a054348ce63abbc1ae27267977e0d9cc6848e91` |
| `legs`        | array\[object] | No       |                                                                                                                                      |
| `limit_price` | string         | No       | Order limit price. In 6 decimals fixed number. Example: `1000000`                                                                    |
| `system_type` | string         | No       | Can be set to API or WEB (API is set by default)                                                                                     |

## Example Request

```bash
curl --request POST \
     --url https://api.aevo.xyz/quotes \
     --header 'accept: application/json' \
     --header 'AEVO-KEY: <your-api-key>' \
     --header 'AEVO-SECRET: <your-api-secret>' \
     --header 'content-type: application/json' \
     --data '{ ... }'
```

## Responses

**`200`** — Quote created.

| Field               | Type           | Required | Description                                                                                                                  |
| ------------------- | -------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `block_id`          | string         | Yes      | Block ID is the unique identifier of the block Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8` |
| `quote_id`          | string         | Yes      | Quote ID is the hash of the quote payload Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8`      |
| `amount`            | string         | Yes      | Number of contracts. In 6 decimals fixed number. Example: `1000000`                                                          |
| `initial_margin`    | string         | Yes      | Margin required to keep an open order. Example: `12.23`                                                                      |
| `filled`            | string         | Yes      | Amount filled. Example: `12.23`                                                                                              |
| `limit_price`       | string         | Yes      | Order limit price. In 6 decimals fixed number. Example: `1000000`                                                            |
| `quote_status`      | string         | Yes      | Quote status. Example: `filled`                                                                                              |
| `legs`              | array\[object] | No       |                                                                                                                              |
| `avg_price`         | string         | No       | Average entry price of the position. Example: `12.23`                                                                        |
| `created_timestamp` | string         | Yes      | Created timestamp in UNIX timestamp in nanoseconds. Example: `1680249600000000000`                                           |

**`400`** — Bad request.

| Field   | Type   | Required | Description                                     |
| ------- | ------ | -------- | ----------------------------------------------- |
| `error` | string | Yes      | Error message. Example: `ERR_MALFORMED_REQUEST` |

**`401`** — Unauthorized.

| Field   | Type   | Required | Description                            |
| ------- | ------ | -------- | -------------------------------------- |
| `error` | string | Yes      | Error message. Example: `UNAUTHORIZED` |

**`429`** — Rate limit exceeded.

| Field   | Type   | Required | Description                                   |
| ------- | ------ | -------- | --------------------------------------------- |
| `error` | string | Yes      | Error message. Example: `RATE_LIMIT_EXCEEDED` |

**`500`** — Internal server error.

| Field   | Type   | Required | Description                              |
| ------- | ------ | -------- | ---------------------------------------- |
| `error` | string | Yes      | Error message. Example: `INTERNAL_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://docs.aevo.xyz/api-reference/urls/private-api/postquotes.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.
