# Get Lithium market index data

Retrieve price index data for the Lithium market.
Returns index values with summary statistics and time series data.

Endpoint: POST /lithium/index
Version: 1.0.0
Security: api_key

## Security:

  - `api_key` (unknown)
    apiKey in header x-api-key scopes: prices:lithium

## Request fields (application/json):

  - `filters` (object)

  - `filters.dateFrom` (string)
    Start date for index series (YYYY-MM-DD)
    Example: 2024-01-01

  - `filters.dateTo` (string)
    End date for index series (YYYY-MM-DD)
    Example: 2024-12-31

  - `filters.products` (any)
    Filter by product name, matched case-insensitively.
Accepts a single string or an array of strings; a string is treated as a one-item list.
A product with no index in the market is rejected with 400 rather than dropped from the result.
    Example: ["LFP","NCM Mid-Nickel"]

## Request examples:

  - `Basic request with date range` (unknown)

  - `Request with product filter` (unknown)

## Response 200:

  - `200` (unknown)
    Successful response with Lithium index data

## Response 200 fields (application/json):

  - `$metadata` (object)

  - `$metadata.market` (string)
    Market name

  - `data` (array)

  - `data.order` (integer)
    Display order for the index

  - `data.code` (string)
    Index code identifier
    Example: IDXANODE001

  - `data.product` (object)

  - `data.product.id` (string)

  - `data.product.name` (string)

  - `data.frequency` (object)

  - `data.frequency.id` (string)

  - `data.frequency.name` (string)

  - `data.frequency.shortName` (string)

  - `data.summary` (object | null)

  - `data.summary.latestPublication` (object | null)

  - `data.summary.latestPublication.date` (string)

  - `data.summary.latestPublication.value` (number)

  - `data.summary.changes` (object | null)

  - `data.summary.changes.unit` (string)
    Example: Index

  - `data.summary.changes.latest` (number | null)

  - `data.summary.changes.daily` (number | null)

  - `data.summary.changes.weekly` (number | null)

  - `data.summary.changes.biWeekly` (number | null)

  - `data.summary.changes.monthly` (number | null)

  - `data.summary.changes.quarterly` (number | null)

  - `data.summary.changes.sixMonths` (number | null)

  - `data.summary.changes.yearToDate` (number | null)

  - `data.summary.changes.yearOnYear` (number | null)

  - `data.series` (array | null)

## Response 400:

  - `400` (unknown)
    Bad Request - Validation errors

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.location` (string)
    Example: body

  - `errors.code` (string)
    Example: invalid_type

  - `errors.property` (string)
    Example: filters.dateFrom

  - `errors.message` (string)
    Example: Expected string, received array

  - `message` (string)
    Example: Invalid request parameters

## Response 401:

  - `401` (unknown)
    Unauthorized - Missing or invalid authentication

## Response 401 fields (application/json):

  - `code` (string)
    Example: AUTH-0001

  - `message` (string)
    Example: Token expired

## Response 403:

  - `403` (unknown)
    Forbidden - Insufficient permissions

## Response 403 fields (application/json):

  - `code` (string)
    Example: AUTH-0010

  - `message` (string)
    Example: Forbidden

## Response 400 examples:

  - `Validation error` (unknown)

  - `Codes filter exclusivity error` (unknown)

