BizKitHub
DocsAPI ReferenceComplaint/api/v1/shop/complaint/create
postComplaintPublic API v1

/api/v1/shop/complaint/create

Create a new complaint case.

Use this endpoint to file a complaint, return request, or exchange request from your system. The complaint is automatically created with status new and an initial event is recorded in the timeline.

Typical flow:

  1. Create complaint via this endpoint
  2. Poll status via GET /detail
  3. Optionally update status via POST /set-status

Linking to orders: Provide orderHash to link the complaint to an existing order. The system will validate that the order belongs to your organisation.

complaintpostApiV1ShopComplaintCreate

Parameters

1 query · JSON body

Query parameters

· 1
apiKeystringRequired

Your BizKitHub API key (passed as GET parameter).

Key format: A 32-character string matching: ^(PROD|DEV_|ROOT)[A-Za-z0-9]{28}$
Prefixes: PROD (production key), DEV_ (individual developer), ROOT (system key with no limits). Learn more

ExamplePRODPGrFxpGEtrOZfuWhnoJohUYBXuOE

Request body

application/json
variantCodestringRequired

Organisation-defined complaint variant code.

Each organisation configures its own set of complaint types (e.g. reklamace, vraceni, vymena). The variant must exist and be active in the organisation settings before it can be used.

Examplesreklamacevracenivymena
orderHashstringOptional

Hash of the order this complaint is related to. The order must belong to the same organisation. If provided, the system automatically links the complaint to the order.

Length: 3232
ExamplesSO98YxzR4KJiOu66Jn6K3wRwa4FPI7S
orderNumberstringOptional

Human-readable order number for reference.

Use this field when the order is external or when you want to store the order number without linking to an internal order. If orderHash is provided, this field is optional and will be used as a display label only.

Example25000087
descriptionstringRequired

Customer-provided description and reason for the complaint.

Include as much detail as possible — product condition, circumstances, and what the customer expects. This text is visible to staff and can be shared with the customer.

ExampleProduct arrived damaged, visible scratch on the surface.
customerNamestringRequired

Full name of the customer filing the complaint.

ExampleJan Novák
emailstringOptional

Customer e-mail address for complaint communication.

Used for sending status updates and resolution notifications to the customer.

Examplejan@barasek.com
phonestringOptional

Customer phone number in international format.

Preferred format: +<country_code> <local_number>
Example: +420 777123456

Example+420 777123456
pricenumberOptional

Total claimed amount in the specified currency.

The claimed amount represents the value the customer is requesting as refund, credit, or compensation. Use decimal precision up to two places.

Example1500
currencystringOptional

ISO 4217 currency code for the claimed amount. Defaults to organisation currency if omitted.

ExamplesCZKEUR
refundCountrystringOptional

ISO 3166-1 alpha-2 country code for the refund bank account.

ExamplesCZSK
refundBankAccountstringOptional

Bank account number for refund transfer.

Use the local bank account format (e.g. 123456789/0100 for CZ) or IBAN.

Example123456789/0100
refundVariableSymbolstringOptional

Variable symbol for the refund bank transfer. Typically the original order number.

Example25000087
branchIdnumberOptional

Branch ID where the product should be sent for inspection or return.

resolutionMethodCodestringOptional

Preferred resolution method code defined by the organisation.

Common values: repair (fix the product), exchange (replace with new), refund (return money), credit (issue store credit). The method must exist in the organisation settings.

Examplesrepairexchangerefund
dueDatestringOptionaldate-time

Deadline for complaint resolution. If omitted, the organisation default applies.

Example2026-02-15T00:00:00.000Z
itemsobject[]Optional

List of items being complained about.

Each item can optionally reference an original order item by ID. If the complaint covers the entire order, you can omit this field and set the total claimed amount in the price field instead.

Each array item:
orderItemIdnumberOptional

Internal order item ID to link the complained item to the original order line.

labelstringRequired

Item description as displayed in the complaint.

ExampleWireless headphones Model X
quantitynumberOptional

Number of items being complained about. Defaults to 1.

Example1
pricenumberOptional

Claimed unit price of the item in the complaint currency.

Example2490

Response schema

1 status code documented

200Success
idstringRequired

Unique complaint external ID. Use this ID for subsequent operations (status changes, detail lookup).

Examplea1b2c3d4e5f6g7h8

Response example

application/json
{
  "id": "a1b2c3d4e5f6g7h8"
}

Request example

POST /api/v1/shop/complaint/create

post
curl -X POST "https://api.bizkithub.com/api/v1/shop/complaint/create?apiKey=PRODPGrFxpGEtrOZfuWhnoJohUYBXuOE" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "variantCode": "reklamace",
  "orderHash": "sSO98YxzR4KJiOu66Jn6K3wRwa4FPI7S",
  "orderNumber": "25000087",
  "description": "Product arrived damaged, visible scratch on the surface.",
  "customerName": "Jan Novák",
  "email": "jan@barasek.com",
  "phone": "+420 777123456",
  "price": 1500,
  "currency": "CZK",
  "refundCountry": "CZ",
  "refundBankAccount": "123456789/0100",
  "refundVariableSymbol": "25000087",
  "branchId": 0,
  "resolutionMethodCode": "repair",
  "dueDate": "2026-02-15T00:00:00.000Z",
  "items": [
    {
      "orderItemId": 0,
      "label": "Wireless headphones Model X",
      "quantity": 1,
      "price": 2490
    }
  ]
}'

Need an API key?

All BizKitHub public API endpoints require authentication via API key.

Get API Key