--- openapi: 3.0.3 info: title: Benchmark Mineral Intelligence API version: "2.0" description: |- The Benchmark API provides access to a comprehensive range of pricing data for various markets to empower your most critical energy transition decisions. This API is designed with the principles of REST architecture, ensuring scalability, flexibility, and ease of use for integrating with your systems. It follows RESTful best practices, leveraging HTTP methods and status codes for predictable interactions, allowing for seamless integration with web applications or services. Access to our API is secured using an API key. Users must include their unique API key in the request header x-api-key to authenticate their requests. This ensures secure and controlled access to the API’s data. Rate limiting is applied to manage the number of requests a client can make within a defined period. The specific rate limits can be configured based on your business requirements to ensure fair usage and avoid abuse. The API offers structured responses in JSON format, providing essential details for retrieving and submitting price data. It is built to handle a variety of pricing data queries and submissions efficiently. **API endpoint structure** All endpoints of the Benchmark Minerals Prices API follow a clear and logical structure, with versioning included in the URL to ensure backward compatibility: - Base URL: `https://api.benchmarkminerals.com/v2` - Endpoints: - `/prices/cathode` – Retrieves cathode pricing data with the GET method. Endpoints are categorised by the type of market pricing data, allowing clients to interact with different markets and products. Each request can be authenticated with the x-api-key header, and structured responses will be provided in JSON format. **Terms of use** By accessing and using the Benchmark API, you agree to comply with the terms and conditions outlined in the supply agreement between the entity you represent and Benchmark Mineral Intelligence. key points include: - data usage: the data provided through this API is intended for internal use only; - rate limiting: exceeding the defined rate limits may result in temporary suspension of access; - data privacy: any personal data transmitted or received through the API is subject to our privacy policy and supply agreement, which outlines the handling of sensitive information; and - intellectual property: All content, including data and API documentation, is the intellectual property of Benchmark Mineral Intelligence Limited and may not be redistributed or modified without explicit permission from Benchmark Mineral Intelligence Limited. **Support** If you encounter any issues or need assistance with using the Benchmark API, our team is here to help with any technical inquiries, troubleshooting, or general questions about the API. If you require access or technical support, please [contact our team](https://www.benchmarkminerals.com/contact/) For more details on specific endpoints, request/response structures, and authentication, please refer to the sections below. servers: - url: http://localhost:3013/v2 - url: "https://{environment}.benchmarkminerals.com/{version}" variables: environment: enum: - api - dev-api - qa-api default: api version: enum: - v2 default: v2 paths: # Spotlight Prices /prices/spotlight: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/SpotlightPricesDTO' required: true tags: - Spotlight responses: "200": content: application/json: schema: $ref: '#/components/schemas/SpotlightPricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: Unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - spotlight:read operationId: spotlight-list-prices summary: List spotlight prices description: | List the spotlight prices # Lithium /prices/lithium: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumPricesDTO' required: true tags: - Lithium responses: "200": content: application/json: schema: $ref: '#/components/schemas/LithiumPricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: Unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - lithium:read - prices:lithium operationId: lithium-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity - Price Type /prices/lithium/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumSummaryDTO' required: false tags: - Lithium responses: "200": content: application/json: schema: $ref: '#/components/schemas/LithiumPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - lithium:read - prices:lithium operationId: lithium-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Shipping region - Category - Purity - Price Type /prices/lithium/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumIndexDTO' required: false tags: - Lithium responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponse' description: Successful operation "401": description: unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - lithium:read - prices:lithium operationId: lithium-index summary: Index # Cobalt /prices/cobalt: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/CobaltPricesDTO' required: true tags: - Cobalt responses: "200": content: application/json: schema: $ref: '#/components/schemas/CobaltPricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - cobalt:read - prices:cobalt operationId: cobalt-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity - Price Type /prices/cobalt/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/CobaltSummaryDTO' required: false tags: - Cobalt responses: "200": content: application/json: schema: $ref: '#/components/schemas/CobaltPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - cobalt:read - prices:cobalt operationId: cobalt-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Shipping region - Category - Purity - Price Type /prices/cobalt/index: post: tags: - Cobalt operationId: cobalt-index summary: Index requestBody: content: application/json: schema: $ref: '#/components/schemas/CobaltRequestIndexDTO' required: false responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponseV2' description: Successful operation "401": description: unauthorized "403": description: Client does not have permission to access this resource security: - api_key: - cobalt:read - prices:cobalt # Nickel /prices/nickel: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NickelFindAllPricesRequest' required: true tags: - Nickel responses: "200": content: application/json: schema: $ref: '#/components/schemas/NickelPricesApiResponse' description: Successful operation operationId: nickel-list-prices description: List prices security: - api_key: - nickel:read - prices:nickel /prices/nickel/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NickelFindSummaryPricesRequest' tags: - Nickel responses: "200": content: application/json: schema: $ref: '#/components/schemas/NickelPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - nickel:read - prices:nickel operationId: nickel-summary summary: Summary /prices/nickel/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NickelIndexDTO' required: false tags: - Nickel responses: "200": content: application/json: schema: $ref: '#/components/schemas/NickelIndexApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - nickel:read - prices:nickel operationId: nickel-index summary: Index # Manganese /prices/manganese: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/ManganesePricesDTO' required: true tags: - Manganese responses: "200": content: application/json: schema: $ref: '#/components/schemas/ManganesePricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - manganese:read - prices:manganese operationId: manganese-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/manganese/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/ManganeseSummaryDTO' required: false tags: - Manganese responses: "200": content: application/json: schema: $ref: '#/components/schemas/ManganesePricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - manganese:read - prices:manganese operationId: manganese-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Shipping region - Category - Purity # Natural Graphite /prices/natural-graphite: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NaturalGraphitePricesDTO' required: true tags: - Natural Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/NaturalGraphitePricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - natural-graphite:read - prices:natural-graphite operationId: natural-graphite-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Category - Mesh size - Purity - Shipping route /prices/natural-graphite/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NaturalGraphiteSummaryDTO' required: false tags: - Natural Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/NaturalGraphitePricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - natural-graphite:read - prices:natural-graphite operationId: natural-graphite-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Category - Mesh size - Purity - Shipping route /prices/natural-graphite/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NaturalGraphiteIndexDTO' required: false tags: - Natural Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - natural-graphite:read - prices:natural-graphite operationId: natural-graphite-index summary: Index # Synthetic Graphite /prices/synthetic-graphite: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/SyntheticGraphitePricesDTO' required: true tags: - Synthetic-Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/SyntheticGraphitePricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - synthetic-graphite:read - prices:synthetic-graphite operationId: synthetic-graphite-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/synthetic-graphite/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/SyntheticGraphiteSummaryDTO' required: false tags: - Synthetic-Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/SyntheticPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - synthetic-graphite:read - prices:synthetic-graphite operationId: synthetic-graphite-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/synthetic-graphite/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/SyntheticGraphiteIndexDTO' required: false tags: - Synthetic-Graphite responses: "200": content: application/json: schema: $ref: '#/components/schemas/SyntheticGraphiteIndexApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - synthetic-graphite:read - prices:synthetic-graphite operationId: synthetic-graphite-index summary: Index # Electrolyte /prices/electrolyte: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/ElectrolytePricesDTO' required: true tags: - Electrolyte responses: "200": content: application/json: schema: $ref: '#/components/schemas/ElectrolytePricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - electrolyte:read - prices:electrolyte operationId: electrolyte-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/electrolyte/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/ElectrolyteSummaryDTO' required: false tags: - Electrolyte responses: "200": content: application/json: schema: $ref: '#/components/schemas/ElectrolytePricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - electrolyte:read - prices:electrolyte operationId: electrolyte-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Shipping region - Category - Purity # Anodes /prices/anodes: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/AnodePricesDTO' required: true tags: - Anodes responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnodePricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - anodes:read - prices:anodes operationId: anode-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/anodes/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/AnodeSummaryDTO' required: false tags: - Anodes responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnodePricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - anodes:read - prices:anodes operationId: anode-summary summary: Summary description: | List the summary with the possibility to filter the result by: - Range of dates - Shipping route - Category - Purity /prices/anodes/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/AnodeIndexDTO' required: false tags: - Anodes responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponseV2' description: Successful operation "401": description: unauthorized security: - api_key: - anodes:read - prices:anodes operationId: anode-index summary: Index # Cathodes /prices/cathodes: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/CathodesFindAllPricesDTO' required: true tags: - Cathodes responses: "200": content: application/json: schema: $ref: '#/components/schemas/CathodesPricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - cathodes:read - prices:cathodes operationId: cathodes-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Category - Shipping region /prices/cathodes/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/CathodesFindSummaryPricesDTO' tags: - Cathodes responses: "200": content: application/json: schema: $ref: '#/components/schemas/CathodesPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - cathodes:read - prices:cathodes operationId: cathodes-summary summary: Summary /prices/cathodes/index: post: tags: - Cathodes requestBody: content: application/json: schema: $ref: '#/components/schemas/CathodeIndexDTO' responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - cathodes:read operationId: cathodes-index summary: Index # Lithium-Ion-Battery /prices/lithium-ion-battery: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryFindAllPricesDTO' required: true tags: - Lithium ion Battery responses: "200": content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryPricesApiResponse' description: Successful operation "400": content: application/json: schema: $ref: '#/components/schemas/ValidationRequestError' description: Bad request "401": description: unauthorized security: - api_key: - lithium-ion-battery:read - prices:lithium-ion-batteries operationId: lithium-ion-battery-list-prices summary: List prices description: | List the prices with the possibility to filter the result by: - Range of dates - Category - Mesh size - Format - Shipping region - Price Type /prices/lithium-ion-battery/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatterySummaryDTO' required: true tags: - Lithium ion Battery responses: "200": content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - lithium-ion-battery:read - prices:lithium-ion-batteries operationId: lithium-ion-battery-summary summary: Summary /prices/lithium-ion-battery/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryIndexDTO' required: false tags: - Lithium ion Battery responses: "200": content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryIndexApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - lithium-ion-battery:read - prices:lithium-ion-batteries operationId: lithium-ion-battery-index summary: Index # Black Mass /prices/black-mass: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/BlackMassFindAllPricesRequest' required: true tags: - Black Mass responses: "200": content: application/json: schema: $ref: '#/components/schemas/BlackMassPricesApiResponse' description: Successful operation operationId: black-mass-list-prices description: List prices security: - api_key: - black-mass:read - prices:black-mass /prices/black-mass/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/BlackMassFindSummaryPricesRequest' tags: - Black Mass responses: "200": content: application/json: schema: $ref: '#/components/schemas/BlackMassPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - black-mass:read - prices:black-mass operationId: black-mass-summary summary: Summary /prices/black-mass/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/BlackMassIndexDTO' required: false tags: - Black Mass responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponseV2' description: Successful operation "401": description: unauthorized security: - api_key: - black-mass:read - prices:black-mass operationId: black-mass-index summary: Index # Rare Earths /prices/rare-earths: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/RareEarthsFindAllPricesRequest' required: true tags: - Rare Earths responses: "200": content: application/json: schema: $ref: '#/components/schemas/RareEarthsPricesApiResponse' description: Successful operation operationId: rare-earths-list-prices description: List prices security: - api_key: - rare-earths:read - prices:rare-earths /prices/rare-earths/summary: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/RareEarthsFindSummaryPricesRequest' tags: - Rare Earths responses: "200": content: application/json: schema: $ref: '#/components/schemas/RareEarthsPricesSummaryApiResponse' description: Successful operation "401": description: unauthorized security: - api_key: - rare-earths:read - prices:rare-earths operationId: rare-earths-summary summary: Summary /prices/rare-earths/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/RareEarthsIndexDTO' required: false tags: - Rare Earths responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponseV2' description: Successful operation "401": description: unauthorized security: - api_key: - rare-earths:read - prices:rare-earths operationId: rare-earths-index summary: Index # Lithium-Ion-Battery Raw Material /prices/lithium-ion-battery-raw-material/index: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/LithiumIonBatteryRawMaterialIndexDTO' required: false tags: - Lithium ion Battery Raw Material responses: "200": content: application/json: schema: $ref: '#/components/schemas/IndexApiResponseV2' description: Successful operation "401": description: unauthorized security: - api_key: - lithium-ion-battery-raw-material:read operationId: lithium-ion-battery-raw-material-index summary: Index components: schemas: # Common objects UnitOfMeasuresRequest: description: Units of measures for filtering data nullable: true type: array items: type: string example: - "t" - "kwh" - "%" CurrencyRequest: nullable: true type: string enum: [ USD, CNY, JPY, AUD, KRW, EUR ] example: CNY UnitRequest: description: Drive on which data must be returned nullable: true type: string enum: [ t, kg, lb ] example: t Category: type: object properties: id: type: string example: 788353e5-3d01-4836-a333-9da2dc06141c name: type: string example: Lithium Carbonate alias: nullable: true type: string example: null chemicalCode: type: string example: LC isSustainable: type: boolean example: false Purity: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: Min 99.0% ShippingRoute: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: CIF Asia alias: nullable: true type: string example: CIF Asia (Combined) UnitOfMeasure: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: Tonne symbol: nullable: true type: string example: t Currency: nullable: true type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: Dollar iso: type: string example: USD symbol: type: string example: $ PriceType: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: Price order: type: number example: 3 Series: type: object properties: date: format: yyyy-MM-dd type: string example: 2023-01-31 valueLow: nullable: true type: number example: 1000 valueHigh: nullable: true type: number example: 2000 valueMid: type: number example: 3000 DataSummary: type: object properties: today: nullable: true type: number example: 1000 last: nullable: true type: number example: 1100 latestChange: nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' dailyChange: description: Daily percentage change of the current value compared to the value from the previous day. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' weeklyChange: description: Weekly percentage change of the current value compared to the value from the previous week. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' biWeeklyChange: description: Bi-weekly percentage change of the current value compared to the value from two weeks ago. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' monthlyChange: description: Monthly percentage change of the current value compared to the value from the previous month. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' quarterlyMonthsChange: description: Quarterly percentage change of the current value compared to the value from three months ago. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' sixMonthsChange: description: Semi-annual percentage change of the current value compared to the value from six months ago. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' yearOnYear: description: Year-on-year percentage change of the current value compared to the value from the same period last year. nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' yearToDate: nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' DataSummaryIndex: type: object properties: today: nullable: true type: number example: 1000 last: nullable: true type: number example: 1100 latestChange: nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' yearOnYear: nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' yearToDate: nullable: true type: object properties: value: type: number example: -5 unit: type: string example: '%' NickelCategories: description: categories in the store type: array items: type: object properties: name: type: string example: TEST isSustainable: nullable: true type: boolean example: false example: [ { name: 'TEST', isSustainable: false } ] NickelPurities: description: purities in the store type: array items: type: string example: - Aggregate MHP - Min 35% - Min 22% - 100% Ni Contained NickelRegions: description: regions in the store type: array items: type: string example: - NiSO4 - NiSO4 premium over global refined nickel - Mixed Hydroxide Precipitate - Normalisation Factors BlackMassFeedstocks: description: feedstocks in the store type: array items: type: string example: - LFP - LCO - All Chemistries - NCM BlackMassProducts: description: types in the store type: array items: type: string example: - All Scrap - Co - CoSO4 - EOL - LCE - Li Price per Percentage Point - Ni - NiSO4 - Process Scrap BlackMassRoutes: description: routes in the store type: array items: type: string example: - EXW North America - EXW China - CIF Asia RareEarthsCategories: description: categories in the store type: array items: type: string example: - Praseodymium-Neodymium Oxide - Dysprosium Oxide - Terbium Oxide - Samarium Oxide - Li Price per Percentage Point - China Weighted Index - China Weighted Average RareEarthsRoutes: description: routes in the store type: array items: type: string example: - DDP China RareEarthsPurities: description: purities in the store type: array items: type: string example: - ">22%>70%" - "99.0-99.5%" - "99.0-99.9%" Service: nullable: true type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: Graphitisation MeshSize: type: object properties: id: type: string example: 788353e5-3d01-4836-a333-9da2dc06244c size: type: string example: +100 mesh ProductMetadata: type: object properties: product: type: string example: Lithium ion Battery Cell Format: nullable: true type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: Pouch Capacity: nullable: true type: object properties: id: type: string example: e3f4a5b6-c7d8-4e9f-a0b1-c2d3e4f5a6b7 name: type: string example: 100-150 Ah LithiumIonBatteryCellShippingRoute: nullable: true type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: EXW Asia alias: nullable: true type: string BlackMassProduct: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: EOL alias: nullable: true type: string example: End of Life # Request objects SpotlightPricesDTO: required: - currency type: object properties: currency: type: string example: USD LithiumPricesDTO: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 shippingRoutes: description: Shipping routes by which to filter type: array items: type: string example: - FOB S America - FOB N America - FOB Australia - EXW China - CIF N America - CIF EU - CIF Asia (spot) - CIF Asia (contract) - CIF Asia (combined) - CIF Asia categories: description: Categories by which to filter type: array items: type: object properties: name: type: string example: Lithium Carbonate isSustainable: type: boolean example: false required: - name purities: description: Purities by which to filter type: array items: type: string example: - 6% - Min 55.0% - Min 56.5% - Min 99.0% - Min 99.2% - Min 99.5% priceTypes: description: Price types by which to filter type: array items: type: string example: - Price - Daily Price Indicator - Global Weighted Average unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' LithiumSummaryDTO: type: object properties: shippingRoutes: description: Shipping routes by which to filter type: array items: type: string example: - FOB S America - FOB N America - FOB Australia - EXW China - CIF N America - CIF EU - CIF Asia (spot) - CIF Asia (contract) - CIF Asia (combined) - CIF Asia categories: description: Categories by which to filter type: array items: type: object properties: name: type: string example: Lithium Carbonate isSustainable: type: boolean example: false required: - name purities: description: Purities by which to filter type: array items: type: string example: - 6% - Min 55.0% - Min 56.5% - Min 99.0% - Min 99.2% - Min 99.5% priceTypes: description: Price types by which to filter type: array items: type: string example: - Price - Price Indicator - Global Weighted Average unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' LithiumIndexDTO: nullable: true type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-01 indexes: description: indexes in the store type: array items: type: string example: - Lithium Carbonate - Lithium Hydroxide - Lithium CobaltPricesDTO: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' shippingRoutes: description: categories in the store type: array items: type: string example: - CIF Asia - EXW China - EXW Europe categories: description: categories in the store type: array items: type: string example: - CoSO4 - Co3O4 - Co Metal - Co(OH)2 - Mixed Hydroxide Precipitate priceTypes: description: Price type type: array items: type: string example: - Price - Payable purities: description: categories in the store type: array items: type: string example: - Min 1% - Min 20% - Min 20.5% - Min 72.8% - Min 99.8% - Aggregate MHP unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' CobaltSummaryDTO: type: object properties: currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' shippingRoutes: description: categories in the store type: array items: type: string example: - CIF Asia - EXW China - EXW Europe categories: description: categories in the store type: array items: type: string example: - CoSO4 - Co3O4 - Co Metal - Co(OH)2 - Mixed Hydroxide Precipitate purities: description: categories in the store type: array items: type: string example: - Min 1% - Min 20% - Min 20.5% - Min 72.8% - Min 99.8% - Aggregate MHP priceTypes: description: Price type type: array items: type: string example: - Price - Payable unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' CobaltRequestIndexDTO: nullable: true type: object properties: from: nullable: true format: yyyy-MM-dd type: string example: 2023-01-01 to: nullable: true format: yyyy-MM-dd type: string example: 2023-01-01 indexes: nullable: true description: indexes in the store type: array items: type: string example: - Cobalt NickelFindAllPricesRequest: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' categories: $ref: '#/components/schemas/NickelCategories' purities: $ref: '#/components/schemas/NickelPurities' shippingRoutes: $ref: '#/components/schemas/NickelRegions' unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' priceTypes: description: Price type type: array items: type: string example: - Price - Payable NickelFindSummaryPricesRequest: type: object properties: currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' categories: $ref: '#/components/schemas/NickelCategories' shippingRoutes: $ref: '#/components/schemas/NickelRegions' unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' priceTypes: description: Price type type: array items: type: string example: - Price - Payable NickelIndexDTO: nullable: true type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 indexes: description: indexes in the store type: array items: type: string example: - Nickel ManganesePricesDTO: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' shippingRoutes: description: categories in the store type: array items: type: string example: - EXW China categories: description: categories in the store type: array items: type: string example: - Manganese Sulphate purities: description: categories in the store type: array items: type: string example: - 32% priceTypes: description: Price type type: array items: type: string example: - Price unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' ManganeseSummaryDTO: type: object properties: currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' shippingRoutes: description: categories in the store type: array items: type: string example: - EXW China categories: description: categories in the store type: array items: type: string example: - Manganese Sulphate purities: description: categories in the store type: array items: type: string example: - 32% priceTypes: description: Price type type: array items: type: string example: - Price unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' NaturalGraphitePricesDTO: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' categories: description: categories in the store type: array items: type: string example: - Flake - Spherical Uncoated meshSizes: description: categories in the store type: array items: type: string example: - +100 Mesh - +50 Mesh - +80 Mesh - -100 Mesh - 10 Microns - 15 Microns - 25 Microns purites: description: categories in the store type: array items: type: string example: - 90-93% C - 94-95% C - 99.95% shippingRoutes: description: categories in the store type: array items: type: string example: - DDP China - FOB China - CIF N America priceTypes: description: Price type type: array items: type: string example: - Price unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' NaturalGraphiteSummaryDTO: type: object properties: currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' categories: description: categories in the store type: array items: type: string example: - Flake - Spherical Uncoated meshSizes: description: categories in the store type: array items: type: string example: - +100 Mesh - +50 Mesh - +80 Mesh - -100 Mesh - 10 Microns - 15 Microns - 25 Microns purites: description: categories in the store type: array items: type: string example: - 90-93% C - 94-95% C - 99.95% shippingRoutes: description: categories in the store type: array items: type: string example: - DDP China - FOB China - CIF N America priceTypes: description: Price type type: array items: type: string example: - Price unitOfMeasures: $ref: '#/components/schemas/UnitOfMeasuresRequest' NaturalGraphiteIndexDTO: nullable: true type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-31 to: format: yyyy-MM-dd type: string example: 2023-01-31 indexes: description: indexes in the store type: array items: type: string example: - Graphite SyntheticGraphitePricesDTO: required: - from - to type: object properties: from: format: yyyy-MM-dd type: string example: 2023-01-01 to: format: yyyy-MM-dd type: string example: 2023-01-31 currency: $ref: '#/components/schemas/CurrencyRequest' unit: $ref: '#/components/schemas/UnitRequest' shippingRoutes: description: Shipping routes in the store type: array items: type: string example: - DDP China categories: description: categories in the store type: array items: type: string example: - coke - Calcined Pet Coke - Pre-calcined Pet Coke - Calcined Pet Needle Coke - Pre-calcined Pet Needle Coke - Calcined Pitch Needle Coke - Pre-calcined Pitch Needle Coke - Medium Sulphur Pre-calcined Pet Coke - External Tolling Fees purities: description: purities type: array items: type: string example: - S<0.5% - 0.5%