Copy PageCreate a productpost https://api.katanamrp.com/v1/productsCreates a product object.Recent RequestsLog in to see full request historyTimeStatusUser Agent Retrieving recent requests…LoadingLoading…Body Paramsnew product detailsnamestringrequireduomstringlength ≤ 7category_namestringis_sellablebooleantruefalseis_produciblebooleantruefalseis_purchasablebooleantruefalseis_auto_assemblybooleantruefalsedefault_supplier_idinteger≤ 2147483647additional_infostringbatch_trackedbooleantruefalseserial_trackedbooleantruefalseoperations_in_sequencebooleantruefalsepurchase_uomstringlength ≤ 7purchase_uom_conversion_ratenumber≤ 1000000000000lead_timeinteger | null≤ 999minimum_order_quantitynumber | null0 to 999999999configsarray of objectslength ≥ 1configs objectnamestringrequiredvaluesarray of stringsrequiredvalues*ADD stringADD objectcustom_field_collection_idinteger | null≤ 2147483647Custom fields collection the item draws its legacy {field_name, field_value} custom fields from. Belongs to the legacy representation only — sending it together with object-form custom_fields is rejected with a 422. See the X-Custom-Fields-Format header.variantsarray of objectsrequiredlength ≥ 1variants* objectskustringpurchase_pricenumber | null0 to 100000000000sales_pricenumber | null0 to 100000000000config_attributesarray of objectslength ≥ 1config_attributes objectconfig_namestringrequiredconfig_valuestringrequiredADD objectinternal_barcodestringlength between 3 and 40registered_barcodestringlength between 3 and 40supplier_item_codesarray of stringslength ≥ 1supplier_item_codes stringADD stringcustom_fieldsCustom field values on the variant. Served in one of two representations depending on the account — the legacy {field_name, field_value} array, or an object keyed by custom field definition id. See the X-Custom-Fields-Format header for how the representation is chosen, and note that a single request must not mix the two.objectarraycustom_fields objectADD objectHeadersX-Custom-Fields-FormatstringenumSelects the representation of custom_fields on items, for both the request body and the response. default — object keyed by custom field definition id (UUID). legacy — the {field_name, field_value} array tied to custom fields collections. Most accounts do not need this header: an account that has not moved to item custom fields always gets legacy, and an account that has moved and no longer uses collections always gets the object representation. The header matters only while both are available for the account, where legacy is the default and default opts into the object representation. Requesting a representation the account does not have returns 422, as does sending a custom_fields body whose shape does not match the representation in force, mixing both shapes in one request, or combining custom_field_collection_id with the object representation — that field belongs to the legacy representation and is left out of responses entirely under the object one. Responses vary on this header.defaultlegacyAllowed:defaultlegacyResponses 200New product created 401Make sure you've entered your API token correctly. 422Check the details property for a specific error message. 429The rate limit has been reached. Please try again later. 500The server encountered an error. If this persists, please contact supportUpdated 5 months ago The product objectList all productsDid this page help you?YesNo