Skip to content

Cart

Shopping cart and checkout.

POST/api/carts

Creates a Cart resource.

Request body

Request body properties for POST /api/carts
Name Type Required Description
items array<CartItemCreateDto-cart.create> yes

Example request

Example body
{
    "items": [
        {
            "productNumber": "P-100200",
            "productName": "Industrial Drill Press",
            "productSku": "SKU-DRILL-5000",
            "quantity": 2,
            "price": 4540.11,
            "productOptions": {
                "color": "blue",
                "size": "M"
            },
            "categoryId": 3,
            "categorySlug": "hardware",
            "devices": [
                {
                    "bwBaselineCount": 1000,
                    "bwBaselinePrice": 0.01,
                    "bwOveragePrice": 0.02,
                    "colorBaselineCount": 200,
                    "colorBaselinePrice": 0.05,
                    "colorOveragePrice": 0.07,
                    "scanBaselineCount": 300,
                    "scanBaselinePrice": 0.03,
                    "scanOveragePrice": 0.04,
                    "locked": false
                },
                {
                    "bwBaselineCount": 1500,
                    "bwBaselinePrice": 0.01,
                    "bwOveragePrice": 0.02,
                    "locked": false
                }
            ]
        }
    ]
}

Code samples

curl -X POST 'https://sandbox.partner.miete24.com/api/carts' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"items":[{"productNumber":"P-100200","productName":"Industrial Drill Press","productSku":"SKU-DRILL-5000","quantity":2,"price":4540.11,"productOptions":{"color":"blue","size":"M"},"categoryId":3,"categorySlug":"hardware","devices":[{"bwBaselineCount":1000,"bwBaselinePrice":0.01,"bwOveragePrice":0.02,"colorBaselineCount":200,"colorBaselinePrice":0.05,"colorOveragePrice":0.07,"scanBaselineCount":300,"scanBaselinePrice":0.03,"scanOveragePrice":0.04,"locked":false},{"bwBaselineCount":1500,"bwBaselinePrice":0.01,"bwOveragePrice":0.02,"locked":false}]}]}'

Responses

Responses for POST /api/carts
Status Description Schema
201 Cart resource created Cart.CartFinancingResponse-cart.financing
400 Invalid input
422 Unprocessable entity

GET/api/carts/{id}

Retrieves a Cart resource.

Parameters

Path and query parameters for GET /api/carts/{id}
Name In Type Required Description
id path string yes Cart identifier

Code samples

curl -X GET 'https://sandbox.partner.miete24.com/api/carts/{id}' \
  -H 'X-Api-Key: YOUR_API_KEY'

Responses

Responses for GET /api/carts/{id}
Status Description Schema
200 Cart resource Cart.CartFinancingResponse-cart.financing_cart.status
404 Resource not found

PUT/api/carts/{id}

Replaces the Cart resource.

Parameters

Path and query parameters for PUT /api/carts/{id}
Name In Type Required Description
id path string yes Cart identifier

Request body

Request body properties for PUT /api/carts/{id}
Name Type Required Description
items array<CartItemCreateDto-cart.create> yes

Example request

Example body
{
    "items": [
        {
            "productNumber": "P-100200",
            "productName": "Industrial Drill Press",
            "productSku": "SKU-DRILL-5000",
            "quantity": 2,
            "price": 4540.11,
            "productOptions": {
                "color": "blue",
                "size": "M"
            },
            "categoryId": 3,
            "categorySlug": "hardware",
            "devices": [
                {
                    "bwBaselineCount": 1000,
                    "bwBaselinePrice": 0.01,
                    "bwOveragePrice": 0.02,
                    "colorBaselineCount": 200,
                    "colorBaselinePrice": 0.05,
                    "colorOveragePrice": 0.07,
                    "scanBaselineCount": 300,
                    "scanBaselinePrice": 0.03,
                    "scanOveragePrice": 0.04,
                    "locked": false
                },
                {
                    "bwBaselineCount": 1500,
                    "bwBaselinePrice": 0.01,
                    "bwOveragePrice": 0.02,
                    "locked": false
                }
            ]
        }
    ]
}

Code samples

