postProducts :: MonadHTTP m=> PostProductsRequestBodyThe request body to send
-> ClientT m (Response PostProductsResponse)Monadic computation which returns the result of the operation
POST /v1/products<p>Creates a new product object.</p>
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05
Modulestripeapi-3.0.0.0Haskell2010
Contains the different functions to run the operation postProducts
postProducts :: MonadHTTP m=> PostProductsRequestBodyThe request body to send
-> ClientT m (Response PostProductsResponse)Monadic computation which returns the result of the operation
POST /v1/products<p>Creates a new product object.</p>
Defines the object schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema in the specification.
PostProductsRequestBodypostProductsRequestBodyActive :: Maybe Boolactive: Whether the product is currently available for purchase. Defaults to `true`.
postProductsRequestBodyDefaultPriceData :: Maybe PostProductsRequestBodyDefaultPriceData'default_price_data: Data used to generate a new Price object. This Price will be set as the default price for this product.
postProductsRequestBodyDescription :: Maybe Textdescription: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
Constraints:
Maximum length of 40000
postProductsRequestBodyExpand :: Maybe [Text]expand: Specifies which fields in the response should be expanded.
postProductsRequestBodyId :: Maybe Textid: An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.
Constraints:
Maximum length of 5000
postProductsRequestBodyImages :: Maybe [Text]images: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
postProductsRequestBodyMetadata :: Maybe Objectmetadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
postProductsRequestBodyName :: Textname: The product's name, meant to be displayable to the customer.
Constraints:
Maximum length of 5000
postProductsRequestBodyPackageDimensions :: Maybe PostProductsRequestBodyPackageDimensions'package_dimensions: The dimensions of this product for shipping purposes.
postProductsRequestBodyShippable :: Maybe Boolshippable: Whether this product is shipped (i.e., physical goods).
postProductsRequestBodyStatementDescriptor :: Maybe Textstatement_descriptor: An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.
This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter.
Constraints:
Maximum length of 22
postProductsRequestBodyTaxCode :: Maybe Texttax_code: A tax code ID.
postProductsRequestBodyUnitLabel :: Maybe Textunit_label: A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions.
Constraints:
Maximum length of 12
postProductsRequestBodyUrl :: Maybe Texturl: A URL of a publicly-accessible webpage for this product.
Constraints:
Maximum length of 5000
Eq PostProductsRequestBodyDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsCreate a new PostProductsRequestBody with all required fields.
Defines the object schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.default_price_data in the specification.
Data used to generate a new Price object. This Price will be set as the default price for this product.
PostProductsRequestBodyDefaultPriceData'postProductsRequestBodyDefaultPriceData'Currency :: Textcurrency
postProductsRequestBodyDefaultPriceData'Recurring :: Maybe PostProductsRequestBodyDefaultPriceData'Recurring'recurring
postProductsRequestBodyDefaultPriceData'TaxBehavior :: Maybe PostProductsRequestBodyDefaultPriceData'TaxBehavior'tax_behavior
postProductsRequestBodyDefaultPriceData'UnitAmount :: Maybe Intunit_amount
postProductsRequestBodyDefaultPriceData'UnitAmountDecimal :: Maybe Textunit_amount_decimal
Eq PostProductsRequestBodyDefaultPriceData'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyDefaultPriceData'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyDefaultPriceData'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyDefaultPriceData'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsCreate a new PostProductsRequestBodyDefaultPriceData' with all required fields.
Defines the object schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.default_price_data.properties.recurring in the specification.
Eq PostProductsRequestBodyDefaultPriceData'Recurring'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyDefaultPriceData'Recurring'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyDefaultPriceData'Recurring'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyDefaultPriceData'Recurring'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsCreate a new PostProductsRequestBodyDefaultPriceData'Recurring' with all required fields.
Defines the enum schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.default_price_data.properties.recurring.properties.interval in the specification.
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Other ValueThis case is used if the value encountered during decoding does not match any of the provided cases in the specification.
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Typed TextThis constructor can be used to send values to the server which are not present in the specification yet.
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'EnumDayRepresents the JSON value "day"
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'EnumMonthRepresents the JSON value "month"
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'EnumWeekRepresents the JSON value "week"
PostProductsRequestBodyDefaultPriceData'Recurring'Interval'EnumYearRepresents the JSON value "year"
Eq PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyDefaultPriceData'Recurring'Interval'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsDefines the enum schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.default_price_data.properties.tax_behavior in the specification.
PostProductsRequestBodyDefaultPriceData'TaxBehavior'Other ValueThis case is used if the value encountered during decoding does not match any of the provided cases in the specification.
PostProductsRequestBodyDefaultPriceData'TaxBehavior'Typed TextThis constructor can be used to send values to the server which are not present in the specification yet.
PostProductsRequestBodyDefaultPriceData'TaxBehavior'EnumExclusiveRepresents the JSON value "exclusive"
PostProductsRequestBodyDefaultPriceData'TaxBehavior'EnumInclusiveRepresents the JSON value "inclusive"
PostProductsRequestBodyDefaultPriceData'TaxBehavior'EnumUnspecifiedRepresents the JSON value "unspecified"
Eq PostProductsRequestBodyDefaultPriceData'TaxBehavior'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyDefaultPriceData'TaxBehavior'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyDefaultPriceData'TaxBehavior'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyDefaultPriceData'TaxBehavior'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsDefines the object schema located at paths./v1/products.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.package_dimensions in the specification.
The dimensions of this product for shipping purposes.
Eq PostProductsRequestBodyPackageDimensions'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsRequestBodyPackageDimensions'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsFromJSON PostProductsRequestBodyPackageDimensions'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsToJSON PostProductsRequestBodyPackageDimensions'Defined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsCreate a new PostProductsRequestBodyPackageDimensions' with all required fields.
Represents a response of the operation postProducts.
The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), PostProductsResponseError is used.
PostProductsResponseError StringMeans either no matching case available or a parse error
PostProductsResponse200 ProductSuccessful response.
PostProductsResponseDefault ErrorError response.
Eq PostProductsResponseDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProductsShow PostProductsResponseDefined in stripeapi-3.0.0.0 · StripeAPI.Operations.PostProducts