Qliro In Store API
The InStore API from Qliro — 2 operation(s) for instore.
The InStore API from Qliro — 2 operation(s) for instore.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/qliro:qliro-instore-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Qliro.Payments.MerchantApi In Store API
version: v1
servers:
- url: https://pago.qit.nu/checkout/merchantapi
tags:
- name: InStore
paths:
/InStore/orders:
post:
tags:
- InStore
summary: Initiates new order
description: When merchant is ready to initiate InStore order this request should be used
operationId: createInStoreOrder
requestBody:
x-name: createInStoreOrderRequest
description: Order to be created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInStoreOrderRequest'
required: true
x-position: 1
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderResponse'
'400':
description: See ErrorCode and DetailedErrorMessage for more details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: System error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
/InStore/orders/{id}:
get:
tags:
- InStore
summary: Gets existing order details
description: Once an order is created, customer will receive an SMS containing PaymentLink to proceed with order
operationId: getInStoreOrder
parameters:
- name: id
in: path
required: true
description: QliroOne Order Id
schema:
type: integer
format: int64
x-position: 1
responses:
'200':
description: Response contains order information along with PaymentLink for customer to proceed with order.
content:
application/json:
schema:
$ref: '#/components/schemas/GetInStoreOrderResponse'
'400':
description: 'Possible reasons: arguments cannot be null, invalid input, invalid order id'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Order not found
content:
application/octet-stream:
schema:
type: string
format: binary
'500':
description: System error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
components:
schemas:
MetadataContainer:
type: object
additionalProperties: false
properties:
HasRisk:
type:
- boolean
- 'null'
description: If true, order item considered as risk item. Default is false.
example: true
Subscription:
description: It indicates that order item is a subscription if Enabled is true.
oneOf:
- $ref: '#/components/schemas/Subscription'
TravelInformation:
oneOf:
- $ref: '#/components/schemas/TravelInformation'
Ingrid:
oneOf:
- $ref: '#/components/schemas/Ingrid'
MerchantData:
type:
- string
- 'null'
maxLength: 250
CreateOrderResponse:
type: object
additionalProperties: false
properties:
OrderId:
type: integer
format: int64
example: 12345
PaymentLink:
type:
- string
- 'null'
Gender:
type: integer
description: ''
x-enumNames:
- Unknown
- Female
- Male
enum:
- 0
- 1
- 2
JuridicalType:
type: integer
description: ''
x-enumNames:
- Physical
- Company
enum:
- 0
- 1
Address:
type: object
additionalProperties: false
properties:
FirstName:
type:
- string
- 'null'
description: The first name of a physical customer's address.
maxLength: 100
minLength: 0
example: John
LastName:
type:
- string
- 'null'
description: The Last name of a physical customer's address.
maxLength: 100
minLength: 0
example: Doe
CompanyName:
type:
- string
- 'null'
description: Address holders company name, only applicable for Company Customers
maxLength: 100
minLength: 0
example: Qliro AB
Street:
type:
- string
- 'null'
description: The street name and number of the address.
maxLength: 100
minLength: 0
example: Sveavägen 151
Street2:
type:
- string
- 'null'
description: 'The secondary address line for apartment, suite, department, unit, building, floor etc. Used for company customers and for physical customers in the following countries:
Australia, Bosnia and Herzegovina, Canada, Croatia, Cyprus, Czech Rebublic, Estonia, France, Greece, Hungary, Iceland, Ireland, Italy, Lithuania,
Luxembourg, Macedonia, Malta, Montenegro, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, UK, US, Åland.'
maxLength: 40
minLength: 0
example: lgh 1001
PostalCode:
type:
- string
- 'null'
description: The postal code of the address.
maxLength: 15
minLength: 0
example: 12345
City:
type:
- string
- 'null'
description: The city of the address.
maxLength: 100
minLength: 0
example: Stockholm
CareOf:
type:
- string
- 'null'
description: Used if the addressee doesn't have a standard address.
maxLength: 100
minLength: 0
example: Jane Doe
Area:
type:
- string
- 'null'
description: 'The State/Province/Region of the address. Used in the following countries:
Australia, Bosnia and Herzegovina, Canada, Cyprus, Ireland, Italy, Lithuania,Luxembourg, Macedonia, Malta, Montenegro, Romania, US, Åland.'
maxLength: 100
minLength: 0
example: New York
AreaCode:
type:
- string
- 'null'
description: Geographical area code in ISO3166-2 format.
maxLength: 10
minLength: 0
example: US-NY
Metadata:
type: object
additionalProperties: false
properties:
ShippingMethodMerchantReference:
type:
- string
- 'null'
example: UniqueMerchantReference
ShippingMethodSecondaryOptionMerchantReference:
type:
- string
- 'null'
example: UniqueMerchantReference
ShippingMethodAccessCode:
type:
- string
- 'null'
example: ACCESS_CODE
AdditionalShippingProperties:
oneOf:
- $ref: '#/components/schemas/AdditionalShippingPropertiesData'
MerchantData:
type:
- string
- 'null'
MerchantProvidedMetadataTag:
type: object
additionalProperties: false
properties:
Key:
type:
- string
- 'null'
description: Merchant provided metadata element key. Max string length is 50.
maxLength: 50
minLength: 0
example: PromoCode
Value:
type:
- string
- 'null'
description: Merchant provided metadata element value. Max string length is 250.
maxLength: 250
minLength: 0
example: ABC123
Traveler:
type: object
additionalProperties: false
properties:
FirstName:
type:
- string
- 'null'
LastName:
type:
- string
- 'null'
IsMainTraveller:
type: boolean
Gender:
$ref: '#/components/schemas/Gender'
DateOfBirth:
type: string
format: date-time
CustomerInformation:
type: object
additionalProperties: false
required:
- MobileNumber
properties:
PersonalNumber:
type:
- string
- 'null'
description: A national identification number to identify the customer.
maxLength: 50
minLength: 0
example: 111111-1111
Email:
type:
- string
- 'null'
description: The customer's email address
maxLength: 255
minLength: 0
example: email@domain.com
MobileNumber:
type: string
description: The customer's mobile number
maxLength: 50
minLength: 0
example: '+46101010101'
Address:
description: The customer's address. If provided and complete, the address will be presented as an alternative to the address fetched by Qliro Checkout. For B2B customer treat this address as billing address
oneOf:
- $ref: '#/components/schemas/Address'
LockCustomerAddress:
type:
- boolean
- 'null'
description: If true, provided valid Address become order ShippingAddress. If no valid address is provided, this flag will be ignored.
example: false
CustomerVerifiedEmailData:
type: object
additionalProperties: false
properties:
UpdateVerifiedEmailLink:
type:
- string
- 'null'
example: https://www.qliro.com/sv-se
VerifiedEmail:
type:
- string
- 'null'
example: verified@email.com
VerifiedEmailDiffers:
type: boolean
example: true
GetOrderResponseBase:
type: object
additionalProperties: false
properties:
OrderId:
type: integer
description: Qliro Checkout order id.
format: int64
example: 12345
MerchantReference:
type:
- string
- 'null'
description: A string generated by the merchant to identify the order uniquely in their system. Maximum length is 25 characters.
example: MerchantUniqueReference
TotalPrice:
type: number
format: decimal
example: 1576.65
Currency:
type:
- string
- 'null'
example: SEK
Country:
type:
- string
- 'null'
example: SE
Language:
type:
- string
- 'null'
example: sv-se
CustomerCheckoutStatus:
type:
- string
- 'null'
example: Success
CustomerVerifiedEmail:
oneOf:
- $ref: '#/components/schemas/CustomerVerifiedEmailData'
Customer:
oneOf:
- $ref: '#/components/schemas/Customer'
BillingAddress:
oneOf:
- $ref: '#/components/schemas/Address2'
ShippingAddress:
oneOf:
- $ref: '#/components/schemas/Address2'
OrderItems:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderItem2'
PaymentMethod:
oneOf:
- $ref: '#/components/schemas/PaymentMethod'
SignupForNewsletter:
type:
- boolean
- 'null'
example: true
AskForNewsletterSignupChecked:
type:
- boolean
- 'null'
example: true
IdentityVerification:
oneOf:
- $ref: '#/components/schemas/IdentityVerification'
MerchantProvidedMetadata:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/MerchantProvidedMetadataTag'
Address2:
type: object
additionalProperties: false
properties:
FirstName:
type:
- string
- 'null'
example: First
LastName:
type:
- string
- 'null'
example: Last
CompanyName:
type:
- string
- 'null'
example: null
CareOf:
type:
- string
- 'null'
Street:
type:
- string
- 'null'
example: Street
Street2:
type:
- string
- 'null'
example: Street2
PostalCode:
type:
- string
- 'null'
example: 12345
City:
type:
- string
- 'null'
example: City
CountryCode:
type:
- string
- 'null'
example: SE
Area:
type:
- string
- 'null'
example: Area
AreaCode:
type:
- string
- 'null'
description: Currently only used for US. Will contain the ISO-3166-2 code for the current state (Area)
example: US-CA
OrderItem:
type: object
additionalProperties: false
required:
- MerchantReference
- Quantity
- PricePerItemIncVat
properties:
MerchantReference:
type: string
description: A string generated by the merchant to identify the order item. The combination of MerchantReference and Price Per Item Including Vat is used to uniquely identify the order item. Maximum length is 200 characters.
minLength: 1
pattern: ^[\p{L}\s(.)'\-_&,\/–+0-9:]{1,200}$
example: RedHat
Description:
type:
- string
- 'null'
description: A name or description of the order item.
maxLength: 4000
example: Red hat original product
Type:
type:
- string
- 'null'
description: Can be 'Product', 'Discount', 'Fee' or 'Shipping'
example: Product
Quantity:
type: integer
description: The number of these items in the cart.
format: int32
maximum: 2147483647
minimum: 1
example: 3
PricePerItemIncVat:
type: number
description: The price per item including Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
format: decimal
example: 375.55
PricePerItemExVat:
type: number
description: The price per item excluding Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
format: decimal
example: 300.35
Metadata:
description: Only available in create order and update order requests. Can be used to indicate if an item includes some kind of risk. If an item has been flagged with the property HasRisk, then depending on the merchant setup in Qliro Checkout, some payment methods will be disabled. This behavior is customizable in the merchant preferences. It can also be used to indicate that an order item is a subscription. If it is indicated as a subscription Qliro Checkout will show some additional terms for Qliro invoice if Qliro invoice is enabled for the merchant.
oneOf:
- $ref: '#/components/schemas/MetadataContainer'
Ingrid:
type: object
additionalProperties: false
properties:
Weight:
type:
- integer
- 'null'
format: int32
Sku:
type:
- string
- 'null'
ShippingDate:
oneOf:
- $ref: '#/components/schemas/ShippingDateRange'
Attributes:
type:
- array
- 'null'
items:
type: string
Dimensions:
oneOf:
- $ref: '#/components/schemas/ItemDimensions'
OutOfStock:
type:
- boolean
- 'null'
Discount:
type:
- number
- 'null'
format: decimal
IdentityVerification:
type: object
additionalProperties: false
properties:
RequireIdentityVerification:
type:
- boolean
- 'null'
example: false
IdentityVerified:
type:
- boolean
- 'null'
example: false
ErrorResponseModel:
type: object
additionalProperties: false
properties:
ErrorCode:
type:
- string
- 'null'
description: Unique error code
example: ORDER_NOT_FOUND
DetailedErrorMessage:
type:
- string
- 'null'
description: Detailed error message
example: Order not found
ErrorReference:
type: string
description: A tracking ID from Qliro Checkout
format: guid
example: d7da92f4-1ad9-48c3-9cd3-26559c98e64c
Customer:
type: object
additionalProperties: false
properties:
FirstName:
type:
- string
- 'null'
example: FirstName
LastName:
type:
- string
- 'null'
example: LastName
PersonalNumber:
type:
- string
- 'null'
example: 111111-1111
VatNumber:
type:
- string
- 'null'
example: SE111111111101
Email:
type:
- string
- 'null'
example: email@domain.com
MobileNumber:
type:
- string
- 'null'
example: '+46101010101'
JuridicalType:
example: Physical
oneOf:
- $ref: '#/components/schemas/JuridicalType'
DateOfBirth:
type:
- string
- 'null'
format: date-time
example: '1990-01-01'
Gender:
example: Male
oneOf:
- $ref: '#/components/schemas/Gender'
ItemDimensions:
type: object
additionalProperties: false
properties:
Height:
type:
- integer
- 'null'
format: int32
Length:
type:
- integer
- 'null'
format: int32
Width:
type:
- integer
- 'null'
format: int32
TravelInformation:
type: object
additionalProperties: false
properties:
DepartureCountry:
type:
- string
- 'null'
DepartureCity:
type:
- string
- 'null'
DepartureIATACode:
type:
- string
- 'null'
ArrivalCountry:
type:
- string
- 'null'
ArrivalCity:
type:
- string
- 'null'
ArrivalIATACode:
type:
- string
- 'null'
StopOverCountry:
type:
- string
- 'null'
StopOverCity:
type:
- string
- 'null'
StopOverIATACode:
type:
- string
- 'null'
TravelType:
type:
- string
- 'null'
BookingDate:
type: string
format: date-time
DepartureDate:
type: string
format: date-time
ReturnDate:
type: string
format: date-time
DaysToDeparture:
type: integer
format: int32
NoOfPassengers:
type: integer
format: int32
Travelers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Traveler'
Class:
type:
- string
- 'null'
Airline:
type:
- string
- 'null'
NoOfLuggage:
type: integer
format: int32
OrderItem2:
type: object
additionalProperties: false
properties:
MerchantReference:
type:
- string
- 'null'
example: MerchantUniqueReference
Description:
type:
- string
- 'null'
example: Original product
Quantity:
type: integer
format: int32
example: 5
PricePerItemIncVat:
type: number
format: decimal
example: 10
PricePerItemExVat:
type: number
format: decimal
example: 8
Type:
example: Product
oneOf:
- $ref: '#/components/schemas/OrderItemType'
Metadata:
oneOf:
- $ref: '#/components/schemas/Metadata'
PaymentTransactionId:
type: integer
format: int64
example: 123456
ShippingDateRange:
type: object
additionalProperties: false
properties:
Start:
type:
- string
- 'null'
format: date-time
End:
type:
- string
- 'null'
format: date-time
AgentData:
type: object
additionalProperties: false
properties:
Id:
type:
- string
- 'null'
Name:
type:
- string
- 'null'
MapLongitude:
type:
- number
- 'null'
format: double
MapLatitude:
type:
- number
- 'null'
format: double
Address1:
type:
- string
- 'null'
Address2:
type:
- string
- 'null'
ZipCode:
type:
- string
- 'null'
City:
type:
- string
- 'null'
CreateInStoreOrderRequest:
allOf:
- $ref: '#/components/schemas/RequestBase'
- type: object
additionalProperties: false
required:
- MerchantReference
- Currency
- Country
- Language
- MerchantTermsUrl
- MerchantOrderManagementStatusPushUrl
- MerchantCheckoutStatusPushUrl
- OrderItems
- CustomerInformation
properties:
MerchantReference:
type: string
description: A string generated by the merchant to identify the order uniquely in their system. Maximum length is 25 characters.
minLength: 1
pattern: ^[A-Za-z0-9_-]{1,25}$
example: MerchantUniqueReference
Currency:
type: string
description: Three uppercase characters, in accordance with ISO 4217.
minLength: 1
example: SEK
Country:
type: string
description: Two upper case characters. In accordance with ISO 3166-1.
minLength: 1
example: SE
Language:
type: string
description: Locale indicative for language & other location-specific details.
minLength: 1
example: sv-se
MerchantTermsUrl:
type: string
description: A URL where the customer can find the merchant's terms and conditions.
format: uri
minLength: 1
example: https://merchant.com/terms/
MerchantIntegrityPolicyUrl:
type:
- string
- 'null'
description: A URL where the customer can find the merchant's integrity policy.
format: uri
example: https://merchant.com/policy/
MerchantOrderValidationUrl:
type:
- string
- 'null'
description: If specified, Qliro will use this URL to try to validate the order before completing the purchase. Info about authentication for this request can be found below. Should use https.
example: https://merchant.com/orderValidation/
MerchantOrderManagementStatusPushUrl:
type: string
description: Qliro will use this URL to send notifications on payment status changes during the order management process, for example when the payment created by MarkItemsAsShipped call becomes successful. Info about authentication for this request can be found below. Should use https.
minLength: 1
example: https://ordermanagement.merchant.com/ordermanagementstatus
MerchantCheckoutStatusPushUrl:
type: string
description: Qliro will use this URL to send customer checkout status updates. For example when the checkout status switches from OnHold to Completed. Info about authentication for this request can be found below. Should use https.
minLength: 1
example: https://ordermanagement.merchant.com/checkoutstatus
OrderItems:
type: array
description: 'List of items customer added to the cart. '
items:
$ref: '#/components/schemas/OrderItem'
CustomerInformation:
description: 'Customer information used to try to identify the customer without user interaction. '
oneOf:
- $ref: '#/components/schemas/CustomerInformation'
MinimumCustomerAge:
type:
- integer
- 'null'
description: If specified, the customer will have to be at least this old to complete a purchase with Qliro Checkout. This will prevent the customer from authenticating as a company.
format: int32
maximum: 2147483647
minimum: 0
example: 18
OrderItemType:
type: integer
description: ''
x-enumNames:
- Product
- Discount
- Fee
- Shipping
enum:
- 0
- 1
- 2
- 3
PaymentMethod:
type: object
additionalProperties: false
properties:
PaymentMethodName:
type:
- string
- 'null'
example: PaymentMethodName
PaymentTypeCode:
type:
- string
- 'null'
example: PaymentTypeCode
RequestBase:
type: object
x-abstract: true
additionalProperties: false
required:
- MerchantApiKey
properties:
MerchantApiKey:
type: string
description: Will be provided by Qliro Checkout when setting up merchant account
maxLength: 50
minLength: 0
example: MerchantApiKey
Subscription:
type: object
additionalProperties: false
properties:
Enabled:
type: boolean
PaymentLinkData:
type: object
additionalProperties: false
properties:
Link:
type:
- string
- 'null'
example: https://secure.qit.nu/instore/?encryptedId=abc
AdditionalShippingPropertiesData:
type: object
additionalProperties: false
properties:
ShippingProvider:
type:
- string
- 'null'
ServiceId:
type:
- string
- 'null'
Agent:
oneOf:
- $ref: '#/components/schemas/AgentData'
GetInStoreOrderResponse:
allOf:
- $ref: '#/components/schemas/GetOrderResponseBase'
- type: object
additionalProperties: false
properties:
PaymentLink:
oneOf:
- $ref: '#/components/schemas/PaymentLinkData'
x-generator: NSwag v14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))