> ## Documentation Index
> Fetch the complete documentation index at: https://staging-docs.orderly.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Create order tag

> **Limit: 1 request per second**

`POST /v1/broker/order_enum`

Create a custom trading fee configuration owned by the authenticated broker. `enum_id` is unique within that broker and immutable.

To submit a new order with this enum, construct `order_tag` as `enum:<authenticated_broker_id>:<enum_id>`.

The default active-enum limit is 10 per owning broker and is deployment-configurable.

Existing fee configurations share the same active-configuration pool regardless of which tag format historical orders used.

Common errors:

| Code | Meaning |
| --- | --- |
| `-1201` | Enum ID already exists for this owner. |
| `-1206` | Active enum limit reached. |
| `-1207` | Enum ID format is invalid. |
| `-1208` | Fee rate is invalid. |
| `-1209` | Enum ID is longer than 36 characters. |
| `-1210` | A pair override symbol is invalid. |




## OpenAPI

````yaml orderly.openapi post /v1/broker/order_enum
openapi: 3.0.1
info:
  title: EVM
  description: ''
  version: 1.0.0
servers:
  - url: https://api.orderly.org
    description: Mainnet
  - url: https://testnet-api.orderly.org
    description: Testnet
security: []
tags:
  - name: public
  - name: private
paths:
  /v1/broker/order_enum:
    post:
      tags:
        - private
      summary: Create order tag
      description: >
        **Limit: 1 request per second**


        `POST /v1/broker/order_enum`


        Create a custom trading fee configuration owned by the authenticated
        broker. `enum_id` is unique within that broker and immutable.


        To submit a new order with this enum, construct `order_tag` as
        `enum:<authenticated_broker_id>:<enum_id>`.


        The default active-enum limit is 10 per owning broker and is
        deployment-configurable.


        Existing fee configurations share the same active-configuration pool
        regardless of which tag format historical orders used.


        Common errors:


        | Code | Meaning |

        | --- | --- |

        | `-1201` | Enum ID already exists for this owner. |

        | `-1206` | Active enum limit reached. |

        | `-1207` | Enum ID format is invalid. |

        | `-1208` | Fee rate is invalid. |

        | `-1209` | Enum ID is longer than 36 characters. |

        | `-1210` | A pair override symbol is invalid. |
      parameters:
        - $ref: '#/components/parameters/orderly_timestamp'
        - $ref: '#/components/parameters/orderly_account_id'
        - $ref: '#/components/parameters/orderly_key'
        - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderEnumBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResponse'
components:
  parameters:
    orderly_timestamp:
      name: orderly-timestamp
      in: header
      description: Timestamp of the signed request in milliseconds.
      required: true
      style: simple
      explode: false
      schema:
        type: string
      example: '1649920583000'
    orderly_account_id:
      name: orderly-account-id
      in: header
      description: Account ID of the authenticated account.
      required: true
      style: simple
      explode: false
      schema:
        type: string
      example: 6.858456565150415e+75
    orderly_key:
      name: orderly-key
      in: header
      description: Public orderly key used to sign the request.
      required: true
      style: simple
      explode: false
      schema:
        type: string
      example: ed25519:8tm7dnKYkSc3FzgPuJaw1wztr79eeZpN35nHW5pL5XhX
    orderly_signature:
      name: orderly-signature
      in: header
      description: Signature of the request payload generated with the orderly key.
      required: true
      style: simple
      explode: false
      schema:
        type: string
      example: >-
        dG4bkKiqG0dUYLzViRZkvbI6Sy239JxAdNMIBxFZ4w030Jofr0ORV06GHtvXZkaZaWUXE+XAU3fnzKN/5fDeBQ==
  schemas:
    CreateOrderEnumBody:
      type: object
      required:
        - enum_id
        - name
        - default_fee_rate
      properties:
        enum_id:
          type: string
          minLength: 1
          maxLength: 36
          pattern: ^[A-Z0-9_]+$
          description: >-
            Unprefixed enum ID. Uppercase letters, digits, and underscores only;
            unique within the authenticated owner broker and immutable. To apply
            it to a new order, set `order_tag` to
            `enum:<owner_broker_id>:<enum_id>`.
          example: GRID_PRO
        name:
          type: string
          description: Human-readable enum name.
          example: Grid Pro
        description:
          type: string
          description: Human-readable purpose of the enum.
          example: Grid strategy orders
        default_fee_rate:
          type: number
          minimum: 0.00001
          maximum: 0.01
          multipleOf: 0.00001
          description: >-
            Default enum fee rate. Must be 0.00001 through 0.01 (0.001% through
            1%) with at most five decimal places.
          example: 0.005
        pair_overrides:
          type: object
          description: >-
            Optional symbol-to-fee-rate map. Every symbol must exist, and every
            rate must satisfy the same limits as `default_fee_rate`.
          additionalProperties:
            type: number
            minimum: 0.00001
            maximum: 0.01
            multipleOf: 0.00001
          example:
            PERP_BTC_USDC: 0.003
    BasicResponse:
      required:
        - success
      type: object
      properties:
        success:
          description: Indicates whether the request was successful.
          type: boolean
          example: true
        timestamp:
          description: Server timestamp in milliseconds.
          type: integer
          example: 1702989203989

````