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

# Create Product

> Create a new product



## OpenAPI

````yaml https://api.getmeasure.com/api/v1/docs/api_spec.json POST /companies/{company_id}/products
openapi: 3.1.0
info:
  title: Measure API
  description: APIs to communicate with Measure
  version: 1.0.0
servers:
  - url: https://api.getmeasure.com/api/v1
security: []
paths:
  /companies/{company_id}/products:
    post:
      tags:
        - Pricing
      summary: Create Product
      description: Create a new product
      operationId: Create_Product
      parameters:
        - name: company_id
          in: path
          description: 'The company ID with the prefix ''cmp_''. '
          required: true
          schema:
            description: 'The company ID with the prefix ''cmp_''. '
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            The idempotency key that will be used to ensure the request is only
            performed once
          schema:
            description: >-
              The idempotency key that will be used to ensure the request is
              only performed once
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestCreateProductRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseProductRepresentation'
      deprecated: false
      security:
        - apiKey:
            - ''
components:
  schemas:
    RequestCreateProductRequest:
      properties:
        accounting_integration_mapping:
          additionalProperties:
            additionalProperties:
              type: string
            type: object
          type:
            - object
            - 'null'
        description:
          description: The description of the product
          type: string
        entitlements:
          description: The entitlements that enable features for the product
          items:
            $ref: '#/components/schemas/RequestEntitlementData'
          type:
            - array
            - 'null'
        external_name:
          description: The external name of the product
          type: string
        gl_code:
          description: The GL code for the product
          type:
            - string
            - 'null'
        image_url:
          description: The url for the image of the product
          type:
            - string
            - 'null'
        metadata:
          additionalProperties: true
          description: >-
            Any additional data as key-value pairs that need to be attached to
            the product
          type: object
        name:
          description: The name of the product
          type: string
        state:
          description: The state of the product such as ACTIVE or ARCHIVED
          type: string
        tags:
          description: Any string tags associated with this product
          items:
            type: string
          type:
            - array
            - 'null'
        tax_calc_integration_mapping:
          additionalProperties:
            $ref: '#/components/schemas/ModelIntegrationTaxProduct'
          type:
            - object
            - 'null'
      type: object
    ResponseProductRepresentation:
      properties:
        company_id:
          description: The company ID of the product
          type: string
        created_at:
          description: The date the product was created
          format: date-time
          type: string
        description:
          description: The description of the product
          type: string
        entitlements:
          description: The entitlements that enable features for the product
          items:
            $ref: '#/components/schemas/ResponseEntitlementDataRepresentation'
          type:
            - array
            - 'null'
        external_name:
          description: The external name of the product
          type: string
        gl_code:
          description: The GL code for the product
          type:
            - 'null'
            - string
        id:
          description: The ID of the product in Measure
          type: string
        image_url:
          description: The url for the image of the product
          type:
            - 'null'
            - string
        import_created_at_ref:
          description: The date the product was created in the import source
          format: date-time
          type:
            - 'null'
            - string
        import_ref:
          description: The import reference ID for the product
          type:
            - 'null'
            - string
        imported_from:
          description: Where the product is imported from
          type:
            - 'null'
            - string
        metadata:
          additionalProperties: true
          description: Any additional data as key-value pairs attached to the product
          type: object
        name:
          description: The name of the product
          type: string
        num_subs:
          description: The number of subscriptions in the company with the product
          minimum: 0
          type: integer
        product_pricings:
          description: The product prices attached to this product
          items:
            $ref: '#/components/schemas/ResponseProductPricingRepresentation'
          type:
            - array
            - 'null'
        state:
          description: The state of the product such as ACTIVE or ARCHIVED
          type: string
        tags:
          description: Any tags on the product
          items:
            type: string
          type:
            - array
            - 'null'
        updated_at:
          description: The date the product was last updated
          format: date-time
          type: string
      type: object
    RequestEntitlementData:
      properties:
        entitlement_id:
          type: string
        id:
          type: string
        key:
          type: string
        value: {}
      type: object
    ModelIntegrationTaxProduct:
      properties:
        name:
          type: string
        product_id:
          type: string
        tax_code:
          type: string
        tax_code_id:
          type: string
      type: object
    ResponseEntitlementDataRepresentation:
      properties:
        entitlement_id:
          type: string
        id:
          type: string
        inherited_from_id:
          type:
            - 'null'
            - string
        inherited_from_type:
          type:
            - 'null'
            - string
        key:
          type: string
        name:
          type: string
        original_value: {}
        overridden:
          type:
            - 'null'
            - boolean
        type:
          type: string
        value: {}
      type: object
    ResponseProductPricingRepresentation:
      properties:
        company_id:
          description: The company ID for the product pricing
          type: string
        computed_entitlements:
          description: The final computed features for the product pricing
          items:
            $ref: '#/components/schemas/ResponseEntitlementDataRepresentation'
          type:
            - array
            - 'null'
        created_at:
          description: The date the product pricing was created
          format: date-time
          type: string
        currency:
          description: The currency for the product pricing
          type:
            - string
            - 'null'
        description:
          description: The description for the product pricing
          type: string
        external_name:
          description: The externally exposed name for the product pricing used on invoices
          type: string
        id:
          description: The ID of the product pricing in Measure
          type: string
        import_created_at_ref:
          description: The date the product pricing was created from the import source
          format: date-time
          type:
            - 'null'
            - string
        import_ref:
          description: The import reference of the product pricing
          type:
            - 'null'
            - string
        imported_from:
          description: Where the product pricing was imported from
          type:
            - 'null'
            - string
        metadata:
          additionalProperties: true
          description: >-
            Any additional data as key-value pairs attached to the product
            pricing
          type: object
        minimum_spend:
          $ref: '#/components/schemas/ModelAmount'
          description: The minimum spend across the entire term of the product pricing
        name:
          description: The name of the product pricing
          type: string
        num_subs:
          description: The number of subscriptions in the company with the product pricing
          minimum: 0
          type: integer
        override_entitlements:
          description: The overridden features for the product pricing
          items:
            $ref: '#/components/schemas/ResponseEntitlementDataRepresentation'
          type:
            - array
            - 'null'
        product:
          $ref: '#/components/schemas/ResponseProductRepresentation'
          description: The expanded product for the product pricing
        product_id:
          description: The product ID that the product pricing is attached to
          type: string
        product_metric_pricings:
          description: The metric components of the product pricing plan
          items:
            $ref: '#/components/schemas/ResponseProductMetricPricingRepresentation'
          type:
            - array
            - 'null'
        state:
          description: The state of the product pricing such as ACTIVE or ARCHIVED
          type: string
        tags:
          description: Any tags on the product pricing
          items:
            type: string
          type:
            - array
            - 'null'
        type:
          description: The type of product pricing such as recurring or one-time
          type: string
        updated_at:
          description: The date the product pricing was last updated
          format: date-time
          type: string
        upsell_product_pricing_id:
          description: The upsell product pricing ID
          type:
            - 'null'
            - string
      type: object
    ModelAmount:
      description: The amount which has value in cents and a currency
      properties:
        currency:
          type: string
        value_in_cents:
          format: int64
          type: integer
      type: object
    ResponseProductMetricPricingRepresentation:
      properties:
        company_id:
          type: string
        created_at:
          format: date-time
          type: string
        id:
          type: string
        item:
          $ref: '#/components/schemas/ResponseBillableItemRepresentation'
        item_id:
          type: string
        item_pricing:
          $ref: '#/components/schemas/ResponseBillableItemPricingRepresentation'
        item_pricing_id:
          type: string
        metric:
          $ref: '#/components/schemas/ResponseBillableMetricStringRepresentation'
        metric_id:
          type: string
        product:
          $ref: '#/components/schemas/ResponseProductRepresentation'
        product_id:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    ResponseBillableItemRepresentation:
      properties:
        company_id:
          description: The company ID for the billable item
          type: string
        created_at:
          description: The date the billable item was created
          format: date-time
          type: string
        description:
          description: Any description attached to the billable item
          type: string
        display_type:
          description: >-
            The display type of the billable item which can be one of UNITS,
            AMOUNT, THOUSAND_UNITS, MILLION_UNITS
          type: string
        editable:
          description: Whether the billable item can be further edited
          type: boolean
        external_name:
          description: The public name of the billable item
          type: string
        id:
          description: The ID of the billable item in Measure
          type: string
        name:
          description: The name of the billable item
          type: string
        standard:
          description: >-
            Whether this is a standard billable item in Measure or a custom
            billable item
          type: boolean
        type:
          description: >-
            The type of the billable item which can be one of CUSTOM_USAGE or
            CUSTOM_OBJ, based on usage-based item or object-based item
          type: string
        updated_at:
          description: The date the billable item was last updated
          format: date-time
          type: string
      type: object
    ResponseBillableItemPricingRepresentation:
      properties:
        base_price:
          $ref: '#/components/schemas/ModelAmount'
        base_units:
          format: double
          type: number
        charge_type:
          type: string
        company:
          $ref: '#/components/schemas/ResponseCompanyRepresentation'
        company_id:
          type: string
        created_at:
          format: date-time
          type: string
        credit_price:
          $ref: '#/components/schemas/ModelCreditPricing'
        custom_price:
          $ref: '#/components/schemas/ModelCustomPricing'
        description:
          type: string
        display_type:
          type: string
        editable:
          type: boolean
        external_name:
          type: string
        fixed_price:
          $ref: '#/components/schemas/ModelFixedPricing'
        frequency:
          type:
            - string
        gradient_price:
          items:
            $ref: '#/components/schemas/ModelGradientPricing'
          type: array
        id:
          type: string
        item:
          $ref: '#/components/schemas/ResponseBillableItemRepresentation'
        item_id:
          type: string
        metadata:
          additionalProperties: true
          type: object
        minimum_spend:
          $ref: '#/components/schemas/ModelAmount'
        minimum_spend_schedule:
          $ref: '#/components/schemas/ModelItemPricingMinimumSpendSchedule'
        name:
          type: string
        num_subs:
          minimum: 0
          type: integer
        proration_type:
          type: string
        recognition_schedule:
          $ref: '#/components/schemas/ModelItemPricingRecognitionSchedule'
        scheduled_price:
          $ref: '#/components/schemas/ModelScheduledPricing'
        state:
          type: string
        step_price:
          $ref: '#/components/schemas/ModelStepPricing'
        term_count:
          format: int64
          type: integer
        true_up_frequency:
          type:
            - string
        type:
          type: string
        updated_at:
          format: date-time
          type: string
        volume_price:
          items:
            $ref: '#/components/schemas/ModelVolumePricing'
          type: array
      type: object
    ResponseBillableMetricStringRepresentation:
      properties:
        company_id:
          type: string
        created_at:
          format: date-time
          type: string
        description:
          type: string
        external_name:
          type: string
        id:
          type: string
        item_id:
          type: string
        metering_rule:
          $ref: '#/components/schemas/ResponseMeteringRuleRepresentation'
        name:
          type: string
        standard:
          type: boolean
        type:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    ResponseCompanyRepresentation:
      properties:
        address:
          $ref: '#/components/schemas/ModelAddress'
        computed_entitlements:
          additionalProperties: {}
          type: object
        created_at:
          format: date-time
          type: string
        customer_id:
          type:
            - 'null'
            - string
        demo:
          type: boolean
        email:
          type: string
        entitlements:
          items:
            $ref: '#/components/schemas/ResponseEntitlementDataRepresentation'
          type: array
        id:
          type: string
        is_dev:
          type: boolean
        legal_name:
          type: string
        name:
          type: string
        override_entitlements:
          items:
            $ref: '#/components/schemas/ResponseEntitlementDataRepresentation'
          type: array
        phone:
          type: string
        preferred_currency:
          type:
            - string
            - 'null'
        preferred_timezone:
          type: string
        slug:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    ModelCreditPricing:
      properties:
        amount:
          $ref: '#/components/schemas/ModelAmount'
          description: Amount of credit
        expiration_policy:
          description: Expiration policy for the credit
          enum:
            - END_OF_PRICING_FREQUENCY
            - NEVER
            - END_OF_TERM
          type:
            - 'null'
            - string
        item_id:
          description: Item ID of the credit
          type:
            - 'null'
            - string
        scoped_product_ids:
          description: Product IDs this credit is restricted to. Empty = unrestricted
          items:
            type: string
          type: array
        type:
          description: Type of credit
          enum:
            - AMOUNT
            - UNITS
          type: string
        units:
          description: Units of credit
          exclusiveMinimum: 0
          format: double
          type: number
      required:
        - type
      type: object
    ModelCustomPricing:
      properties:
        max_price_per_unit:
          type: number
        min_price_per_unit:
          type: number
        preset_price_per_unit:
          type: number
        price_per_unit:
          type: number
      type: object
    ModelFixedPricing:
      properties:
        price_per_unit:
          description: Price per unit (in cents)
          type: number
      type: object
    ModelGradientPricing:
      properties:
        end:
          description: End quantity for the row
          minimum: 0
          type: integer
        flat_price:
          description: Flat Price (in cents)
          type: number
        is_custom_tier:
          description: Is custom tier
          type: boolean
        price_per_unit:
          description: Price per unit (in cents)
          type: number
        start:
          description: Start quantity for the row
          minimum: 0
          type: integer
      type: object
    ModelItemPricingMinimumSpendSchedule:
      properties:
        allow_pulling_forward:
          description: Allow pulling forward of minimum spend
          type: boolean
        amount_per_period:
          description: Amount of period per unit (in cents)
          items:
            type: string
          type:
            - 'null'
            - array
        minimum_spend_schedule_type:
          description: Type of minimum spend schedule
          type: string
      type: object
    ModelItemPricingRecognitionSchedule:
      properties:
        amount_per_period:
          description: Amount of period per unit (in cents)
          items:
            type: string
          type:
            - 'null'
            - array
        recognition_schedule_type:
          description: Type of recognition schedule
          enum:
            - IMMEDIATE
            - EVENLY
            - DAILY_EVENLY
            - CUSTOM
            - DONT_RECOGNIZE
          type: string
      type: object
    ModelScheduledPricing:
      properties:
        price_per_unit_per_period:
          description: Price per unit (in cents)
          items:
            type: string
          type:
            - array
            - 'null'
      type: object
    ModelStepPricing:
      properties:
        price_per_step:
          description: Price per step (in cents)
          type: number
        step_size:
          description: Step size
          minimum: 0
          type: integer
      type: object
    ModelVolumePricing:
      properties:
        flat_price:
          description: Flat Price (in cents)
          type: number
        is_custom_tier:
          description: Is custom tier
          type: boolean
        price_per_unit:
          description: Price per unit (in cents)
          type: number
        total_units_end:
          description: End quantity for the row
          minimum: 0
          type: integer
        total_units_start:
          description: Start quantity for the row
          minimum: 0
          type: integer
      type: object
    ResponseMeteringRuleRepresentation:
      properties:
        aggregator:
          type: string
        group_keys:
          items:
            type: string
          type:
            - array
            - 'null'
        property:
          type: string
        rule:
          type:
            - 'null'
            - string
      type: object
    ModelAddress:
      properties:
        address_line_1:
          type: string
        address_line_2:
          type: string
        city:
          type: string
        country:
          description: 2-character country code (ISO 3166-1 alpha-2)
          examples:
            - US
          type: string
        place_id:
          type:
            - 'null'
            - string
        state:
          type: string
        zip:
          type: string
      type: object
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer

````