API ReferenceView as MarkdownOpenAPI

Orders & checkout

View as Markdown

Orders are completed purchases from the store - products, programs, tickets, donations - with their payment, delivery and status. Carts and checkout sessions lead to them.

Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.

70 endpoints in 13 parts: Boxnow Settings, Cart, Econt Settings, Order, Origin Address, Payment, Payment Metod, Receipt Adjustment, Shipping, Speedy Settings, Tax, User Payment Settings, AI builder.

Endpoints
GET/boxnow-officesPOST/boxnow-settingsGET/boxnow-settings/:deliveryPATCH/boxnow-settings/:idDELETE/boxnow-settings/:idPATCH/boxnow-shipping-id/:idGET/cartsPOST/cartsPATCH/carts/:idDELETE/carts/:idGET/carts/countGET/my_cartsPOST/econt-settingsGET/econt-settings/:deliveryPATCH/econt-settings/:idPATCH/econt-shipping-id/:idGET/abandoned-ordersGET/ordersPOST/ordersGET/orders/:idGET/origin-addressPOST/origin-addressGET/origin-address/:idPATCH/origin-address/:idDELETE/origin-address/:idPOST/checkoutGET/client_tokenPATCH/finalize-orderGET/paymentGET/payment-receiptGET/ticket-pdf/:idGET/merchant_account_link/:status/:idGET/payment_methodsPOST/payment_methodsGET/payment_methods/:idPATCH/payment_methods/:idDELETE/payment_methods/:idGET/receipt-adjustmentsPOST/receipt-adjustmentsGET/receipt-adjustments/:idGET/shippingsPOST/shippingsGET/shippings-by-id/:idPATCH/shippings/:idDELETE/shippings/:idGET/shippings/:regionGET/speedy-integration/:orderGET/speedy-login/:delivery/:username/:passwordGET/speedy-offices-by-product/:product/:country/:cityGET/speedy-offices/:delivery/:country/:cityGET/speedy-offices/:orderGET/speedy-services/:deliveryPOST/speedy-settingsGET/speedy-settings/:deliveryPATCH/speedy-settings/:idDELETE/speedy-settings/:idPATCH/speedy-shipping-id/:idPOST/validate-speedy-address/:orderGET/taxPOST/taxGET/tax/:idGET/currencyGET/currencyGET/user_merchant_account_link/:status/:idGET/user-payment-settingsPOST/user-payment-settingsGET/user-payment-settings/:idPATCH/user-payment-settings/:idDELETE/user-payment-settings/:idPOST/generate-origin-addresses

List all boxnow offices

BoxNow lockers. Reads no token.

Public

Public - no token needed.

Status codes

200 500

GET/boxnow-offices
curl -X GET 'http://smartman.max-media.io/boxnow-offices?ionic=true'

Create a boxnow setting

Connects BoxNow delivery, for the user or an account they manage (on_behalf_of). 403 for an account the user may not manage. Answers the settings.

User token

Needs the token of a signed-in user.

Parameters
on_behalf_ofstring

The boxnow setting's on behalf of.

Returns

Returns the BoxNowSettings object.

Status codes

200 400 401 403 500

POST/boxnow-settings
curl -X POST 'http://smartman.max-media.io/boxnow-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "on_behalf_of": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "client_id": "example",
  "contactNumber": "example",
  "contactEmail": "jane@example.com",
  "contactName": "Example",
  "locationId": "example",
  "owner_id": "6543210fedcba98765432100",
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "multiple_items": "box",
  "divide_by": 1,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0,
    "weight": 0
  }
}

List all boxnow settings

The BoxNow settings of a delivery setting. delivery is the Shipping.id the settings belong to.

User token

Needs the token of a signed-in user.

Path parameters
deliverystringRequired

The boxnow setting's delivery.

Returns

Returns a list of BoxNowSettings objects.

Status codes

200 401 500

GET/boxnow-settings/:delivery
curl -X GET 'http://smartman.max-media.io/boxnow-settings/{delivery}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "shipping": "6543210fedcba98765432100",
    "create_label": false,
    "client_id": "example",
    "contactNumber": "example",
    "contactEmail": "jane@example.com",
    "contactName": "Example",
    "locationId": "example",
    "owner_id": "6543210fedcba98765432100",
    "box": [
      {
        "height": 1,
        "length": 1,
        "width": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "multiple_items": "box",
    "divide_by": 1,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "product_default_dimensions": {
      "height": 0,
      "width": 0,
      "length": 0,
      "weight": 0
    }
  }
]

Update a boxnow setting

Updates the BoxNow settings. Fields outside the allowed list are silently ignored. Answers the updated record, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the boxnow setting.

Returns

Returns the BoxNowSettings object.

Status codes

200 400 401 404 500

PATCH/boxnow-settings/:id
curl -X PATCH 'http://smartman.max-media.io/boxnow-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "client_id": "example",
  "contactNumber": "example",
  "contactEmail": "jane@example.com",
  "contactName": "Example",
  "locationId": "example",
  "owner_id": "6543210fedcba98765432100",
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "multiple_items": "box",
  "divide_by": 1,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0,
    "weight": 0
  }
}

Delete a boxnow setting

Disconnects BoxNow delivery. 403 when they are another user's.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the boxnow setting.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/boxnow-settings/:id
curl -X DELETE 'http://smartman.max-media.io/boxnow-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Update a boxnow shipping

Links the BoxNow settings to a delivery setting (shipping). 404 when there are no such settings.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the boxnow shipping.

Parameters
shippingstring

The boxnow shipping's shipping.

Status codes

200 401 404 500

PATCH/boxnow-shipping-id/:id
curl -X PATCH 'http://smartman.max-media.io/boxnow-shipping-id/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "shipping": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "client_id": "example",
  "contactNumber": "example",
  "contactEmail": "jane@example.com",
  "contactName": "Example",
  "locationId": "example",
  "owner_id": "6543210fedcba98765432100",
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "multiple_items": "box",
  "divide_by": 1,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0,
    "weight": 0
  }
}

