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

# Update one settings section (step-up gated, audited diff).

> Full-object replace of one section: incident_thresholds / moderation / banner on global_settings, parlay_pool_override, liquidity_reward_settings (singleton) or one liquidity_reward_tiers row. The step-up payload binds { section, value }; the audit entry records old vs new.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/admin/actions/settings/update
openapi: 3.1.0
info:
  title: Aura API
  description: >-
    Public REST API for Aura — prediction markets on Alephium.


    This API exposes everything a user can see or do in the app:

    markets, prices, orderbook, trades, vault state, oracle and

    governance, plus build-tx endpoints that return unsigned

    transactions for the client to sign with its own wallet.


    Interactive reference: https://docs.aurabets.io/api-reference/introduction


    ## Discovery


    Built for integrators, not for lazy implementers:


    - **Faceted lists** — every list endpoint accepts `?facets=true`
      and returns category / tag / status counts in the same response,
      so a UI can render filter chips without a second request.
    - **Cursor pagination** — stable across inserts and fast at depth.
      Offset paging via `?page=` is still supported for compat.
    - **Rich filters** — `?q=`, `?category=`, `?tags=`, `?status=`,
      `?creator=`, `?minVolume=` on `/v1/markets`. Tag matching is
      AND (all listed tags must be present).
    - **Sortable** — `?sort=created-at|volume|best-bid-yes|recently-traded`
      with `?order=asc|desc`. Use `/v1/trending` for the composite-score sort.
    - **Field projection** — `?fields=id,question,bestBidYes` trims the
      wire weight for thin clients.
    - **Unified search** — `/v1/search?q=` runs a strict tsquery first
      with a fuzzy trigram fallback when nothing matches; result type is
      a discriminated union so adding events / users later is non-breaking.
    - **Transparent trending** — `/v1/trending` returns the full
      algorithm + per-market component scores so the ranking is auditable.
    - **Categories + tags as first-class** — `/v1/categories` and
      `/v1/tags` enumerate the taxonomy with market counts.

    ## Authentication


    Aura uses passkey-backed account sessions delivered as an HttpOnly

    cookie. Sign in by signing a one-time challenge with your passkey:


    ```

    POST /v1/auth/challenge   { "address": "..." }

    POST /v1/auth/session     { "address": "...", "publicKey": "...",
    "signature": "...", "passkey": { ... } }

    ```


    The `session` call sets the `aura_session` cookie and returns a CSRF

    token; send it back in the `x-csrf-token` header on every mutating

    request. `POST /v1/auth/logout` clears the session.


    Reads are accessible anonymously with low IP-based rate limits;

    write endpoints (`/v1/tx/*`, social writes) require a valid session.


    ## Rate limits


    | Tier      | Reads (req/min) | Writes (req/min) |

    |-----------|----------------:|-----------------:|

    | Anonymous | 60 per IP | 10 per IP |

    | Signed-in | 600 per wallet | 60 per wallet |


    Standard `RateLimit-*` response headers are returned on every

    request (IETF `draft-ietf-httpapi-ratelimit-headers`).


    ## Write endpoints


    Aura is non-custodial — the API never holds private keys.

    Endpoints under `/v1/tx/*` return an *unsigned* transaction

    that the caller must sign with its own wallet (passkey, mobile

    wallet, hardware wallet, etc.) and submit to an Alephium node.


    A typical "place order" flow:


    1. `POST /v1/tx/markets/{address}/orders` → server returns
       `{ unsignedTx, gasEstimate, ... }`.
    2. Wallet signs `unsignedTx`.

    3. Wallet submits the signed tx to any Alephium node.
  version: 0.1.0
  license:
    name: MIT
  contact:
    name: Aura
    url: https://docs.aurabets.io
servers:
  - url: /
    description: this server
security:
  - SessionCookie: []
  - {}
tags:
  - name: Health
    description: Liveness + version info.
  - name: Auth
    description: Passkey account sessions (sign in, sign out).
  - name: Markets
    description: Browse and look up prediction markets.
  - name: Categories
    description: Top-level market taxonomy with counts.
  - name: Tags
    description: Free-form market tags with counts.
  - name: Events
    description: Linked-market groups (multi-leg events).
  - name: Search
    description: Full-text + fuzzy search across markets.
  - name: Orderbook
    description: Live order book + recent fills.
  - name: Prices
    description: Latest prices and historical price series.
  - name: Orders
    description: Build unsigned tx to place / cancel orders.
  - name: Vault
    description: AURA token vault — build unsigned deposit / unlock / withdraw txs.
  - name: Disputes
    description: Optimistic oracle disputes — read-side state and votes.
  - name: Oracle votes
    description: Build unsigned oracle txs (submit / dispute / commit / reveal).
  - name: Voting
    description: Governance proposals + voting period state.
  - name: Vote
    description: Build unsigned governance vote tx.
  - name: Proposals
    description: Validate + build market-proposal txs (single-leg, linked, parlay).
  - name: Drafts
    description: Wallet-private market-proposal drafts (never on chain).
  - name: Users
    description: Wallet-scoped reads — profile, positions, orders, parlays.
  - name: Account actions
    description: Aggregated "what does this wallet need to do" views.
  - name: Leaderboard
    description: Top traders by composite score.
externalDocs:
  description: Full Aura documentation (guides + interactive API reference)
  url: https://docs.aurabets.io
