# Local testing template only. Fill placeholders with non-production credentials from local env/secrets.
# Never commit real API tokens, setup tokens, emails, or passwords.

### POST request to /account/auth/phone
POST https://api.truckwash.dk:4433/account/auth/phone
Accept: application/json
Content-Type: application/json

{
    "phone": 42331128,
    "country_code": 45
}

### POST request to /subusers
POST https://api.truckwash.dk:4433/subusers
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "cvr": 41004355,
    "phone_country_code": 45,
    "phone": 42331128
}

### POST request to /collected-invoices/move-multiple
POST https://api.truckwash.io:4433/collected-invoices/move-multiple
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "order_ids": [54518, 48782, 48744],
    "target_customer_number": 42460282,
    "closed_at": "2026-03-31"
}

### POST request to /collected-invoices/move-multiple/registration-numbers
POST https://api.truckwash.io:4433/collected-invoices/move-multiple/registration-numbers
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "registration_numbers": ["DC29870",
        "DJ58975",
        "DL29041",
        "DN23122",
        "DN23014",
        "AK71417",
        "DX22135",
        "DX22132",
        "DX22134",
        "DR97418",
        "DR32398",
        "DR97427",
        "DS11478",
        "DC29873",
        "AA72279",
        "AC38858",
        "AY59064",
        "AL94096",
        "AZ20321",
        "BB25208",
        "CZ72055",
        "DV11106",
        "DJ31995",
        "DN23025",
        "DN88009",
        "DP53305",
        "DR97424",
        "DS11485",
        "DW85802",
        "AG4277",
        "AG4278",
        "AG4279",
        "AH2383",
        "AH5739",
        "AH4647",
        "AH5741",
        "CM1169",
        "EY4630",
        "EK2303",
        "FB5526",
        "FB5527"],
    "target_customer_number": 43323232,
    "from_date": "2026-04-01",
    "to_date": "2026-04-30",
    "closed_at": "2026-04-30"
}

### GET request to https://api.truckwash.io:4433/superuser/invoicing/period?dateFrom=2026-05-12&dateTo=2026-05-12&periodView=all&page=1&limit=100&search=&includeRequiresAction=1&includeBooked=1
GET https://api.truckwash.io/superuser/invoicing/period?dateFrom=2026-04-01&dateTo=2026-04-30&periodView=all&page=1&limit=all&search=&includeRequiresAction=1&includeBooked=1
Accept: application/json
Authorization: Bearer {{$API_TRUCKWASH_TOKEN}}
Content-Type: application/json

### GET request to /subusers/setup
GET https://api.truckwash.dk:4433/subusers/setup?token={{SUBUSER_SETUP_TOKEN}}
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

### POST /bird/voice/calls/webhook/inbound
POST http://localhost/bird/voice/calls/webhook/inbound
Accept: application/json
content-type: application/json

{
    "service": "channels",
    "event": "voice.inbound",
    "url": "https://yoururl.com",
    "signingKey": "{{BIRD_SIGNING_KEY}}",
    "eventFilters": [
        {
            "key": "channelId",
            "value": "b827924e-9789-4c2f-a4d5-b352175354f6"
        },
        {
            "key": "status",
            "value": "completed"
        },
        {
            "key": "status",
            "value": "starting"
        }
    ]
}


### POST request to /subusers/setup
POST http://localhost/api/subusers/setup
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "token": "{{SUBUSER_SETUP_TOKEN}}",
    "name": "Test Subuser",
    "username": "testsubuser",
    "email": "{{SUBUSER_EMAIL}}",
    "password": "{{SUBUSER_PASSWORD}}"
}

### POST request to /subusers/auth/password
POST https://api.truckwash.dk:4433/subusers/auth/password
Accept: application/json
Content-Type: application/json

{
    "username": "testsubuser",
    "password": "{{SUBUSER_PASSWORD}}"
}

### GET request to /order-bookings (As subuser)
GET https://api.truckwash.dk:4433/order-bookings
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to /order-bookings (As subuser, specific ID)
GET https://api.truckwash.dk:4433/order-bookings?id=76
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to /vehicles (As subuser)
GET https://api.truckwash.dk:4433/vehicles
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to /vehicles (As subuser, specific ID)
GET https://api.truckwash.dk:4433/vehicles?id=384
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to /orders (As subuser)
GET https://api.truckwash.dk:4433/orders
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128


### GET request to /subusers/me (As subuser)
GET https://api.truckwash.dk:4433/subusers/me
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to /subusers/permission-nodes
GET https://api.truckwash.dk:4433/subusers/permission-nodes
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

### GET request to /subusers/grants (As subuser)
GET https://api.truckwash.dk:4433/subusers/grants
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{SUBUSER_BEARER_TOKEN}}
X-Customer-Number: 42331128

### GET request to order bookings (list all)
GET https://api.truckwash.dk:4433/order-bookings
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

### GET request to order bookings (specific ID)
GET https://api.truckwash.dk:4433/order-bookings?id=1
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}


### GET request to weather (specific ID)
GET https://api.truckwash.io/departments/weather?id=1
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

### PUT request to order bookings (update specific ID)
PUT https://api.truckwash.dk:4433/order-bookings
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "id": 4,
    "note": "Updated note 3",
    "reference": "Updated ref 3",
    "reg_2": null
}