List all carts

Every cart. Every visitor's cart.

User token

Needs the token of a signed-in user.

Returns

Returns a list of Cart objects.

Status codes

200 401 500

GET/carts
curl -X GET 'http://smartman.max-media.io/carts?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "session": "example",
    "items": [
      {
        "item": "6543210fedcba98765432100",
        "options": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "coupon": "6543210fedcba98765432100",
    "discount_value": 0,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "ip_guessed": {
      "country": "example",
      "country_code": "example",
      "city": "example",
      "state": "example",
      "zip_code": "example",
      "dialing_code": "example"
    }
  }
]

Create a cart

Creates a cart. Visitors' carts are made by POST /carts/flow; this is for admin tools. Answers 201.

User token

Needs the token of a signed-in user.

Returns

Returns the Cart object.

Status codes

201 400 401 500

POST/carts
curl -X POST 'http://smartman.max-media.io/carts?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "session": "example",
  "items": [
    {
      "item": "6543210fedcba98765432100",
      "options": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "coupon": "6543210fedcba98765432100",
  "discount_value": 0,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "ip_guessed": {
    "country": "example",
    "country_code": "example",
    "city": "example",
    "state": "example",
    "zip_code": "example",
    "dialing_code": "example"
  }
}

Update a cart

Updates a cart. Answers the updated cart, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the cart.

Returns

Returns the Cart object.

Status codes

200 400 401 404 500

PATCH/carts/:id
curl -X PATCH 'http://smartman.max-media.io/carts/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "session": "example",
  "items": [
    {
      "item": "6543210fedcba98765432100",
      "options": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "coupon": "6543210fedcba98765432100",
  "discount_value": 0,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "ip_guessed": {
    "country": "example",
    "country_code": "example",
    "city": "example",
    "state": "example",
    "zip_code": "example",
    "dialing_code": "example"
  }
}

Delete a cart

Deletes a cart. Answers the deleted cart, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the cart.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/carts/:id
curl -X DELETE 'http://smartman.max-media.io/carts/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Count carts

How many items are in the visitor's cart, for the header badge; ?total for the total too. Answers { qty } or { qty, total } with the total to 2 decimals. Not cached, so it stays right on cached pages.

Public

Public - no token needed.

Query parameters
totalstring

Only carts with this total.

Returns

Returns a list of Cart objects.

Status codes

200 500

GET/carts/count
curl -X GET 'http://smartman.max-media.io/carts/count?ionic=true&total=...'
Response
[
  {
    "session": "example",
    "items": [
      {
        "item": "6543210fedcba98765432100",
        "options": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "coupon": "6543210fedcba98765432100",
    "discount_value": 0,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "ip_guessed": {
      "country": "example",
      "country_code": "example",
      "city": "example",
      "state": "example",
      "zip_code": "example",
      "dialing_code": "example"
    }
  }
]

List all carts

The visitor's cart page, or the cart as JSON with ?ionic (?sessionId). Each item with its product, category and stock. The cart is found by the visitor's session, or ?sessionId in the app.

Optional user

Works without a token; with a user token the answer is personal.

Query parameters
sessionIdstring

Only carts with this session id.

pending_couponstring

Only carts with this pending coupon.

regionstring

Only carts with this region.

cart_onlystring

Only carts with this cart only.

Returns

Returns a list of Cart objects.

Status codes

200 500

GET/my_carts
curl -X GET 'http://smartman.max-media.io/my_carts?ionic=true&sessionId=...&pending_coupon=...&region=...'
Response
[
  {
    "session": "example",
    "items": [
      {
        "item": "6543210fedcba98765432100",
        "options": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "coupon": "6543210fedcba98765432100",
    "discount_value": 0,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "ip_guessed": {
      "country": "example",
      "country_code": "example",
      "city": "example",
      "state": "example",
      "zip_code": "example",
      "dialing_code": "example"
    }
  }
]

Create an econt setting

Connects Econt delivery, for the user or an account they manage (on_behalf_of). 403 for an account the user may not manage. Answers the settings.

User token

Needs the token of a signed-in user.

Parameters
on_behalf_ofstring

The econt setting's on behalf of.

Returns

Returns the EcontSettings object.

Status codes

200 400 401 403 500

POST/econt-settings
curl -X POST 'http://smartman.max-media.io/econt-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "on_behalf_of": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "from_office": false,
  "automatic_courier": false,
  "sender": "example",
  "payAfterAccept": false,
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "email_delivery": false,
  "sms_delivery": false,
  "free_delivery_method": "cash",
  "invoice_num": "example",
  "cdPayOptionsTemplate": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "sender_address": {
    "quarter": "example",
    "street": "example",
    "other": "example",
    "num": "example"
  },
  "sender_office": {
    "code": "example",
    "name": "Example"
  },
  "sender_agent": {
    "name": "Example",
    "phones": "+359 888 123 456",
    "email": "jane@example.com"
  },
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0
  }
}

List all econt settings

The Econt settings of a delivery setting. delivery is the Shipping.id the settings belong to.

User token

Needs the token of a signed-in user.

Path parameters
deliverystringRequired

The econt setting's delivery.

Returns

Returns a list of EcontSettings objects.

Status codes

200 401 500

GET/econt-settings/:delivery
curl -X GET 'http://smartman.max-media.io/econt-settings/{delivery}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "shipping": "6543210fedcba98765432100",
    "create_label": false,
    "username": "Example",
    "from_office": false,
    "automatic_courier": false,
    "sender": "example",
    "payAfterAccept": false,
    "multiple_items": "box",
    "divide_by": 1,
    "box": [
      {
        "height": 1,
        "length": 1,
        "width": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "email_delivery": false,
    "sms_delivery": false,
    "free_delivery_method": "cash",
    "invoice_num": "example",
    "cdPayOptionsTemplate": "example",
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100",
    "sender_address": {
      "quarter": "example",
      "street": "example",
      "other": "example",
      "num": "example"
    },
    "sender_office": {
      "code": "example",
      "name": "Example"
    },
    "sender_agent": {
      "name": "Example",
      "phones": "+359 888 123 456",
      "email": "jane@example.com"
    },
    "product_default_dimensions": {
      "height": 0,
      "width": 0,
      "length": 0
    }
  }
]

Update an econt setting

Updates the Econt settings. Fields outside the allowed list are silently ignored. Answers the updated record, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the econt setting.

Returns

Returns the EcontSettings object.

Status codes

200 400 401 404 500

PATCH/econt-settings/:id
curl -X PATCH 'http://smartman.max-media.io/econt-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "from_office": false,
  "automatic_courier": false,
  "sender": "example",
  "payAfterAccept": false,
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "email_delivery": false,
  "sms_delivery": false,
  "free_delivery_method": "cash",
  "invoice_num": "example",
  "cdPayOptionsTemplate": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "sender_address": {
    "quarter": "example",
    "street": "example",
    "other": "example",
    "num": "example"
  },
  "sender_office": {
    "code": "example",
    "name": "Example"
  },
  "sender_agent": {
    "name": "Example",
    "phones": "+359 888 123 456",
    "email": "jane@example.com"
  },
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0
  }
}

Update an econt shipping

Links the Econt settings to a delivery setting (shipping). 404 when there are no such settings.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the econt shipping.

Parameters
shippingstring

The econt shipping's shipping.

Status codes

200 401 404 500

PATCH/econt-shipping-id/:id
curl -X PATCH 'http://smartman.max-media.io/econt-shipping-id/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "shipping": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "from_office": false,
  "automatic_courier": false,
  "sender": "example",
  "payAfterAccept": false,
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "email_delivery": false,
  "sms_delivery": false,
  "free_delivery_method": "cash",
  "invoice_num": "example",
  "cdPayOptionsTemplate": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "sender_address": {
    "quarter": "example",
    "street": "example",
    "other": "example",
    "num": "example"
  },
  "sender_office": {
    "code": "example",
    "name": "Example"
  },
  "sender_agent": {
    "name": "Example",
    "phones": "+359 888 123 456",
    "email": "jane@example.com"
  },
  "product_default_dimensions": {
    "height": 0,
    "width": 0,
    "length": 0
  }
}

List all abandoned orders

Orders left at checkout. Orders that were started but not finalized.

User token

Needs the token of a signed-in user.

Returns

Returns a list of Order objects.

Status codes

200 401 500

GET/abandoned-orders
curl -X GET 'http://smartman.max-media.io/abandoned-orders?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "organization_name": "Example",
    "firstname": "Example",
    "lastname": "Example",
    "email": "jane@example.com",
    "phone_number": "+359 888 123 456",
    "address": "example",
    "city": "example",
    "state": "example",
    "country": "example",
    "zip_code": "example",
    "tax_identification_number": "example",
    "notes": "Text shown on the site.",
    "products": [
      "example"
    ],
    "products_obj": [
      {
        "product_id": "6543210fedcba98765432100",
        "name": "Example",
        "options": "example",
        "price": 49.9,
        "quantity": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "programs": [
      "example"
    ],
    "programs_obj": [
      {
        "program_id": "6543210fedcba98765432100",
        "title": "Example",
        "price": 49.9,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "tickets": [
      "6543210fedcba98765432101"
    ],
    "donations": [
      "6543210fedcba98765432101"
    ],
    "donations_obj": [
      {
        "donation_id": "6543210fedcba98765432100",
        "name": "Example",
        "options": "example",
        "price": 49.9,
        "quantity": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "value": 49.9,
    "finalized": false,
    "fulfilled": false,
    "paid": false,
    "delivery_method": "example"
  }
]

List all orders

The orders. Newest first.

User token

Needs the token of a signed-in user.

Returns

Returns a list of Order objects.

Status codes

200 401 500

GET/orders
curl -X GET 'http://smartman.max-media.io/orders?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "organization_name": "Example",
    "firstname": "Example",
    "lastname": "Example",
    "email": "jane@example.com",
    "phone_number": "+359 888 123 456",
    "address": "example",
    "city": "example",
    "state": "example",
    "country": "example",
    "zip_code": "example",
    "tax_identification_number": "example",
    "notes": "Text shown on the site.",
    "products": [
      "example"
    ],
    "products_obj": [
      {
        "product_id": "6543210fedcba98765432100",
        "name": "Example",
        "options": "example",
        "price": 49.9,
        "quantity": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "programs": [
      "example"
    ],
    "programs_obj": [
      {
        "program_id": "6543210fedcba98765432100",
        "title": "Example",
        "price": 49.9,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "tickets": [
      "6543210fedcba98765432101"
    ],
    "donations": [
      "6543210fedcba98765432101"
    ],
    "donations_obj": [
      {
        "donation_id": "6543210fedcba98765432100",
        "name": "Example",
        "options": "example",
        "price": 49.9,
        "quantity": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "value": 49.9,
    "finalized": false,
    "fulfilled": false,
    "paid": false,
    "delivery_method": "example"
  }
]

Create an order

Creates an order from the cart's products. Reads no token. The order is not finalized until payment: see POST /checkout and PATCH /finalize-order.

Public

Public - no token needed.

Parameters
productsstring[]

Product ids ordered.

Returns

Returns the Order object.

Status codes

200 400 500

POST/orders
curl -X POST 'http://smartman.max-media.io/orders?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "products": "..." }'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve an order

One order. Reads no token: anyone who knows the id can read it.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the order.

Returns

Returns the Order object.

Status codes

200 404 500

GET/orders/:id
curl -X GET 'http://smartman.max-media.io/orders/{id}?ionic=true'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve the origin address

The origin addresses. Answers an array of every record.

Public

Public - no token needed.

Returns

Returns the OriginAddress object.

Status codes

200 500

GET/origin-address
curl -X GET 'http://smartman.max-media.io/origin-address?ionic=true'
Response
{
  "title": "Example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create an origin address

Creates an origin address (warehouse, office). Answers 201 with no body.

Admin token

Needs a site admin token.

Returns

Returns the OriginAddress object.

Status codes

201 401 500

POST/origin-address
curl -X POST 'http://smartman.max-media.io/origin-address?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve an origin address

One origin address. Answers null when there is no such address.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the origin address.

Returns

Returns the OriginAddress object.

Status codes

200 500

GET/origin-address/:id
curl -X GET 'http://smartman.max-media.io/origin-address/{id}?ionic=true'
Response
{
  "title": "Example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update an origin address

Updates an origin address. Fields outside the allowed list are silently ignored. Answers the updated record, or 404.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the origin address.

Returns

Returns the OriginAddress object.

Status codes

200 400 401 404 500

PATCH/origin-address/:id
curl -X PATCH 'http://smartman.max-media.io/origin-address/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete an origin address

Deletes an origin address. Answers the deleted record, or 404. Records that point to it are not changed.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the origin address.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/origin-address/:id
curl -X DELETE 'http://smartman.max-media.io/origin-address/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create a checkout

Starts the card payment for an order (order_id): answers the Stripe payment intent. Answers 201 { clientSecret } for the card form. The money goes to the site's Stripe account, or the seller's in a marketplace, minus the platform commission. For tickets, each seat is checked first: 404 when a ticket or seat is gone, 400 "Seat already taken".

Public

Public - no token needed.

Query parameters
sessionIdstring

Only checkouts with this session id.

Parameters
order_idstring

The checkout's order id.

use_admin_pmstring

The checkout's use admin pm.

Status codes

201 400 404 500

POST/checkout
curl -X POST 'http://smartman.max-media.io/checkout?ionic=true&sessionId=...' \
  -H 'Content-Type: application/json' \
  -d '{ "order_id": "...", "use_admin_pm": "..." }'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Retrieve the client token

A payment client token for the checkout form. Answers { publishableKey }: the Stripe key the card form needs.

Public

Public - no token needed.

Status codes

200 500

GET/client_token
curl -X GET 'http://smartman.max-media.io/client_token?ionic=true'

Update the finalize order

Completes an order after payment (order_id, payment_intent): marks it paid, takes stock, issues tickets and emails both sides. For card orders, checks with Stripe that the payment succeeded and belongs to this order (401 otherwise). Takes the items from stock and marks held tickets paid.

Public

Public - no token needed.

Parameters
order_idstring

The finalize order's order id.

payment_intentstring

The finalize order's payment intent.

ads_creditsstring

The finalize order's ads credits.

user_idstring

The finalize order's user id.

post_idstring

The finalize order's post id.

Returns

Returns the Order object.

Status codes

200 401 500

PATCH/finalize-order
curl -X PATCH 'http://smartman.max-media.io/finalize-order?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "order_id": "...", "payment_intent": "...", "ads_credits": "...", "user_id": "...", "post_id": "..." }'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve the payment

The checkout page for an order (?order_id). An order already finalized redirects to its receipt (or answers { finalized: true } in the app).

Optional user

Works without a token; with a user token the answer is personal.

Query parameters
order_idstring

Only payments with this order id.

skip_checkstring

Only payments with this skip check.

sessionIdstring

Only payments with this session id.

Status codes

200 500

GET/payment
curl -X GET 'http://smartman.max-media.io/payment?ionic=true&order_id=...&skip_check=...&sessionId=...'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve the payment receipt

An order's receipt page. With the order's items, tickets and the receipt page settings. JSON with ?ionic.

Optional user

Works without a token; with a user token the answer is personal.

Query parameters
idstring

The ID of the payment receipt.

Status codes

200 500

GET/payment-receipt
curl -X GET 'http://smartman.max-media.io/payment-receipt?ionic=true&id=...'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve a ticket pdf

An order's tickets as a PDF with their QR codes. Also emails the tickets to the customer.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the ticket pdf.

Query parameters
download_onlystring

Only ticket pdfs with this download only.

Status codes

200 500

GET/ticket-pdf/:id
curl -X GET 'http://smartman.max-media.io/ticket-pdf/{id}?ionic=true&download_only=...'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

List all payment methods

The payment settings. Answers the settings with the Stripe account's state.

Admin token

Needs a site admin token.

Returns

Returns a list of PaymentMethod objects.

Status codes

200 401 500

GET/payment_methods
curl -X GET 'http://smartman.max-media.io/payment_methods?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "has_cash": false,
    "cash_locale": "Pay by cash",
    "cash_instructions": "example",
    "cash_increase": 0,
    "has_card": false,
    "card_locale": "Pay with credit card",
    "email": "jane@example.com",
    "country": "example",
    "has_invoicing": false,
    "invoice_locale": "Pay via invoice",
    "invoicing_instructions": "example",
    "currency": "EUR",
    "agreedToTerms": false,
    "agreedToTermsAt": "example",
    "merchant_id": "example",
    "has_paypal": false,
    "paypal_increase": 0,
    "paypal_id": "example",
    "lock_currency": false,
    "commission_percentage": 4.4,
    "two_currencies": false,
    "second_currency": "EUR",
    "calculate_rate": false,
    "currency_rate": 1
  }
]

Create a payment method

Creates the payment settings. A site has one; update it with PATCH instead. Answers 201.

Admin token

Needs a site admin token.

Returns

Returns the PaymentMethod object.

Status codes

201 400 401 500

POST/payment_methods
curl -X POST 'http://smartman.max-media.io/payment_methods?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Retrieve a payment method

The payment settings by id. 404 when there is no such record.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the payment method.

Returns

Returns the PaymentMethod object.

Status codes

200 401 404 500

GET/payment_methods/:id
curl -X GET 'http://smartman.max-media.io/payment_methods/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Update a payment method

Updates the payment settings, creating the Stripe account when card payment is turned on. Turning card payment on the first time creates the site's Stripe account; finish it with GET /merchant_account_link. Changing the second currency fetches its rate. Answers the settings, or 404.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the payment method.

Parameters
has_cardboolean

Card payment is offered.

emailstring

An email address.

countrystring

The business's country for payments.

Returns

Returns the PaymentMethod object.

Status codes

200 400 401 404 500

PATCH/payment_methods/:id
curl -X PATCH 'http://smartman.max-media.io/payment_methods/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "has_card": "...", "email": "...", "country": "..." }'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Delete a payment method

Deletes the payment settings. Answers the deleted record, or 404. Records that point to it are not changed.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the payment method.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/payment_methods/:id
curl -X DELETE 'http://smartman.max-media.io/payment_methods/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all receipt adjustments

The receipt page settings. Answers an array of every record.

Admin token

Needs a site admin token.

Returns

Returns a list of ReceiptAdjustment objects.

Status codes

200 401 500

GET/receipt-adjustments
curl -X GET 'http://smartman.max-media.io/receipt-adjustments?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "about_page": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

Create a receipt adjustment

Creates a receipt page setting. Answers 201 with no body.

Admin token

Needs a site admin token.

Returns

Returns the ReceiptAdjustment object.

Status codes

201 400 401 500

POST/receipt-adjustments
curl -X POST 'http://smartman.max-media.io/receipt-adjustments?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "about_page": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a receipt adjustment

The receipt page settings by id. 404 when there is no such record.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the receipt adjustment.

Returns

Returns the ReceiptAdjustment object.

Status codes

200 401 404 500

GET/receipt-adjustments/:id
curl -X GET 'http://smartman.max-media.io/receipt-adjustments/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "about_page": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

List all shippings

The delivery settings of every region. Answers an array of every record.

Public

Public - no token needed.

Returns

Returns a list of Shipping objects.

Status codes

200 500

GET/shippings
curl -X GET 'http://smartman.max-media.io/shippings?ionic=true'
Response
[
  {
    "region": "example",
    "has_store_pickup": false,
    "pickup_title": "Example",
    "pickup_address": "example",
    "pickup_available": "example",
    "pickup_instructions": "example",
    "delivery": [
      {
        "name": "Example",
        "estimated_delivery_time": "example",
        "fixed_rate": 1,
        "rate_per_total": 49.9,
        "rate_per_unit": 1,
        "has_free_delivery": false,
        "free_delivery_requirement": 0,
        "delivery_days": 3,
        "hasIntegration": true,
        "has_time_window": false,
        "available_from": "example",
        "available_to": "example",
        "timezone": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "min_order_value": 0,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

Create a shipping

Creates a delivery setting. Answers 201 { shipping }. 403 when creating for an account the user may not manage.

User token

Needs the token of a signed-in user.

Parameters
on_behalf_ofstring

The shipping's on behalf of.

Returns

Returns the Shipping object.

Status codes

201 400 401 403 500

POST/shippings
curl -X POST 'http://smartman.max-media.io/shippings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "on_behalf_of": "..." }'
Response
{
  "region": "example",
  "has_store_pickup": false,
  "pickup_title": "Example",
  "pickup_address": "example",
  "pickup_available": "example",
  "pickup_instructions": "example",
  "delivery": [
    {
      "name": "Example",
      "estimated_delivery_time": "example",
      "fixed_rate": 1,
      "rate_per_total": 49.9,
      "rate_per_unit": 1,
      "has_free_delivery": false,
      "free_delivery_requirement": 0,
      "delivery_days": 3,
      "hasIntegration": true,
      "has_time_window": false,
      "available_from": "example",
      "available_to": "example",
      "timezone": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "min_order_value": 0,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a shipping

One region's delivery settings. 404 when there is no such record.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the shipping.

Returns

Returns the Shipping object.

Status codes

200 404 500

GET/shippings-by-id/:id
curl -X GET 'http://smartman.max-media.io/shippings-by-id/{id}?ionic=true'
Response
{
  "region": "example",
  "has_store_pickup": false,
  "pickup_title": "Example",
  "pickup_address": "example",
  "pickup_available": "example",
  "pickup_instructions": "example",
  "delivery": [
    {
      "name": "Example",
      "estimated_delivery_time": "example",
      "fixed_rate": 1,
      "rate_per_total": 49.9,
      "rate_per_unit": 1,
      "has_free_delivery": false,
      "free_delivery_requirement": 0,
      "delivery_days": 3,
      "hasIntegration": true,
      "has_time_window": false,
      "available_from": "example",
      "available_to": "example",
      "timezone": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "min_order_value": 0,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a shipping

Updates a delivery setting. Answers the settings. 403 when they are another user's.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the shipping.

Returns

Returns the Shipping object.

Status codes

200 400 401 403 404 500

PATCH/shippings/:id
curl -X PATCH 'http://smartman.max-media.io/shippings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "region": "example",
  "has_store_pickup": false,
  "pickup_title": "Example",
  "pickup_address": "example",
  "pickup_available": "example",
  "pickup_instructions": "example",
  "delivery": [
    {
      "name": "Example",
      "estimated_delivery_time": "example",
      "fixed_rate": 1,
      "rate_per_total": 49.9,
      "rate_per_unit": 1,
      "has_free_delivery": false,
      "free_delivery_requirement": 0,
      "delivery_days": 3,
      "hasIntegration": true,
      "has_time_window": false,
      "available_from": "example",
      "available_to": "example",
      "timezone": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "min_order_value": 0,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a shipping

Deletes a delivery setting. Answers the deleted settings. 403 when they are another user's.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the shipping.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/shippings/:id
curl -X DELETE 'http://smartman.max-media.io/shippings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all shippings

The delivery settings of a region. 404 when the region has no delivery settings.

Public

Public - no token needed.

Path parameters
regionstringRequired

The region this delivery setting is for.

Returns

Returns a list of Shipping objects.

Status codes

200 404 500

GET/shippings/:region
curl -X GET 'http://smartman.max-media.io/shippings/{region}?ionic=true'
Response
[
  {
    "region": "example",
    "has_store_pickup": false,
    "pickup_title": "Example",
    "pickup_address": "example",
    "pickup_available": "example",
    "pickup_instructions": "example",
    "delivery": [
      {
        "name": "Example",
        "estimated_delivery_time": "example",
        "fixed_rate": 1,
        "rate_per_total": 49.9,
        "rate_per_unit": 1,
        "has_free_delivery": false,
        "free_delivery_requirement": 0,
        "delivery_days": 3,
        "hasIntegration": true,
        "has_time_window": false,
        "available_from": "example",
        "available_to": "example",
        "timezone": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "min_order_value": 0,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

List all speedy integrations

The Speedy delivery price and options for an order. Answers { hasIntegration } and, when there is one, the price and options.

Public

Public - no token needed.

Path parameters
orderstringRequired

The speedy integration's order.

Query parameters
productIdstring

Only speedy integrations with this product id.

regionstring

Only speedy integrations with this region.

Status codes

200 404 500

GET/speedy-integration/:order
curl -X GET 'http://smartman.max-media.io/speedy-integration/{order}?ionic=true&productId=...&region=...'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Sign in

Checks Speedy credentials and saves the client contract. The username and password travel in the path, so they land in access logs.

User token

Needs the token of a signed-in user.

Path parameters
deliverystringRequired

The speedy login's delivery.

usernamestringRequired

The speedy login's username.

passwordstringRequired

The account password.

Status codes

200 401 500

GET/speedy-login/:delivery/:username/:password
curl -X GET 'http://smartman.max-media.io/speedy-login/{delivery}/{username}/{password}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "account_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "from_office": false,
  "contactName": "Example",
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "payAfterAccept": false,
  "returnShipmentServiceId": "example",
  "returnShipmentPayer": "SENDER",
  "bank_transfer_payment": false,
  "cash_receipt": false,
  "cash_vat_group": "example",
  "_id": "6543210fedcba98765432100",
  "address": {
    "countryId": 0,
    "country": "example",
    "stateId": "example",
    "siteId": "example",
    "postCode": "example",
    "streetName": "Example",
    "streetNo": "example",
    "blockNo": "example",
    "entranceNo": "example",
    "floorNo": "example",
    "apartmentNo": "example",
    "complexName": "Example"
  }
}

List all speedy offices products

Speedy offices in a city that a product can be delivered to. An empty list when the seller has no Speedy delivery. Reads no token.

Public

Public - no token needed.

Path parameters
productstringRequired

The speedy offices product's product.

countrystringRequired

The speedy offices product's country.

citystringRequired

The speedy offices product's city.

Returns

Returns a list of Product objects.

Status codes

200 404 500

GET/speedy-offices-by-product/:product/:country/:city
curl -X GET 'http://smartman.max-media.io/speedy-offices-by-product/{product}/{country}/{city}?ionic=true'
Response
[
  {
    "name": "Example",
    "url": "example-item",
    "static_url": "example-item",
    "ribbon": "example",
    "striked": "example",
    "price": 49.9,
    "description": "Text shown on the site.",
    "product_informations": [
      {
        "name": "Example",
        "description": "Text shown on the site.",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "product_options": [
      {
        "name": "Example",
        "options": [],
        "informations": [],
        "_id": "6543210fedcba98765432100"
      }
    ],
    "published": true,
    "available_for_purchase": true,
    "medias": [
      {
        "media": "6543210fedcba98765432100",
        "gcs_url": "example-item",
        "gcs_480_30_url": "example-item",
        "gcs_720_30_url": "example-item",
        "gcs_1080_30_url": "example-item",
        "duration": 1,
        "vimeo_uri": "example",
        "vimeo_picture": "example",
        "vimeo_url": "example-item",
        "youtube_url": "example-item",
        "youtube_picture": "example",
        "thumbnail": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "collection_id": "6543210fedcba98765432100",
    "grouping": [
      {
        "collection_id": "6543210fedcba98765432100",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "qty": 1,
    "origin_address": "example",
    "selected": false,
    "custom_1": "example",
    "custom_2": "example",
    "custom_3": "example",
    "about_page": "6543210fedcba98765432100",
    "is_digital": false,
    "secondary_cta": {
      "show": false,
      "title": "Example",
      "webUrl": "example",
      "appUrl": "example"
    },
    "attached_priceplans": {
      "name": "Example",
      "priceplans": "example"
    }
  }
]

List all speedy offices

Speedy offices in a city. Reads no token: the checkout calls it.

Public

Public - no token needed.

Path parameters
deliverystringRequired

The speedy office's delivery.

countrystringRequired

The speedy office's country.

citystringRequired

The speedy office's city.

Status codes

200 500

GET/speedy-offices/:delivery/:country/:city
curl -X GET 'http://smartman.max-media.io/speedy-offices/{delivery}/{country}/{city}?ionic=true'

List all speedy offices

Speedy offices an order can be delivered to. An empty list when the seller has no Speedy delivery. Reads no token.

Public

Public - no token needed.

Path parameters
orderstringRequired

The speedy office's order.

Status codes

200 404 500

GET/speedy-offices/:order
curl -X GET 'http://smartman.max-media.io/speedy-offices/{order}?ionic=true'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

List all speedy services

The Speedy services the contract offers. Answers { services: [] } when Speedy is not connected.

User token

Needs the token of a signed-in user.

Path parameters
deliverystringRequired

The speedy service's delivery.

Status codes

200 401 500

GET/speedy-services/:delivery
curl -X GET 'http://smartman.max-media.io/speedy-services/{delivery}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "account_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "from_office": false,
  "contactName": "Example",
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "payAfterAccept": false,
  "returnShipmentServiceId": "example",
  "returnShipmentPayer": "SENDER",
  "bank_transfer_payment": false,
  "cash_receipt": false,
  "cash_vat_group": "example",
  "_id": "6543210fedcba98765432100",
  "address": {
    "countryId": 0,
    "country": "example",
    "stateId": "example",
    "siteId": "example",
    "postCode": "example",
    "streetName": "Example",
    "streetNo": "example",
    "blockNo": "example",
    "entranceNo": "example",
    "floorNo": "example",
    "apartmentNo": "example",
    "complexName": "Example"
  }
}

Create a speedy setting

Connects Speedy courier delivery, for the user or an account they manage (on_behalf_of). 403 for an account the user may not manage. Answers { speedySettings }.

User token

Needs the token of a signed-in user.

Parameters
on_behalf_ofstring

The speedy setting's on behalf of.

Returns

Returns the SpeedySettings object.

Status codes

200 400 401 403 500

POST/speedy-settings
curl -X POST 'http://smartman.max-media.io/speedy-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "on_behalf_of": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "account_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "from_office": false,
  "contactName": "Example",
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "payAfterAccept": false,
  "returnShipmentServiceId": "example",
  "returnShipmentPayer": "SENDER",
  "bank_transfer_payment": false,
  "cash_receipt": false,
  "cash_vat_group": "example",
  "_id": "6543210fedcba98765432100",
  "address": {
    "countryId": 0,
    "country": "example",
    "stateId": "example",
    "siteId": "example",
    "postCode": "example",
    "streetName": "Example",
    "streetNo": "example",
    "blockNo": "example",
    "entranceNo": "example",
    "floorNo": "example",
    "apartmentNo": "example",
    "complexName": "Example"
  }
}

List all speedy settings

The Speedy settings of a delivery setting. delivery is the Shipping.id the settings belong to.

User token

Needs the token of a signed-in user.

Path parameters
deliverystringRequired

The speedy setting's delivery.

Returns

Returns a list of SpeedySettings objects.

Status codes

200 401 500

GET/speedy-settings/:delivery
curl -X GET 'http://smartman.max-media.io/speedy-settings/{delivery}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "shipping": "6543210fedcba98765432100",
    "create_label": false,
    "username": "Example",
    "account_id": "example",
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "from_office": false,
    "contactName": "Example",
    "multiple_items": "box",
    "divide_by": 1,
    "box": [
      {
        "height": 1,
        "length": 1,
        "width": 1,
        "_id": "6543210fedcba98765432100"
      }
    ],
    "payAfterAccept": false,
    "returnShipmentServiceId": "example",
    "returnShipmentPayer": "SENDER",
    "bank_transfer_payment": false,
    "cash_receipt": false,
    "cash_vat_group": "example",
    "_id": "6543210fedcba98765432100",
    "address": {
      "countryId": 0,
      "country": "example",
      "stateId": "example",
      "siteId": "example",
      "postCode": "example",
      "streetName": "Example",
      "streetNo": "example",
      "blockNo": "example",
      "entranceNo": "example",
      "floorNo": "example",
      "apartmentNo": "example",
      "complexName": "Example"
    }
  }
]

Update a speedy setting

Updates the Speedy settings, checking the sender address with Speedy. Fields outside the allowed list are silently ignored. Answers the updated record, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the speedy setting.

Parameters
countryIdstring

The speedy setting's country id.

siteIdstring

The speedy setting's site id.

addressstring

The speedy setting's address.

Returns

Returns the SpeedySettings object.

Status codes

200 400 401 404 500

PATCH/speedy-settings/:id
curl -X PATCH 'http://smartman.max-media.io/speedy-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "countryId": "...", "siteId": "...", "address": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "account_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "from_office": false,
  "contactName": "Example",
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "payAfterAccept": false,
  "returnShipmentServiceId": "example",
  "returnShipmentPayer": "SENDER",
  "bank_transfer_payment": false,
  "cash_receipt": false,
  "cash_vat_group": "example",
  "_id": "6543210fedcba98765432100",
  "address": {
    "countryId": 0,
    "country": "example",
    "stateId": "example",
    "siteId": "example",
    "postCode": "example",
    "streetName": "Example",
    "streetNo": "example",
    "blockNo": "example",
    "entranceNo": "example",
    "floorNo": "example",
    "apartmentNo": "example",
    "complexName": "Example"
  }
}

Delete a speedy setting

Disconnects Speedy delivery. 403 when they are another user's.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the speedy setting.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/speedy-settings/:id
curl -X DELETE 'http://smartman.max-media.io/speedy-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Update a speedy shipping

Links the Speedy settings to a delivery setting (shipping). 404 when there are no such settings.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the speedy shipping.

Parameters
shippingstring

The speedy shipping's shipping.

Status codes

200 401 404 500

PATCH/speedy-shipping-id/:id
curl -X PATCH 'http://smartman.max-media.io/speedy-shipping-id/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "shipping": "..." }'
Response
{
  "shipping": "6543210fedcba98765432100",
  "create_label": false,
  "username": "Example",
  "account_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "from_office": false,
  "contactName": "Example",
  "multiple_items": "box",
  "divide_by": 1,
  "box": [
    {
      "height": 1,
      "length": 1,
      "width": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "payAfterAccept": false,
  "returnShipmentServiceId": "example",
  "returnShipmentPayer": "SENDER",
  "bank_transfer_payment": false,
  "cash_receipt": false,
  "cash_vat_group": "example",
  "_id": "6543210fedcba98765432100",
  "address": {
    "countryId": 0,
    "country": "example",
    "stateId": "example",
    "siteId": "example",
    "postCode": "example",
    "streetName": "Example",
    "streetNo": "example",
    "blockNo": "example",
    "entranceNo": "example",
    "floorNo": "example",
    "apartmentNo": "example",
    "complexName": "Example"
  }
}

Validate a speedy address

Checks an order's delivery address with Speedy. Answers Speedy's result, or { valid: false }.

User token

Needs the token of a signed-in user.

Path parameters
orderstringRequired

The speedy address's order.

Status codes

200 401 500

POST/validate-speedy-address/:order
curl -X POST 'http://smartman.max-media.io/validate-speedy-address/{order}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Retrieve the tax

The tax rates. Answers an array of every tax rate.

Admin token

Needs a site admin token.

Returns

Returns the Tax object.

Status codes

200 401 500

GET/tax
curl -X GET 'http://smartman.max-media.io/tax?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "country": "example",
  "tax_rate": 1,
  "apply_to_shipping": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a tax

Creates a tax rate. Answers 201 with no body.

Admin token

Needs a site admin token.

Returns

Returns the Tax object.

Status codes

201 400 401 500

POST/tax
curl -X POST 'http://smartman.max-media.io/tax?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "country": "example",
  "tax_rate": 1,
  "apply_to_shipping": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a tax

One tax rate. 404 when there is no such record.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the tax.

Returns

Returns the Tax object.

Status codes

200 401 404 500

GET/tax/:id
curl -X GET 'http://smartman.max-media.io/tax/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "country": "example",
  "tax_rate": 1,
  "apply_to_shipping": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve the currency

Never reached: GET /currency in payment_metod.js answers first. Answers { currency }.

Public

Public - no token needed.

Status codes

200 500

GET/currency
curl -X GET 'http://smartman.max-media.io/currency?ionic=true'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Retrieve the currency

Never reached: GET /currency in payment_metod.js answers first. Answers { currency }.

Public

Public - no token needed.

Status codes

200 500

GET/currency
curl -X GET 'http://smartman.max-media.io/currency?ionic=true'
Response
{
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "number": 1,
  "price_quote_number": "example",
  "bic": "example",
  "swift": "example",
  "tax_id": "example",
  "vat_id": "example",
  "logo": "6543210fedcba98765432100",
  "business_name": "Example",
  "business_name_translated": "Example",
  "responsible_official": "example",
  "responsible_official_translated": "example",
  "business_email": "jane@example.com",
  "company_id": "example"
}

List all user payment settings

The signed-in user's payment settings. With the Stripe account's state.

User token

Needs the token of a signed-in user.

Returns

Returns a list of UserPaymentSettings objects.

Status codes

200 401 500

GET/user-payment-settings
curl -X GET 'http://smartman.max-media.io/user-payment-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "has_card": false,
    "card_locale": "Pay with credit card",
    "email": "jane@example.com",
    "country": "example",
    "agreedToTerms": false,
    "agreedToTermsAt": "example",
    "merchant_id": "example",
    "has_paypal": false,
    "paypal_increase": 0,
    "paypal_id": "example",
    "owner_id": "6543210fedcba98765432100",
    "number": 1,
    "price_quote_number": "example",
    "bic": "example",
    "swift": "example",
    "tax_id": "example",
    "vat_id": "example",
    "logo": "6543210fedcba98765432100",
    "business_name": "Example",
    "business_name_translated": "Example",
    "responsible_official": "example",
    "responsible_official_translated": "example",
    "business_email": "jane@example.com",
    "company_id": "example"
  }
]

Create a user payment setting

Creates the signed-in user's payment settings. Answers 201 with no body.

User token

Needs the token of a signed-in user.

Returns

Returns the UserPaymentSettings object.

Status codes

201 400 401 500

POST/user-payment-settings
curl -X POST 'http://smartman.max-media.io/user-payment-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "number": 1,
  "price_quote_number": "example",
  "bic": "example",
  "swift": "example",
  "tax_id": "example",
  "vat_id": "example",
  "logo": "6543210fedcba98765432100",
  "business_name": "Example",
  "business_name_translated": "Example",
  "responsible_official": "example",
  "responsible_official_translated": "example",
  "business_email": "jane@example.com",
  "company_id": "example"
}

Retrieve a user payment setting

Payment settings by id. 404 when there is no such record.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the user payment setting.

Returns

Returns the UserPaymentSettings object.

Status codes

200 401 404 500

GET/user-payment-settings/:id
curl -X GET 'http://smartman.max-media.io/user-payment-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "number": 1,
  "price_quote_number": "example",
  "bic": "example",
  "swift": "example",
  "tax_id": "example",
  "vat_id": "example",
  "logo": "6543210fedcba98765432100",
  "business_name": "Example",
  "business_name_translated": "Example",
  "responsible_official": "example",
  "responsible_official_translated": "example",
  "business_email": "jane@example.com",
  "company_id": "example"
}

Update a user payment setting

Updates the user's payment settings, creating their Stripe account when card payment is turned on. Turning card payment on creates the user's Stripe account; finish it with GET /user_merchant_account_link. Answers the settings, or 404.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the user payment setting.

Parameters
has_cardboolean

Card payment is offered.

emailstring

An email address.

countrystring

Country for payments.

Returns

Returns the UserPaymentSettings object.

Status codes

200 400 401 404 500

PATCH/user-payment-settings/:id
curl -X PATCH 'http://smartman.max-media.io/user-payment-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "has_card": "...", "email": "...", "country": "..." }'
Response
{
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "owner_id": "6543210fedcba98765432100",
  "number": 1,
  "price_quote_number": "example",
  "bic": "example",
  "swift": "example",
  "tax_id": "example",
  "vat_id": "example",
  "logo": "6543210fedcba98765432100",
  "business_name": "Example",
  "business_name_translated": "Example",
  "responsible_official": "example",
  "responsible_official_translated": "example",
  "business_email": "jane@example.com",
  "company_id": "example"
}

Delete a user payment setting

Deletes the user's payment settings. Answers the deleted record, or 404. Records that point to it are not changed.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the user payment setting.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/user-payment-settings/:id
curl -X DELETE 'http://smartman.max-media.io/user-payment-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Generate an origin address with AI

AI: creates the business's origin addresses from the chat. Answers { action: 'JOB', async_job }. It can add, rename and remove addresses as the owner asked. Charged to the account's credits.

Admin token

Needs a site admin token.

Parameters
promptstring

What the AI should do with the origin address, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

Status codes

200 401 500

POST/generate-origin-addresses
curl -X POST 'http://smartman.max-media.io/generate-origin-addresses?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "..." }'
↑↓ Navigate↵ GoEsc Close