Download OpenAPI specification:
Welcome to the Apps API documentation. This API provides endpoints for the NettiX applications.
For authentication there must be an auth0 (Alma Account) access-token as a bearer in request headers.
Authorization: Bearer <access-token>
If you are making requests to a branch deployment, please add the branch identifier to the url betweeen domain and path. For example: https://apps-api.ajomark.dev/api1-ajomark-15504/api/v2
Returns a paginated list of orders with optional filters.
| page | integer >= 1 Page number (default: 1) |
| limit | integer [ 1 .. 100 ] Number of orders per page (default: 20, max: 100) |
| status | string Order status filter (e.g., draft, pending, processing, completed, cancelled, failed) |
| user | string User ID or identifier filter |
string Billing email filter | |
| application | string Vertical/application source filter (must match a valid vertical name) |
| dateFrom | string <date> Start date filter (format: YYYY-MM-DD) |
| dateTo | string <date> End date filter (format: YYYY-MM-DD) |
{- "page": 1,
- "limit": 20,
- "total": 100,
- "orders": [
- {
- "order_id": 1,
- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "draft",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "net_total": 100,
- "taxes_total": 24,
- "discount_total": 0,
- "gross_total": 124,
- "date_created": "2025-10-01T22:30:00",
- "date_updated": "2025-10-01T22:30:00",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "line_item_id": 1,
- "order_id": 1,
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "item_price": "100.00",
- "tax_percentage": "24.00",
- "item_gross_price": "124.00",
- "item_total": "248.00",
- "discount": "0.00"
}
]
}
]
}Returns complete order information including line items, billing details, and current status.
| id required | integer Order ID |
{- "order_id": 1,
- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "draft",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "net_total": 100,
- "taxes_total": 24,
- "discount_total": 0,
- "gross_total": 124,
- "date_created": "2025-10-01T22:30:00",
- "date_updated": "2025-10-01T22:30:00",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "line_item_id": 1,
- "order_id": 1,
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "item_price": "100.00",
- "tax_percentage": "24.00",
- "item_gross_price": "124.00",
- "item_total": "248.00",
- "discount": "0.00"
}
]
}Updates an existing order with new line items and billing information.
| id required | integer Order ID |
| transaction_id | string or null Unique transaction ID for the payment |
| id_netti_user | integer |
| order_status | string Enum: "draft" "pending" "processing" "completed" "cancelled" "failed" |
| payment_gateway | string |
| payment_method | string |
| created_from | string Enum: "auto" "vene" "moto" "karavaani" "kone" "varaosa" "rekkari" "teho" |
required | object (BillingRequest) |
required | Array of objects (LineItemRequest) |
{- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "processing",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "discount": 0
}
]
}{- "order_id": 1,
- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "draft",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "net_total": 100,
- "taxes_total": 24,
- "discount_total": 0,
- "gross_total": 124,
- "date_created": "2025-10-01T22:30:00",
- "date_updated": "2025-10-01T22:30:00",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "line_item_id": 1,
- "order_id": 1,
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "item_price": "100.00",
- "tax_percentage": "24.00",
- "item_gross_price": "124.00",
- "item_total": "248.00",
- "discount": "0.00"
}
]
}Creates a new order with the provided line items and billing information.
| transaction_id | string or null Unique transaction ID for the payment |
| id_netti_user | integer |
| order_status | string Enum: "draft" "pending" "processing" "completed" "cancelled" "failed" |
| payment_gateway | string |
| payment_method | string |
| created_from | string Enum: "auto" "vene" "moto" "karavaani" "kone" "varaosa" "rekkari" "teho" |
required | object (BillingRequest) |
required | Array of objects (LineItemRequest) |
{- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "draft",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "discount": 0
}
]
}{- "order_id": 1,
- "transaction_id": "8437be3e-7f32-4d5c-a849-be3d69c8a128",
- "id_netti_user": 123,
- "order_status": "draft",
- "payment_gateway": "paytrail",
- "payment_method": "credit_card",
- "net_total": 100,
- "taxes_total": 24,
- "discount_total": 0,
- "gross_total": 124,
- "date_created": "2025-10-01T22:30:00",
- "date_updated": "2025-10-01T22:30:00",
- "created_from": "auto",
- "billing": {
- "company": "Test Company",
- "first_name": "John",
- "last_name": "Doe",
- "address": "Test Street 1",
- "zip": "00100",
- "city": "Helsinki",
- "email": "john.doe@example.com",
- "phone": "+358401234567"
}, - "line_items": [
- {
- "line_item_id": 1,
- "order_id": 1,
- "product_id": 1,
- "quantity": 2,
- "ad_id": 123456,
- "item_price": "100.00",
- "tax_percentage": "24.00",
- "item_gross_price": "124.00",
- "item_total": "248.00",
- "discount": "0.00"
}
]
}Returns a paginated list of all active products with optional filters.
| page | integer >= 1 Page number (default: 1) |
| limit | integer [ 1 .. 100 ] Number of products per page (default: 20, max: 100) |
| name | string Filter by product name (partial match) |
| currency | string Filter by currency (ISO 4217) |
| is_active | boolean Filter by is_active true or false (default: all products) |
{- "page": 1,
- "limit": 20,
- "total": 100,
- "products": [
- {
- "product_id": 1,
- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}
]
}Creates a new product and returns the created product details.
| name required | string |
| price required | string |
| tax required | string |
| currency required | string |
| description | string |
| is_active | boolean Whether the product is active. Defaults to true if not specified. |
{- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}{- "product_id": 1,
- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}Returns the details of a single active product.
| id required | integer Product ID |
{- "product_id": 1,
- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}Updates an existing product and returns the updated details.
| id required | integer Product ID |
| name required | string |
| price required | string |
| tax required | string |
| currency required | string |
| description | string |
| is_active | boolean Whether the product is active or soft-deleted. |
{- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}{- "product_id": 1,
- "name": "Premium Car Wash",
- "price": "19.99",
- "tax": "24.00",
- "currency": "EUR",
- "description": "Full exterior and interior car wash service.",
- "is_active": true
}Soft-deletes a product (marks as inactive) and returns confirmation.
| id required | integer Product ID |
{- "success": true,
- "message": "Product with ID 1 has been deleted (soft-deleted).",
- "product_id": 1
}Search for rentals that are available for the given date range
| vertical | string Default: "karavaani" Vertical to search in (e.g., karavaani) |
| from required | string <date> Start date of the availability period (YYYY-MM-DD) |
| to required | string <date> End date of the availability period (YYYY-MM-DD) |
| ad_ids | string Comma-separated list of ad IDs to filter by |
{- "count": 5,
- "items": [
- {
- "id": 1,
- "ad_id": "12345",
- "vertical": "karavaani",
- "is_available": true,
- "start_date": "2025-06-01",
- "end_date": "2025-06-07",
- "note": "High season pricing",
- "day_price": "50.00",
- "week_price": "300.00",
- "currency": "EUR",
- "created_at": "2025-01-01T12:00:00Z",
- "updated_at": "2025-01-05T12:00:00Z"
}
]
}Add a new availability period for a rental
| vertical required | string Vertical for the availability (e.g., karavaani) |
| ad_id required | string Ad ID for the availability |
| start_date required | string <date> Start date of availability (YYYY-MM-DD) |
| end_date required | string <date> End date of availability (YYYY-MM-DD) |
| is_available | boolean Default: true Whether the period is available |
| note | string Optional note about the availability period |
| day_price | string <decimal> Day price for the availability |
| week_price | string <decimal> Week price for the availability |
| currency | string Currency code (e.g., EUR) |
{- "vertical": "karavaani",
- "ad_id": "12345",
- "start_date": "2025-06-01",
- "end_date": "2025-06-07",
- "is_available": true,
- "note": "Available for booking",
- "day_price": "50.00",
- "week_price": "300.00",
- "currency": "EUR"
}{- "id": 1,
- "ad_id": "12345",
- "vertical": "karavaani",
- "is_available": true,
- "start_date": "2025-06-01",
- "end_date": "2025-06-07",
- "note": "High season pricing",
- "day_price": "50.00",
- "week_price": "300.00",
- "currency": "EUR",
- "created_at": "2025-01-01T12:00:00Z",
- "updated_at": "2025-01-05T12:00:00Z"
}Create a new reservation for a rental
| id required | integer Rental ID |
| start_date required | string <date> Start date of reservation (YYYY-MM-DD) |
| end_date required | string <date> End date of reservation (YYYY-MM-DD) |
| netti_user_id required | string Netti user ID making the reservation |
| hold | boolean Default: false Whether to create a hold instead of confirmed reservation |
| note | string Optional note about the reservation |
{- "start_date": "2025-06-01",
- "end_date": "2025-06-03",
- "netti_user_id": "user_123",
- "hold": false,
- "note": "Looking forward to it"
}{- "id": 101,
- "availability_id": 1,
- "start_date": "2025-06-01",
- "end_date": "2025-06-03",
- "status": "CONFIRMED",
- "netti_user_id": "user_123",
- "hold": false,
- "total_price": "150.00",
- "currency": "EUR",
- "note": "Family vacation"
}Updates the status of an existing reservation
| id required | integer Reservation ID |
| status required | string Enum: "HOLD" "CONFIRMED" "CANCELLED" New status of the reservation |
{- "status": "CANCELLED"
}{- "id": 101,
- "availability_id": 1,
- "start_date": "2025-06-01",
- "end_date": "2025-06-03",
- "status": "CONFIRMED",
- "netti_user_id": "user_123",
- "hold": false,
- "total_price": "150.00",
- "currency": "EUR",
- "note": "Family vacation"
}Returns a list of all reservations
| page | integer Page number |
| limit | integer Number of items per page |
{- "count": 10,
- "items": [
- {
- "id": 101,
- "availability_id": 1,
- "start_date": "2025-06-01",
- "end_date": "2025-06-03",
- "status": "CONFIRMED",
- "netti_user_id": "user_123",
- "hold": false,
- "total_price": "150.00",
- "currency": "EUR",
- "note": "Family vacation"
}
]
}