Partner API
Was this helpful?
Was this helpful?
An API to fetch (GET) a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
GET /partner/{partnerRegNo}/account/{accountRegNo} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accountRegNo": "SE1234567890",
"vatNumber": "SE123456789001",
"name": "A company AB",
"email": "john.doe@acompany.com",
"address": "A street name 123",
"additionalAddress": "c/o My mailbox",
"boxAddress": "Box 123",
"postalCode": "123 45",
"country": "SE",
"city": "Stockholm",
"currency": "SEK",
"vat": 25,
"website": "https://www.myweb.com",
"invoiceEmail": "invoices@myweb.com",
"invoicePhone": "+468123456",
"OurReference": "Finance Person",
"appFeatures": {
"whiteLabel": {
"active": true,
"wl_partners": [
"wl_acme_partner"
]
},
"invoiceManagement": {
"active": true
},
"orderManagement": {
"active": true
},
"catalogueManagement": {
"active": true
},
"analytics": {
"active": true
},
"prePosting": {
"active": true
},
"capture": {
"active": true
},
"unspscClassification": {
"active": true
},
"clarityAI": {
"active": true
},
"co2Emission": {
"active": true
},
"workflow": {
"active": true
},
"apiIntegration": {
"active": true
},
"sftpIntegration": {
"active": true
},
"reconciliation": {
"active": true
}
}
}
}
An API to fetch (GET) Qvalia users in an account, under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
GET /partner/{partnerRegNo}/account/{accountRegNo}/user HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accountRegNo": "SE1234567890",
"users": [
{
"email": "user@qvalia.com",
"name": "text",
"privilege": "viewer",
"phone": "text",
"language": "text",
"title": "text",
"countryCode": "SE"
}
]
}
}
An API to fetch (GET) a Qvalia user in an account, under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
User email for the account, e.g. "user@qvalia.com"
GET /partner/{partnerRegNo}/account/{accountRegNo}/user/{userEmail} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accountRegNo": "SE1234567890",
"user": {
"email": "user@qvalia.com",
"name": "text",
"privilege": "viewer",
"phone": "text",
"language": "text",
"title": "text",
"countryCode": "SE"
}
}
}
An API to DELETE a User from a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
User email for the account, e.g. "user@qvalia.com"
DELETE /partner/{partnerRegNo}/account/{accountRegNo}/user/{userEmail} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"success": "User deleted from account SE1234567890 for partner SE9876543210"
}
}
An API to fetch (GET) bankaccounts in an account, under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
GET /partner/{partnerRegNo}/account/{accountRegNo}/bankaccount HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accountRegNo": "SE1234567890",
"bankAccounts": [
{
"account_name": "text",
"type": "text",
"account_number": "text",
"is_default": true,
"description": "text",
"bic": "text",
"bank_name": "text",
"bank_address": "text",
"bank_postal_code": "text",
"bank_city": "text",
"bank_country": "text"
}
]
}
}
An API to fetch (GET) a Bankaccount in an account, under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
A bank account as created, e.g. "SE4550000000058398257466" or "1234-567"
GET /partner/{partnerRegNo}/account/{accountRegNo}/bankaccount/{bankAccount} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accountRegNo": "SE12345567890",
"bankAccount": {
"account_name": "text",
"type": "text",
"account_number": "text",
"is_default": true,
"description": "text",
"bic": "text",
"bank_name": "text",
"bank_address": "text",
"bank_postal_code": "text",
"bank_city": "text",
"bank_country": "text"
}
}
}
An API to DELETE a Bankaccount from a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
A bank account as created, e.g. "SE4550000000058398257466" or "1234-567"
DELETE /partner/{partnerRegNo}/account/{accountRegNo}/bankaccount/{bankAccount} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"success": "Bank account deleted from account SE1234567890 for partner SE9876543210"
}
}
Find information about a Peppol identifier.
Partner registration number issued by Qvalia
PeppolId for the endpoint, e.g. "0007:9999999999"
Message Type, e.g. Invoice, OrderResponse, MLR
GET /partner/{partnerRegNo}/peppol/lookup/{peppolId} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"matches": [
{
"participantID": {
"scheme": "iso6523-actorid-upis",
"value": "0007:5567321707"
},
"docTypes": [
{
"scheme": "busdox-docid-qns",
"value": "urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##urn:fdc:peppol.eu:poacc:trns:mlr:3::2.1"
}
]
}
],
"exists": true,
"rootDocTypeExists": false,
"source": "SML"
}
}
An API to GET Peppol identifiers to a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
GET /partner/{partnerRegNo}/account/{accountRegNo}/peppol HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": [
{
"peppolId": "0007:5567321707",
"regNo": "SE5567321707",
"description": "Some PeppolId",
"businessCard": {
"companyName": "Qvalia AB",
"countryCode": "SE",
"geographicalInformation": "Stockholm",
"VAT": "SE556732170701",
"orgNr": "SE5567321707",
"suffix": "ABC"
},
"msgTypes": [
"invoice-creditnote-2"
]
}
]
}
An API to GET a Peppol identifier to a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
PeppolId for the endpoint, e.g. "0007:9999999999"
GET /partner/{partnerRegNo}/account/{accountRegNo}/peppol/{peppolId} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"peppolId": "0007:5567321707",
"regNo": "SE5567321707",
"description": "Some PeppolId",
"businessCard": {
"companyName": "Qvalia AB",
"countryCode": "SE",
"geographicalInformation": "Stockholm",
"VAT": "SE556732170701",
"orgNr": "SE5567321707",
"suffix": "ABC"
},
"msgTypes": [
"invoice-creditnote-2"
]
}
}
An API to DELETE a Peppol identifier to a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
PeppolId for the endpoint, e.g. "0007:9999999999"
DELETE /partner/{partnerRegNo}/account/{accountRegNo}/peppol/{peppolId} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "deleted"
}
NB! This documented endpoint has a pseudo path URI! (read below)
An API to fetch (GET) your Partner accounts transactions.
Using the prefix of /partner/{partnerRegNo}
you, as a partner, can access your accounts transactions through Qvalia Transaction API.
(message-type)
and (direction)
attributes in URI refers to Transaction API endpoints, e.g. invoices
and incoming
, which results in /partner/{partnerRegNo}/transaction/{accountRegNo}/invoices/incoming
.
(message-type)
and (direction)
are interchangable for all Transaction API endpoints, as well as for the read
endpoints, by adding the read
attribute to the URI.
Refer to documentation for handling transactions at Qvalia Transaction API
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
GET /partner/{partnerRegNo}/transaction/{accountRegNo}/(message-type)/(direction) HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
No content
NB! This documented endpoint has a pseudo path URI! (read below)
An API to send (POST) your Partner accounts transactions.
Using the prefix of /partner/{partnerRegNo}
you, as a partner, can access your accounts transactions through Qvalia Transaction API.
(message-type)
and (direction)
attributes in URI refers to Transaction API endpoints, e.g. invoices
and incoming
, which results in /partner/{partnerRegNo}/transaction/{accountRegNo}/invoices/incoming
.
(message-type)
and (direction)
are interchangable for all Transaction API endpoints, as well as for the read
endpoints, by adding the read
attribute to the URI.
Refer to documentation for handling transactions at Qvalia Transaction API
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
POST /partner/{partnerRegNo}/transaction/{accountRegNo}/(message-type)/(direction) HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
No content
An API to fetch (GET) Qvalia accounts under your Partner account.
Partner registration number issued by Qvalia
GET /partner/{partnerRegNo}/account HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"accounts": [
{
"accountRegNo": "SE1234567890",
"vatNumber": "SE123456789001",
"name": "A company AB",
"email": "john.doe@acompany.com",
"address": "A street name 123",
"additionalAddress": "c/o My mailbox",
"boxAddress": "Box 123",
"postalCode": "123 45",
"country": "SE",
"city": "Stockholm",
"currency": "SEK",
"vat": 25,
"website": "https://www.myweb.com",
"invoiceEmail": "invoices@myweb.com",
"invoicePhone": "+468123456",
"OurReference": "Finance Person",
"appFeatures": {
"whiteLabel": {
"active": true,
"wl_partners": [
"wl_acme_partner"
]
},
"invoiceManagement": {
"active": true
},
"orderManagement": {
"active": true
},
"catalogueManagement": {
"active": true
},
"analytics": {
"active": true
},
"prePosting": {
"active": true
},
"capture": {
"active": true
},
"unspscClassification": {
"active": true
},
"clarityAI": {
"active": true
},
"co2Emission": {
"active": true
},
"workflow": {
"active": true
},
"apiIntegration": {
"active": true
},
"sftpIntegration": {
"active": true
},
"reconciliation": {
"active": true
}
}
}
],
"total": 1
}
}
An API to add (POST) a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
SE1234567890
This is normally EU VAT number used for creating supplier invoices
SE123456789001
A company AB
john.doe@acompany.com
A street name 123
c/o My mailbox
Box 123
123 45
SE
Pattern: ^[A-Z]{2}$
Stockholm
SEK
This is the default VAT rate used for creating supplier invoices
25
This is used in page footer of PDF supplier invoices
https://www.myweb.com
This is used in page footer of PDF supplier invoices
invoices@myweb.com
This is used in page footer of PDF supplier invoices
+468123456
This is used in page footer of PDF supplier invoices
Finance Person
POST /partner/{partnerRegNo}/account HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 910
{
"accountRegNo": "SE1234567890",
"vatNumber": "SE123456789001",
"name": "A company AB",
"email": "john.doe@acompany.com",
"address": "A street name 123",
"additionalAddress": "c/o My mailbox",
"boxAddress": "Box 123",
"postalCode": "123 45",
"country": "SE",
"city": "Stockholm",
"currency": "SEK",
"vat": 25,
"website": "https://www.myweb.com",
"invoiceEmail": "invoices@myweb.com",
"invoicePhone": "+468123456",
"OurReference": "Finance Person",
"appFeatures": {
"whiteLabel": {
"active": true,
"wl_partners": [
"wl_acme_partner"
]
},
"invoiceManagement": {
"active": true
},
"orderManagement": {
"active": true
},
"catalogueManagement": {
"active": true
},
"analytics": {
"active": true
},
"prePosting": {
"active": true
},
"capture": {
"active": true
},
"unspscClassification": {
"active": true
},
"clarityAI": {
"active": true
},
"co2Emission": {
"active": true
},
"workflow": {
"active": true
},
"apiIntegration": {
"active": true
},
"sftpIntegration": {
"active": true
},
"reconciliation": {
"active": true
}
}
}
{
"success": "account SE1234567890 created for partner SE9876543210"
}
An API to change (PUT) a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
This is normally EU VAT number used for creating supplier invoices
SE123456789001
A company AB
john.doe@acompany.com
A street name 123
c/o My mailbox
Box 123
123 45
SE
Pattern: ^[A-Z]{2}$
Stockholm
SEK
This is the default VAT rate used for creating supplier invoices
25
This is used in page footer of PDF supplier invoices
https://www.myweb.com
This is used in page footer of PDF supplier invoices
invoices@myweb.com
This is used in page footer of PDF supplier invoices
+468123456
This is used in page footer of PDF supplier invoices
Finance Person
PUT /partner/{partnerRegNo}/account/{accountRegNo} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 880
{
"vatNumber": "SE123456789001",
"name": "A company AB",
"email": "john.doe@acompany.com",
"address": "A street name 123",
"additionalAddress": "c/o My mailbox",
"boxAddress": "Box 123",
"postalCode": "123 45",
"country": "SE",
"city": "Stockholm",
"currency": "SEK",
"vat": 25,
"website": "https://www.myweb.com",
"invoiceEmail": "invoices@myweb.com",
"invoicePhone": "+468123456",
"OurReference": "Finance Person",
"appFeatures": {
"whiteLabel": {
"active": true,
"wl_partners": [
"wl_acme_partner"
]
},
"invoiceManagement": {
"active": true
},
"orderManagement": {
"active": true
},
"catalogueManagement": {
"active": true
},
"analytics": {
"active": true
},
"prePosting": {
"active": true
},
"capture": {
"active": true
},
"unspscClassification": {
"active": true
},
"clarityAI": {
"active": true
},
"co2Emission": {
"active": true
},
"workflow": {
"active": true
},
"apiIntegration": {
"active": true
},
"sftpIntegration": {
"active": true
},
"reconciliation": {
"active": true
}
}
}
{
"success": "account SE1234567890 updated for partner SE9876543210"
}
An API to add (POST) a User to a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
user@qvalia.com
^(viewer|user|admin)$
Possible values: ^[en|sv|fi]$
Possible values: POST /partner/{partnerRegNo}/account/{accountRegNo}/user HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 108
{
"email": "user@qvalia.com",
"name": "text",
"privilege": "viewer",
"phone": "text",
"language": "en",
"title": "text"
}
{
"status": "success",
"data": {
"success": "User users@qvalia.com added to account SE1234567890 for partner SE9876543210"
}
}
An API to update (PUT) a User to a Qvalia account under your Partner account.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
User email for the account, e.g. "user@qvalia.com"
^(viewer|user|admin)$
Possible values: SE
Pattern: ^[A-Z]{2}$
PUT /partner/{partnerRegNo}/account/{accountRegNo}/user/{userEmail} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 103
{
"name": "text",
"privilege": "viewer",
"phone": "text",
"language": "text",
"title": "text",
"countryCode": "SE"
}
{
"status": "success",
"data": {
"success": "User users@qvalia.com updated for account SE1234567890 for partner SE9876543210"
}
}
An API to add (POST) a Bankaccount to a Qvalia account under your Partner account.
The bank account for the partner account is used when/if a partner account generates/creates an invoice in Qvalia Apps. If your customer don't have access to Qvalia standard App, e.g. you are using a White Label solution, the bank account marked as is_default
will be used (and only one default
account may exist!).
For Swedish companies (country: SE
) Plusgiro
and Bankgiro
are allowed as type
, for any other country either IBAN
or AccountNumber
should be used!
The type AccountNumber
shall be used for any unspecified, and local, bank accounts (i.e. that's not IBAN
, Bankgiro
or Plusgiro
)
The account_number
attribute is used for all account types, and for IBAN
it must start with the country code, e.g. SE4550000000058398257466
.
bic
(or S.W.I.F.T. code) is optional if IBAN
is given.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
[IBAN|Bankgiro|Plusgiro|AccountNumber]
Possible values: ^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$
POST /partner/{partnerRegNo}/account/{accountRegNo}/bankaccount HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 221
{
"account_name": "text",
"type": "IBAN",
"account_number": "text",
"is_default": true,
"description": "text",
"bic": "text",
"bank_name": "text",
"bank_address": "text",
"bank_postal_code": "text",
"bank_city": "text",
"bank_country": "text"
}
{
"status": "success",
"data": {
"success": "Bankaccount added to account SE1234567890 for partner SE9876543210"
}
}
An API to update (PUT) a Bankaccount to a Qvalia account under your Partner account.
The bank account for the partner account is used when/if a partner account generates/creates an invoice in Qvalia Apps. If your customer don't have access to Qvalia standard App, e.g. you are using a White Label solution, the bank account marked as is_default
will be used (and only one default
account may exist!).
For Swedish companies (country: SE
) Plusgiro
and Bankgiro
are allowed as type
, for any other country either IBAN
or AccountNumber
should be used!
The type AccountNumber
shall be used for any unspecified, and local, bank accounts (i.e. that's not IBAN
, Bankgiro
or Plusgiro
)
The account_number
attribute is used for all account types, and for IBAN
it must start with the country code, e.g. SE4550000000058398257466
.
bic
(or S.W.I.F.T. code) is optional if IBAN
is given.
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
A bank account as created, e.g. "SE4550000000058398257466" or "1234-567"
[IBAN|Bankgiro|Plusgiro|AccountNumber]
Possible values: ^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$
PUT /partner/{partnerRegNo}/account/{accountRegNo}/bankaccount/{bankAccount} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 197
{
"account_name": "text",
"type": "IBAN",
"is_default": true,
"description": "text",
"bic": "text",
"bank_name": "text",
"bank_address": "text",
"bank_postal_code": "text",
"bank_city": "text",
"bank_country": "text"
}
{
"status": "success",
"data": {
"success": "Bank account updated for account SE1234567890 for partner SE9876543210"
}
}
An API to add or update (PUT) a Peppol identifier to a Qvalia account under your Partner account.
If you utilize a Peppol group (receiving) for Peppol identifiers and not
having separate Qvalia accounts for each of your customers then{accountRegNo}
is your {partnerRegNo}
You can find the list of allowed Peppol document types by navigating tohttps://docs.peppol.eu/edelivery/codelists/
They are updating the lists regularly but under that URL you'll always
find the current active version. Under “Artifact” find the Document Types vX.X
and click the “as HTML” to get a view of the list.
Under Associated Process/Profile Identifier(s)
(on the far right in
the table) you'll find the docTypes.profile
value and under Peppol Document Type Identifier Value
you'll get the value fordocTypes.document
.
If you register for Invoice, you should also register forCreditNote!
We've opted for a PUT operation for the creation (add) and update of Peppol identifiers as it is rather messy trying to update in a JSON structure. This means that you have to send the full object at any change (and obviously at create).
We'd recommend to write your code to first do a GET
to find the
current settings for the identifier, and then update the values you want
to update and send the changed object in a PUT
request.
The businessCard information is what is being added to the Peppol Directory and shown there, e.g.:https://directory.peppol.eu/public/locale-en US/menuitem-search?q=qvalia&action=view&participant=iso6523-actorid-upis%3A%3A0007%3A5567321707
Partner registration number issued by Qvalia
Account registration number issued by Qvalia
PeppolId for the endpoint, e.g. "0007:9999999999"
Some PeppolId
PUT /partner/{partnerRegNo}/account/{accountRegNo}/peppol/{peppolId} HTTP/1.1
Host: api-qa.qvalia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 374
{
"description": "Some PeppolId",
"businessCard": {
"companyName": "Qvalia AB",
"countryCode": "SE",
"geographicalInformation": "Stockholm",
"VAT": "SE556732170701",
"orgNr": "SE5567321707",
"suffix": "ABC"
},
"docTypes": [
{
"profile": "urn:fdc:peppol.eu:poacc:bis:ordering:3",
"document": "urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:fdc:peppol.eu:poacc:trns:order:3::2.1"
}
]
}
{
"status": "updated",
"peppolId": "0007:9999999999"
}