openapi: 3.2.0 info: title: Benchmark Mineral Intelligence Natural Graphite 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. 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 tags: - name: Natural Graphite paths: /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 components: schemas: Currency: type: - object - 'null' properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: Dollar iso: type: string example: USD symbol: type: string example: $ UnitOfMeasure: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: Tonne symbol: type: - string - 'null' example: t Series: type: object properties: date: format: yyyy-MM-dd type: string example: 2023-01-31 valueLow: type: - number - 'null' example: 1000 valueHigh: type: - number - 'null' example: 2000 valueMid: type: number example: 3000 NaturalGraphitePricesApiResponse: type: object properties: data: type: array items: type: object properties: name: type: string description: The name of the grade category: $ref: '#/components/schemas/Category' meshSize: $ref: '#/components/schemas/MeshSize' purity: $ref: '#/components/schemas/Purity' shippingRoute: $ref: '#/components/schemas/ShippingRoute' unitOfMeasure: $ref: '#/components/schemas/UnitOfMeasure' currency: $ref: '#/components/schemas/Currency' priceType: $ref: '#/components/schemas/PriceType' series: type: array items: $ref: '#/components/schemas/Series' ValidationRequestError: type: array items: type: object properties: type: type: string example: field msg: type: string example: Field from is required path: type: string example: from location: type: string example: body UnitOfMeasuresRequest: description: Units of measures for filtering data type: - array - 'null' items: type: string example: - t - kwh - '%' 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' ShippingRoute: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: CIF Asia alias: type: - string - 'null' example: CIF Asia (Combined) UnitRequest: description: Drive on which data must be returned type: - string - 'null' enum: - t - kg - lb example: t NaturalGraphiteIndexDTO: type: - object - 'null' 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 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' IndexApiResponse: type: object properties: data: type: object properties: summary: type: array items: type: object properties: product: type: string example: Lithium updateFrequency: type: string example: 2wk order: type: number example: 1 data: $ref: '#/components/schemas/DataSummaryIndex' detail: type: array items: type: object properties: product: type: string example: Lithium order: type: number example: 1 data: type: array items: type: object properties: date: format: yyyy-MM-dd type: string example: 2023-01-31 value: type: number example: 435.21 NaturalGraphitePricesSummaryApiResponse: type: object properties: data: type: array items: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e1b name: type: string example: Lithium Carbonate alias: type: - string - 'null' example: null chemicalCode: type: - string - 'null' example: LC frequency: type: string example: 2wk isSustainable: type: boolean example: false series: type: array items: type: object properties: name: type: string description: The name of the grade shippingRoute: $ref: '#/components/schemas/ShippingRoute' purity: $ref: '#/components/schemas/Purity' meshSize: $ref: '#/components/schemas/MeshSize' unitOfMeasure: $ref: '#/components/schemas/UnitOfMeasure' currency: $ref: '#/components/schemas/Currency' priceType: $ref: '#/components/schemas/PriceType' data: $ref: '#/components/schemas/DataSummary' Purity: type: object properties: id: type: string example: 5c7f2d17-cae5-47f9-8e2f-abd141970e7b name: type: string example: Min 99.0% DataSummaryIndex: type: object properties: today: type: - number - 'null' example: 1000 last: type: - number - 'null' example: 1100 latestChange: type: - object - 'null' properties: value: type: number example: -5 unit: type: string example: '%' yearOnYear: type: - object - 'null' properties: value: type: number example: -5 unit: type: string example: '%' yearToDate: type: - object - 'null' properties: value: type: number example: -5 unit: 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 MeshSize: type: object properties: id: type: string example: 788353e5-3d01-4836-a333-9da2dc06244c size: type: string example: +100 mesh CurrencyRequest: type: - string - 'null' enum: - USD - CNY - JPY - AUD - KRW - EUR example: CNY DataSummary: type: object properties: today: type: - number - 'null' example: 1000 last: type: - number - 'null' example: 1100 latestChange: type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' 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. type: - object - 'null' properties: value: type: number example: -5 unit: type: string example: '%' yearToDate: type: - object - 'null' properties: value: type: number example: -5 unit: type: string example: '%' Category: type: object properties: id: type: string example: 788353e5-3d01-4836-a333-9da2dc06141c name: type: string example: Lithium Carbonate alias: type: - string - 'null' example: null chemicalCode: type: string example: LC isSustainable: type: boolean example: false securitySchemes: api_key: type: apiKey name: x-api-key in: header