curl -X PUT 'https://sandbox.partner.miete24.com/api/carts/{id}' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"items":[{"productNumber":"P-100200","productName":"Industrial Drill Press","productSku":"SKU-DRILL-5000","quantity":2,"price":4540.11,"productOptions":{"color":"blue","size":"M"},"categoryId":3,"categorySlug":"hardware","devices":[{"bwBaselineCount":1000,"bwBaselinePrice":0.01,"bwOveragePrice":0.02,"colorBaselineCount":200,"colorBaselinePrice":0.05,"colorOveragePrice":0.07,"scanBaselineCount":300,"scanBaselinePrice":0.03,"scanOveragePrice":0.04,"locked":false},{"bwBaselineCount":1500,"bwBaselinePrice":0.01,"bwOveragePrice":0.02,"locked":false}]}]}'

Responses

Responses for PUT /api/carts/{id}
Status Description Schema
200 Cart resource updated Cart.CartFinancingResponse-cart.financing
400 Invalid input
404 Resource not found
422 Unprocessable entity

POST/api/carts/{id}/checkout

Creates a Cart resource.

Parameters

Path and query parameters for POST /api/carts/{id}/checkout
Name In Type Required Description
id path string yes Cart identifier

Request body

Request body properties for POST /api/carts/{id}/checkout
Name Type Required Description
duration integer yes Ausgewählte Laufzeit in Monaten
financingType string yes Financing type. Use "print_plan" (PH-590) to check the cart out as a Print-Plan contract: the cart items per-device click-billing data (CartItemCreateDto.devices) plus the printPlanContractTerms block are turned into a Print-Plan quote. serviceCost and customSlaFileName are not allowed for print_plan. PH-755: "print_plan_3kdg_12verl" and "print_plan_6kdg_12verl" are Print-Plan contract variants that behave identically but send their own producttype to GRENKE.
paymentInterval string no Zahlungsweise; Default monthly.
commission integer no Provisionsstufe in Prozent; Default 0. Es sind nur Stufen zulässig, für die dem Partner eine Mietfaktorenliste zugeordnet ist.
quoteNumber string|null no Optional custom quote number.
printPlanContractTerms mixed no Print-Plan contract terms (PH-590); only applied when financingType=print_plan. Optional — defaults: 5% page coverage, 15% color ratio, full maintenance.
customer CustomerData-cart.checkout yes Kundendaten
serviceCost number|null no Monatliche Servicegebühr für die Miete.
customSlaFileName string|null no Kairos "file" identifier of the custom SLA selected for this quote.

Example request

Example body
{
    "duration": 36,
    "financingType": "leasing",
    "paymentInterval": "monthly",
    "commission": 0,
    "quoteNumber": "PARTNER-2026-001",
    "printPlanContractTerms": {
        "pageCoverage": 5,
        "colorRatio": 15,
        "maintenanceTonerColor": true,
        "maintenanceDrums": true,
        "maintenanceStaples": true,
        "maintenancePaper": true
    },
    "customer": {
        "firstName": "Anna",
        "lastName": "Schmidt",
        "email": "anna.schmidt@example.com",
        "street": "Hauptstrasse",
        "houseNumber": "12a",
        "zipCode": "10115",
        "city": "Berlin",
        "country": "Deutschland",
        "phone": "+49 30 1234567",
        "company": "Schmidt GmbH",
        "vatId": "DE123456789"
    },
    "serviceCost": 4.5,
    "customSlaFileName": "gold-sla.pdf"
}

Code samples

curl -X POST 'https://sandbox.partner.miete24.com/api/carts/{id}/checkout' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"duration":36,"financingType":"leasing","paymentInterval":"monthly","commission":0,"quoteNumber":"PARTNER-2026-001","printPlanContractTerms":{"pageCoverage":5,"colorRatio":15,"maintenanceTonerColor":true,"maintenanceDrums":true,"maintenanceStaples":true,"maintenancePaper":true},"customer":{"firstName":"Anna","lastName":"Schmidt","email":"anna.schmidt@example.com","street":"Hauptstrasse","houseNumber":"12a","zipCode":"10115","city":"Berlin","country":"Deutschland","phone":"+49 30 1234567","company":"Schmidt GmbH","vatId":"DE123456789"},"serviceCost":4.5,"customSlaFileName":"gold-sla.pdf"}'

Responses

Responses for POST /api/carts/{id}/checkout
Status Description Schema
201 Cart resource created Cart.CheckoutResponseDto-checkout.response
400 Invalid input
422 Unprocessable entity