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

# NGX session history

> One summary per trading day (the last observation of each day), newest first.



## OpenAPI

````yaml /openapi.json get /partner/v1/market/snapshot/history
openapi: 3.0.3
info:
  title: Ladder Partner API
  version: v1
  description: >-
    Server-to-server API for licensed partner organisations: KYB, NGN/GHS/USD
    wallets, funding rails, investments and NGX market data, buy and sell
    orders, holdings and webhooks. Every request is HMAC-signed; see the
    Authentication guide.
  contact:
    email: partners@myladder.africa
servers:
  - url: https://api.myladder.africa
    description: Production
  - url: https://api-dev.myladder.africa
    description: UAT (integration and acceptance testing)
security:
  - LadderKey: []
    LadderTimestamp: []
    LadderSignature: []
tags:
  - name: Organisation
    description: The calling organisation and what KYB still needs.
  - name: KYB
    description: >-
      Business information, people, documents, settlement accounts and
      submission.
  - name: Wallets
    description: >-
      Balances, funding requests on every rail, direct-debit mandates and the
      ledger statement.
  - name: Investments
    description: What a partner can buy.
  - name: Market data
    description: >-
      Nigerian Exchange instruments, quotes, bars, indices, FX, calendar and
      disclosures.
  - name: Orders
    description: Buy and sell orders and their lifecycle.
  - name: Holdings
    description: Positions created by completed buys.
  - name: Webhooks
    description: Endpoints, deliveries and retries.
  - name: Sandbox
    description: Test-key only helpers.
paths:
  /partner/v1/market/snapshot/history:
    parameters: []
    get:
      tags:
        - Market data
      summary: NGX session history
      description: >-
        One summary per trading day (the last observation of each day), newest
        first.
      operationId: market_snapshot_history_list
      parameters:
        - name: limit
          in: query
          description: Page size, 1–200 (default 50).
          schema:
            type: integer
        - name: offset
          in: query
          description: Rows to skip (default 0).
          schema:
            type: integer
        - name: from
          in: query
          description: YYYY-MM-DD
          schema:
            type: string
        - name: to
          in: query
          description: YYYY-MM-DD
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerSnapshotPageResponse'
        '400':
          description: Validation or business-rule error (see `error.code`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerError'
        '401':
          description: Missing/invalid signature, stale timestamp, unknown or revoked key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerError'
        '403':
          description: IP not allowlisted, or action not allowed for this key/environment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerError'
        '429':
          description: Rate limited (120 requests/min per key). See `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerError'
components:
  schemas:
    PartnerSnapshotPageResponse:
      required:
        - data
        - pagination
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PartnerMarketSnapshot'
        pagination:
          $ref: '#/components/schemas/PartnerPagination'
    PartnerError:
      required:
        - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/PartnerErrorBody'
    PartnerMarketSnapshot:
      required:
        - trade_date
        - as_of
        - all_share_index
        - all_share_index_change
        - all_share_index_change_percent
        - all_share_index_ytd_change_percent
        - deals
        - volume
        - value_traded
        - turnover_rate
        - listed_securities
        - market_cap
        - breadth
        - session
        - fetched_at
      type: object
      properties:
        exchange:
          title: Exchange
          type: string
          readOnly: true
        trade_date:
          title: Trade date
          type: string
          format: date
        as_of:
          title: As of
          type: string
          format: date-time
        currency:
          title: Currency
          type: string
          readOnly: true
        all_share_index:
          title: All share index
          type: string
          format: decimal
        all_share_index_change:
          title: All share index change
          type: string
          format: decimal
          nullable: true
        all_share_index_change_percent:
          title: All share index change percent
          type: string
          format: decimal
          nullable: true
        all_share_index_ytd_change_percent:
          title: All share index ytd change percent
          type: string
          format: decimal
          nullable: true
        deals:
          title: Deals
          type: integer
          nullable: true
        volume:
          title: Volume
          type: integer
          nullable: true
        value_traded:
          title: Value traded
          type: string
          format: decimal
          nullable: true
        turnover_rate:
          title: Turnover rate
          type: string
          format: decimal
          nullable: true
        listed_securities:
          title: Listed securities
          type: integer
          nullable: true
        market_cap:
          $ref: '#/components/schemas/PartnerMarketSnapshotCap'
        breadth:
          $ref: '#/components/schemas/PartnerMarketSnapshotBreadth'
        session:
          $ref: '#/components/schemas/PartnerMarketSnapshotSession'
        fetched_at:
          title: Fetched at
          type: string
          format: date-time
    PartnerPagination:
      required:
        - limit
        - offset
        - count
      type: object
      properties:
        limit:
          title: Limit
          type: integer
        offset:
          title: Offset
          type: integer
        count:
          title: Count
          description: Total rows matching the filters.
          type: integer
    PartnerErrorBody:
      required:
        - code
        - message
        - details
      type: object
      properties:
        code:
          title: Code
          description: Stable machine-readable code, e.g. `insufficient_funds`.
          type: string
          minLength: 1
        message:
          title: Message
          type: string
          minLength: 1
        details:
          title: Details
          description: Code-specific context (validation errors, balances, …).
          type: object
          additionalProperties:
            type: string
            nullable: true
    PartnerMarketSnapshotCap:
      required:
        - equity
        - bonds
        - etfs
        - total
      type: object
      properties:
        equity:
          title: Equity
          type: string
          format: decimal
          nullable: true
        bonds:
          title: Bonds
          type: string
          format: decimal
          nullable: true
        etfs:
          title: Etfs
          type: string
          format: decimal
          nullable: true
        total:
          title: Total
          type: string
          format: decimal
          nullable: true
    PartnerMarketSnapshotBreadth:
      required:
        - advancers
        - decliners
        - unchanged
        - traded_securities
      type: object
      properties:
        advancers:
          title: Advancers
          type: integer
          nullable: true
        decliners:
          title: Decliners
          type: integer
          nullable: true
        unchanged:
          title: Unchanged
          type: integer
          nullable: true
        traded_securities:
          title: Traded securities
          type: integer
          nullable: true
    PartnerMarketSnapshotSession:
      type: object
      properties:
        open_time:
          title: Open time
          type: string
          readOnly: true
        close_time:
          title: Close time
          type: string
          readOnly: true
        timezone:
          title: Timezone
          type: string
          readOnly: true
  securitySchemes:
    LadderKey:
      type: apiKey
      in: header
      name: X-Ladder-Key
      description: 'Your key id: `pk_test_…` (sandbox) or `pk_live_…` (live).'
    LadderTimestamp:
      type: apiKey
      in: header
      name: X-Ladder-Timestamp
      description: Unix seconds, as a string; must be within 5 minutes of server time.
    LadderSignature:
      type: apiKey
      in: header
      name: X-Ladder-Signature
      description: >-
        Lower-case hex HMAC-SHA512 over timestamp, method, path+query and the
        SHA-256 of the body. See Authentication.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.