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

# Create account

> Create a new bookmaker account for the authenticated client. Each client can have multiple accounts per bookmaker. Use `priority` to control which account is selected first.



## OpenAPI

````yaml /zh/abp-api/openapi.json post /accounts
openapi: 3.1.0
info:
  title: ABP v2 - Automated Bet Placing API
  description: >

    Place bets across 32 bookmakers through a single API.


    ## Authentication


    All endpoints require the `x-api-key` header (except `/health`, `/ready`,
    `/status`, `/metrics`).


    **Swagger UI**: Click the **Authorize** button (lock icon) at the top right,
    enter your API key, and click **Authorize**.


    ## Quick Start


    1. **List your accounts**: `GET /accounts`

    2. **Get live odds**: `GET /betslip?fixtureId=...&outcomeId=...&playerId=0`

    3. **Place an order**: `POST /place-orders`

    4. **Track results**: `GET /orders` or subscribe to WebSocket updates


    ## WebSocket


    Connect to `/ws` for real-time order, bet, and settlement updates.


    ```json

    {"type": "login", "apiKey": "your-api-key", "channels": []}

    ```


    Send an empty `channels` array to receive all updates. Available channels:
    `orders`, `bets`, `settlements`, `accounts`, `balance`, `betslip`,
    `fixtures`, `currencies`, `status`, `emergency`.


    Send `{"type": "ping"}` every 30 seconds to keep the connection alive.
  version: '2.0'
servers:
  - url: https://v2.55-tech.com
    description: Production
security:
  - apiKey: []
tags:
  - name: Orders
    description: Place, retrieve, and cancel betting orders
  - name: Bets
    description: Query individual bets placed with bookmakers
  - name: Betslip
    description: Get live odds and metadata for fixtures
  - name: Accounts
    description: Manage bookmaker accounts
  - name: Markets
    description: Get available markets and odds types
  - name: Bookmakers
    description: List supported bookmakers
  - name: Analytics
    description: Positions and profit/loss analytics
paths:
  /accounts:
    post:
      tags:
        - Accounts
      summary: Create account
      description: >-
        Create a new bookmaker account for the authenticated client. Each client
        can have multiple accounts per bookmaker. Use `priority` to control
        which account is selected first.
      operationId: create_account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountCreateRequest'
            example:
              bookmaker: pinnacle
              username: my_account
              password: secret123
              balance: 1000
              active: true
              priority: 10
              maxStake: 500
              minStake: 1
              currencyId: USD
              meta:
                affiliate: xyz
      responses:
        '201':
          description: Account created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountResponse'
              example:
                bookmaker: pinnacle
                username: my_account
                client: demo
                password: '***'
                balance: 1000
                active: true
                priority: 10
                maxStake: 500
                minStake: 1
                currencyId: USD
                verifyBetslip: false
                meta:
                  affiliate: xyz
                createdAt: '2026-01-01T00:00:00Z'
                updatedAt: '2026-01-15T12:00:00Z'
                multiLimitAllowed: true
                currencyInfo:
                  currency: USD
                  currencyValue: 1
                  updatedAt: '2026-02-07T17:29:32+00:00'
        '401':
          description: Unauthorized — missing or invalid API key
        '409':
          description: Account already exists (bookmaker + username must be unique)
        '500':
          description: Internal server error
components:
  schemas:
    AccountCreateRequest:
      type: object
      required:
        - bookmaker
        - username
      properties:
        bookmaker:
          type: string
          description: Bookmaker slug (e.g., 'pinnacle')
        username:
          type: string
          description: Account username
        password:
          type: string
          nullable: true
          description: Account password
        balance:
          type: number
          default: 0
          description: Initial balance
        active:
          type: boolean
          default: true
          description: Whether account is active
        priority:
          type: integer
          default: 0
          description: Priority for account selection (higher = preferred)
        maxStake:
          type: number
          nullable: true
          description: Maximum stake override
        minStake:
          type: number
          nullable: true
          description: Minimum stake override
        currencyId:
          type: string
          default: USD
          description: Account's trading currency (e.g., 'USD', 'EUR')
        meta:
          type: object
          default: {}
          description: Additional metadata
    AccountResponse:
      type: object
      properties:
        bookmaker:
          type: string
          description: Bookmaker slug
        username:
          type: string
          description: Account username
        client:
          type: string
          description: Client name that owns this account
        password:
          type: string
          nullable: true
          description: Always masked as '***'
        balance:
          type: number
          description: Current balance
        active:
          type: boolean
          description: Whether account is active
        priority:
          type: integer
          description: Priority for account selection (higher = preferred)
        maxStake:
          type: number
          nullable: true
          description: Maximum stake override
        minStake:
          type: number
          nullable: true
          description: Minimum stake override
        currencyId:
          type: string
          description: Account's trading currency
        verifyBetslip:
          type: boolean
          description: Force live odds fetch from bookmaker API
        meta:
          type: object
          description: Additional metadata
        createdAt:
          type: string
          nullable: true
          description: Creation timestamp (ISO 8601)
        updatedAt:
          type: string
          nullable: true
          description: Last update timestamp (ISO 8601)
        multiLimitAllowed:
          type: boolean
          description: Whether the account permits splitting a stake across multiple bets
        currencyInfo:
          type: object
          nullable: true
          description: >-
            Exchange rate snapshot for currencyId: { currency, currencyValue,
            updatedAt }. Null when no rate is available.
          properties:
            currency:
              type: string
            currencyValue:
              type: number
            updatedAt:
              type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Contact contact@55-tech.com to obtain a key.

````