Apps API (1.0.0)

Download OpenAPI specification:

Welcome to the Apps API documentation. This API provides endpoints for the Nettix mobile applications, including checkout processes and user management.

Checkout

List orders

Returns a paginated list of orders with optional filters.

Authorizations:
bearerAuth
query Parameters
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

email
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)

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "limit": 20,
  • "total": 100,
  • "orders": [
    ]
}

Retrieve Order by ID

Returns complete order information including line items, billing details, and current status.

Authorizations:
bearerAuth
path Parameters
id
required
integer

Order ID

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "line_items": [
    ]
}

Update an existing order

Updates an existing order with new line items and billing information.

Authorizations:
bearerAuth
path Parameters
id
required
integer

Order ID

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "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": {
    },
  • "line_items": [
    ]
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "line_items": [
    ]
}

Create a new order

Creates a new order with the provided line items and billing information.

Authorizations:
bearerAuth
Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "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": {
    },
  • "line_items": [
    ]
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "line_items": [
    ]
}

List all active products

Returns a paginated list of all active products with optional filters.

Authorizations:
bearerAuth
query Parameters
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)

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "limit": 20,
  • "total": 100,
  • "products": [
    ]
}

Create a new product

Creates a new product and returns the created product details.

Authorizations:
bearerAuth
Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "name": "Premium Car Wash",
  • "price": "19.99",
  • "tax": "24.00",
  • "currency": "EUR",
  • "description": "Full exterior and interior car wash service.",
  • "is_active": true
}

Response samples

Content type
application/json
{
  • "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
}

Get remaining product quota for user

Returns how many purchased products are still unused by the user.

Authorizations:
bearerAuth
query Parameters
user_id
required
integer

Netti user ID to fetch quota for

Responses

Response samples

Content type
application/json
{
  • "user_id": 12345,
  • "purchased": 5,
  • "used": 3,
  • "remaining": 2
}

Get product by ID

Returns the details of a single active product.

Authorizations:
bearerAuth
path Parameters
id
required
integer

Product ID

Responses

Response samples

Content type
application/json
{
  • "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
}

Update product by ID

Updates an existing product and returns the updated details.

Authorizations:
bearerAuth
path Parameters
id
required
integer

Product ID

Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "name": "Premium Car Wash",
  • "price": "19.99",
  • "tax": "24.00",
  • "currency": "EUR",
  • "description": "Full exterior and interior car wash service.",
  • "is_active": true
}

Response samples

Content type
application/json
{
  • "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
}

Delete (soft-delete) product by ID

Soft-deletes a product (marks as inactive) and returns confirmation.

Authorizations:
bearerAuth
path Parameters
id
required
integer

Product ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Product with ID 1 has been deleted (soft-deleted).",
  • "product_id": 1
}