### POST request to complete an order booking
POST https://api.truckwash.dk:4433/order-bookings/complete
Accept: application/json
Content-Type: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}

{
    "id": 3,
    "safety_seal": 123456
}

### POST request password reset
POST https://api.truckwash.dk:4433/auth/password-reset/request
Accept: application/json
Content-Type: application/json

{
    "customer_number": 12345679
}

### Get department distribution e-conomic
GET http://localhost/api/superuser/invoicing/period/distribution/v2/booked-department-75
Accept: application/json
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}
Content-Type: application/json

{
    "dateFrom": "2026-01-01",
    "dateTo": "2026-01-31"
}

###
### POST request to order bookings
POST https://api.truckwash.dk:4433/order-bookings
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.6
Authorization: Bearer {{ADMIN_BEARER_TOKEN}}
Content-Type: application/json

{
    "customer_number": 12345679,
    "department": 2,
    "reg_1": "EC21233",
    "reg_2": null,
    "reg_3": "Abc",
    "datetime": "2025-11-11",
    "note": "Note 123",
    "reference": "Reference 123",
    "po": "PO 123",
    "pickup": true,
    "items": [
        {
            "id": 5,
            "name": "Forvogn",
            "description": " ",
            "price": 649,
            "subscription_allowed": true,
            "category": 6,
            "piktogram": "05",
            "economic_product_id": 5,
            "apply_category_discount": true,
            "requires_note": false,
            "created_at": "2024-12-09 14:31:48",
            "updated_at": "2025-10-28 13:25:21",
            "addons": [],
            "is_wash": true,
            "display_in_booking_form": true,
            "order_priority": 10,
            "quantity": 1
        },
        {
            "id": 11,
            "name": "Indvendig vask Forvogn",
            "description": " ",
            "price": 399,
            "subscription_allowed": 0,
            "category": "2",
            "piktogram": "",
            "economic_product_id": "11",
            "apply_category_discount": true,
            "requires_note": false,
            "is_wash": true,
            "display_in_booking_form": true,
            "order_priority": 1022,
            "created_at": "2024-12-09 14:31:49",
            "updated_at": "2025-10-28 13:56:30",
            "quantity": 1
        },
        {
            "id": 21,
            "name": "Undervognskyld pr. Enhed",
            "description": " ",
            "price": 79,
            "subscription_allowed": 1,
            "category": "4",
            "piktogram": "",
            "economic_product_id": "23",
            "apply_category_discount": false,
            "requires_note": false,
            "is_wash": false,
            "display_in_booking_form": true,
            "order_priority": 1018,
            "created_at": "2024-12-09 14:31:49",
            "updated_at": "2025-10-28 13:54:41",
            "quantity": 1
        },
        {
            "id": 25,
            "name": "Fælg Flex pr. Enhed",
            "description": " ",
            "price": 39,
            "subscription_allowed": 0,
            "category": "4",
            "piktogram": "",
            "economic_product_id": "40",
            "apply_category_discount": false,
            "requires_note": false,
            "is_wash": false,
            "display_in_booking_form": true,
            "order_priority": 1019,
            "created_at": "2024-12-09 14:31:50",
            "updated_at": "2025-10-28 13:55:00",
            "quantity": 2
        },
        {
            "id": 24,
            "name": "Spot Free- Lastbil",
            "description": " ",
            "price": 39,
            "subscription_allowed": 1,
            "category": "4",
            "piktogram": "",
            "economic_product_id": "33",
            "apply_category_discount": false,
            "requires_note": false,
            "is_wash": false,
            "display_in_booking_form": true,
            "order_priority": 1017,
            "created_at": "2024-12-09 14:31:49",
            "updated_at": "2025-10-28 13:54:25",
            "quantity": 3
        },
        {
            "id": 22,
            "name": "Double Duty - Kemi",
            "description": " ",
            "price": 239,
            "subscription_allowed": 0,
            "category": "4",
            "piktogram": "",
            "economic_product_id": "24",
            "apply_category_discount": false,
            "requires_note": true,
            "is_wash": false,
            "display_in_booking_form": true,
            "order_priority": 1021,
            "created_at": "2024-12-09 14:31:49",
            "updated_at": "2025-10-28 13:55:58",
            "quantity": 4
        },
        {
            "id": 2,
            "name": "Trailer",
            "description": "",
            "price": 599,
            "subscription_allowed": 1,
            "category": "6",
            "piktogram": "02",
            "economic_product_id": "2",
            "apply_category_discount": true,
            "requires_note": false,
            "is_wash": true,
            "display_in_booking_form": true,
            "order_priority": 50,
            "created_at": "2024-12-03 09:07:48",
            "updated_at": "2025-10-28 13:25:52",
            "quantity": 5
        },
        {
            "id": 4,
            "name": "Dolly",
            "description": "",
            "price": 275,
            "subscription_allowed": 0,
            "category": "6",
            "piktogram": "04",
            "economic_product_id": "4",
            "apply_category_discount": true,
            "requires_note": false,
            "is_wash": true,
            "display_in_booking_form": true,
            "order_priority": 90,
            "created_at": "2024-12-06 14:36:23",
            "updated_at": "2025-10-28 13:26:24",
            "quantity": 6
        }
    ]
}
