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

# Estimate a Managed Kafka cluster's monthly cost

> Prices a cluster and its usage in whole dollars from the stored AWS prices. Artie's fee is on compute only; tiered storage is billed uncompressed at the S3 price.



## OpenAPI

````yaml https://raw.githubusercontent.com/artie-labs/artie-api-spec/refs/heads/master/openapi.yaml post /kafka-clusters/estimate
openapi: 3.1.0
info:
  description: External API endpoints for Artie
  title: Artie API
  version: v1.0.200
servers:
  - url: https://api.artie.com
security:
  - ApiKey: []
paths:
  /kafka-clusters/estimate:
    post:
      tags:
        - Kafka clusters
      summary: Estimate a Managed Kafka cluster's monthly cost
      description: >-
        Prices a cluster and its usage in whole dollars from the stored AWS
        prices. Artie's fee is on compute only; tiered storage is billed
        uncompressed at the S3 price.
      operationId: kafka_cluster_estimate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterKafkaClusterEstimateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterKafkaClusterEstimate'
          description: OK
        '400':
          description: Bad Request
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
components:
  schemas:
    RouterKafkaClusterEstimateRequest:
      properties:
        brokers:
          maximum: 30
          minimum: 3
          type: integer
        instanceType:
          $ref: '#/components/schemas/PayloadsKafkaInstanceType'
        region:
          description: Region code; defaults to the region Managed Kafka runs in.
          type: string
        storageGiBPerBroker:
          type: integer
        tieredStorageGiB:
          description: >-
            Data in tiered storage, uncompressed. Billed on that size at the S3
            price.
          format: double
          minimum: 0
          type: number
        traffic:
          $ref: '#/components/schemas/RouterKafkaClusterEstimateTraffic'
      required:
        - brokers
        - instanceType
        - storageGiBPerBroker
      type: object
    RouterKafkaClusterEstimate:
      properties:
        egressRates:
          description: The region's outbound transfer prices, not in the total.
          items:
            $ref: '#/components/schemas/RouterKafkaClusterEstimateEgressRate'
          type: array
        feeRate:
          description: Artie's fee on compute, e.g. 0.25.
          format: double
          type: number
        feeUSD:
          type: integer
        lineItems:
          items:
            $ref: '#/components/schemas/RouterKafkaClusterEstimateLineItem'
          type: array
        pricesAsOf:
          description: >-
            When the prices were last fetched from AWS; null before the first
            fetch.
          format: date-time
          type:
            - 'null'
            - string
        region:
          type: string
        totalUSD:
          type: integer
      required:
        - region
        - lineItems
        - feeRate
        - feeUSD
        - totalUSD
        - egressRates
      type: object
    PayloadsKafkaInstanceType:
      enum:
        - m8g.2xlarge
        - m8g.4xlarge
        - m8g.xlarge
        - m8i.2xlarge
        - m8i.4xlarge
        - m8i.xlarge
        - r8g.2xlarge
        - r8g.large
        - r8g.xlarge
        - r8i.2xlarge
        - r8i.large
        - r8i.xlarge
      type: string
    RouterKafkaClusterEstimateTraffic:
      properties:
        egressGiBPerMonth:
          $ref: '#/components/schemas/RouterKafkaClusterEstimateEgress'
        ingressGiBPerMonth:
          description: From the internet.
          format: double
          minimum: 0
          type: number
      type: object
    RouterKafkaClusterEstimateEgressRate:
      properties:
        label:
          type: string
        maxUSDPerGB:
          format: double
          type: number
        minUSDPerGB:
          format: double
          type: number
      required:
        - label
        - minUSDPerGB
        - maxUSDPerGB
      type: object
    RouterKafkaClusterEstimateLineItem:
      properties:
        category:
          enum:
            - instance
            - block_storage
            - object_storage
            - data_transfer
            - network
          type: string
        label:
          type: string
        quantity:
          format: double
          type: number
        unit:
          enum:
            - hour
            - gb_month
            - gb
            - iops_month
            - mbps_month
            - request_1k
          type: string
        unitUSD:
          description: The first tier's price for a tiered one.
          format: double
          type: number
        usd:
          type: integer
      required:
        - category
        - label
        - quantity
        - unit
        - unitUSD
        - usd
      type: object
    RouterKafkaClusterEstimateEgress:
      properties:
        crossAZ:
          format: double
          minimum: 0
          type: number
        crossRegion:
          additionalProperties:
            format: double
            type: number
          description: GiB a month to each other region, by region code.
          type:
            - object
            - 'null'
        internet:
          description: Also traffic to other clouds.
          format: double
          minimum: 0
          type: number
        sameAZ:
          description: >-
            Billed like cross-AZ traffic, since clients connect through the
            cluster's public load balancer.
          format: double
          minimum: 0
          type: number
      type: object
  securitySchemes:
    ApiKey:
      description: API key passed as a Bearer token in the Authorization header.
      scheme: bearer
      type: http

````

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