paths:
  /v1/admin/actions/settings/update:
    post:
      tags:
        - Admin
      summary: Update one settings section (step-up gated, audited diff).
      description: >-
        Full-object replace of one section: incident_thresholds / moderation /
        banner on global_settings, parlay_pool_override,
        liquidity_reward_settings (singleton) or one liquidity_reward_tiers row.
        The step-up payload binds { section, value }; the audit entry records
        old vs new.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - incident_thresholds
                    value:
                      type: object
                      properties:
                        admin_wallet_alph_warn:
                          type: number
                          minimum: 0
                        admin_wallet_alph_critical:
                          type: number
                          minimum: 0
                        treasury_usdt_warn:
                          type: number
                          minimum: 0
                        treasury_usdt_critical:
                          type: number
                          minimum: 0
                        chain_lag_events_warn:
                          type: integer
                          minimum: 1
                          maximum: 9007199254740991
                        chain_lag_events_critical:
                          type: integer
                          minimum: 1
                          maximum: 9007199254740991
                      required:
                        - admin_wallet_alph_warn
                        - admin_wallet_alph_critical
                        - treasury_usdt_warn
                        - treasury_usdt_critical
                        - chain_lag_events_warn
                        - chain_lag_events_critical
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - moderation
                    value:
                      type: object
                      properties:
                        blocklist:
                          maxItems: 500
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 80
                        max_links:
                          type: integer
                          minimum: 0
                          maximum: 20
                        burst_max:
                          type: integer
                          minimum: 1
                          maximum: 100
                        burst_window_sec:
                          type: integer
                          minimum: 5
                          maximum: 3600
                        ai_hide_threshold:
                          type: number
                          minimum: 0
                          maximum: 1
                        ai_review_threshold:
                          type: number
                          minimum: 0
                          maximum: 1
                      required:
                        - blocklist
                        - max_links
                        - burst_max
                        - burst_window_sec
                        - ai_hide_threshold
                        - ai_review_threshold
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - banner
                    value:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                        message:
                          type: string
                          maxLength: 300
                        tone:
                          type: string
                          enum:
                            - info
                            - warn
                            - critical
                        link:
                          anyOf:
                            - type: string
                              maxLength: 300
                              pattern: ^\/
                            - type: 'null'
                        read_only:
                          type: boolean
                      required:
                        - enabled
                        - message
                        - tone
                        - link
                        - read_only
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - parlay_pool_override
                    value:
                      type: object
                      properties:
                        parlay_pool_override:
                          anyOf:
                            - type: number
                              minimum: 0
                            - type: 'null'
                      required:
                        - parlay_pool_override
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - liquidity_reward_settings
                    value:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                        sample_interval_sec:
                          type: integer
                          minimum: 10
                          maximum: 3600
                        epoch_minutes:
                          type: integer
                          minimum: 60
                          maximum: 43200
                        flagship_min_volume:
                          type: number
                          minimum: 0
                        flagship_min_collateral:
                          type: number
                          minimum: 0
                        flagship_min_age_days:
                          type: number
                          minimum: 0
                        standard_min_volume:
                          type: number
                          minimum: 0
                        standard_min_collateral:
                          type: number
                          minimum: 0
                        standard_min_age_days:
                          type: number
                          minimum: 0
                      required:
                        - enabled
                        - sample_interval_sec
                        - epoch_minutes
                        - flagship_min_volume
                        - flagship_min_collateral
                        - flagship_min_age_days
                        - standard_min_volume
                        - standard_min_collateral
                        - standard_min_age_days
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
                - type: object
                  properties:
                    section:
                      type: string
                      enum:
                        - liquidity_reward_tier
                    value:
                      type: object
                      properties:
                        tier:
                          type: string
                          minLength: 1
                          maxLength: 40
                        enabled:
                          type: boolean
                        min_incentive_size:
                          type: number
                          minimum: 0
                        max_incentive_spread:
                          type: number
                          minimum: 0
                        b_multiplier:
                          type: number
                          minimum: 0
                        c_penalty:
                          type: number
                          minimum: 0
                        neutral_band_min:
                          type: number
                          minimum: 0
                          maximum: 1
                        neutral_band_max:
                          type: number
                          minimum: 0
                          maximum: 1
                        reward_pool_per_epoch:
                          type: number
                          minimum: 0
                      required:
                        - tier
                        - enabled
                        - min_incentive_size
                        - max_incentive_spread
                        - b_multiplier
                        - c_penalty
                        - neutral_band_min
                        - neutral_band_max
                        - reward_pool_per_epoch
                      additionalProperties: false
                    stepUp:
                      type: object
                      properties:
                        challengeId:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        address:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        publicKey:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        signature:
                          type: string
                          pattern: ^(0x)?[0-9a-fA-F]+$
                          description: Hex string, with or without `0x` prefix.
                        keyType:
                          default: gl-webauthn
                          type: string
                          enum:
                            - default
                            - gl-webauthn
                      required:
                        - challengeId
                        - address
                        - publicKey
                        - signature
                  required:
                    - section
                    - value
                    - stepUp
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  section:
                    type: string
                    enum:
                      - incident_thresholds
                      - moderation
                      - banner
                      - parlay_pool_override
                      - liquidity_reward_settings
                      - liquidity_reward_tier
                  challengeId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                required:
                  - ok
                  - section
                  - challengeId
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '503':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    SessionCookie:
      type: apiKey
      in: cookie
      name: aura_session
      description: >-
        HttpOnly session cookie set by POST /v1/auth/session. Mutating requests
        must also send the CSRF token (returned by that call) in the
        x-csrf-token header.

````