openapi: 3.0.3
info:
title: 'Xenius public API Documentation'
description: 'Xenius Api Documentation for public Use'
version: 1.0.0
servers:
-
url: 'https://staging.api.xenius.io'
tags:
-
name: Authentication
description: ''
-
name: Carts
description: ''
-
name: 'Domain names'
description: ''
-
name: Endpoints
description: ''
-
name: Invoices
description: ''
-
name: 'Office 365'
description: ''
-
name: 'Shared hosting'
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token contacting support.'
security:
-
default: []
paths:
/v2/verify-token:
get:
summary: 'Verify Api-token'
operationId: verifyApiToken
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Authentication
/v2/carts/store-admind:
post:
summary: 'Create a new cart for Admind (POST)'
operationId: createANewCartForAdmindPOST
description: ''
parameters: []
responses:
200:
description: Success
content:
application/json:
schema:
type: array
items:
type: object
example:
-
message: 'Cart stored successfully'
data:
order_id: 1
contact_id: 1
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
-
description: Unauthorized
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
404:
description: 'Not Found'
content:
application/json:
schema:
type: object
example:
message: 'No :attribute found.'
properties:
message:
type: string
example: 'No :attribute found.'
409:
description: Conflict
content:
application/json:
schema:
type: array
items:
type: object
example:
-
message: 'There are conflicting items.'
errors:
contact_id:
- 'The contact id field prohibits contact from being present.'
contact:
- 'The contact field prohibits contact id from being present.'
422:
description: 'Unprocessable Content'
content:
application/json:
schema:
type: array
items:
type: object
example:
-
message: 'The selected :attribute is invalid'
errors:
':attribute':
- 'The selected :attribute is invalid.'
tags:
- Carts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain_name:
type: string
description: 'The domain name that needs to be added to the cart.'
example: xenius.be
nullable: false
order_number:
type: string
description: 'The number of the order in Admind.'
example: OR1234
nullable: false
contact_id:
type: integer
description: 'The contact ID that the order belongs to. This field is required when contact is not present. The id of an existing record in the tblcontacts table.'
example: 1
nullable: false
contact:
type: object
description: 'The information to create the new contact. This field is required when contact_id is not present.'
example:
first_name: Anouk
last_name: Leroy
email: gilles.degroote@example.org
address: 'Lauwerslaan 39'
postalcode: '5537'
town: Péruwelz
country: PW
phone: '+32.123457789'
company: 'Aerts EBVBA'
vat: null
lang: NL
gender: V
nullable: false
properties:
first_name:
type: string
description: 'The first name of the contact. This field is required when contact is present.'
example: Anouk
nullable: false
last_name:
type: string
description: 'The last name of the contact. This field is required when contact is present.'
example: Leroy
nullable: false
email:
type: string
description: 'The email of the contact. This field is required when contact is present. Het veld value moet een geldig e-mailadres zijn.'
example: gilles.degroote@example.org
nullable: false
address:
type: string
description: 'The address of the contact. This field is required when contact is present.'
example: 'Lauwerslaan 39'
nullable: false
postalcode:
type: string
description: 'The postal code of the contact. This field is required when contact is present.'
example: '2080'
nullable: false
town:
type: string
description: 'The town of the contact. This field is required when contact is present.'
example: Péruwelz
nullable: false
country:
type: string
description: 'The country of the contact. This field is required when contact is present.'
example: BE
nullable: false
phone:
type: string
description: 'The phone number of the contact. This field is required when contact is present.'
example: '+32.123457789'
nullable: false
lang:
type: string
description: 'The language of the contact. This field is required when contact is present.'
example: NL
nullable: false
enum:
- NL
- FR
- EN
gender:
type: string
description: 'The gender of the contact.'
example: V
nullable: true
enum:
- M
- V
- X
company:
type: string
description: 'The company of the contact. This field is required when contact.vat is present.'
example: 'Aerts EBVBA'
nullable: true
vat:
type: string
description: 'Vat will validated against VIES.'
example: BE1234567
nullable: true
required:
- domain_name
- order_number
/v2/domain-names:
get:
summary: 'Show all domain names of the client (GET)'
operationId: showAllDomainNamesOfTheClientGET
description: 'Returns a list of domain names of the client.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: null
status: active
domain_name: collin.net
expirationdate: '2024-12-30'
days_until_expiration: 0
is_locked: false
auto_renew: false
external_id: (test)184
nameservers:
ns1:
name: ns3.hostedby.eu
ipv4: 185.27.175.217
ipv6: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
name: ns4.hostedby.eu
ipv4: 185.59.16.34
ipv6: null
ns3:
name: ns2.hostedby.be
ipv4: 151.80.147.144
ipv6: null
properties:
id:
type: string
example: null
status:
type: string
example: active
description: 'The status of the domain name'
enum:
- active
- registered
- deleted
- expired
- quarantaine
- transferred
- failed
- status
domain_name:
type: string
example: collin.net
expirationdate:
type: string
example: '2024-12-30'
days_until_expiration:
type: integer
example: 0
is_locked:
type: boolean
example: false
auto_renew:
type: boolean
example: false
external_id:
type: string
example: (test)184
nameservers:
type: object
properties:
ns1:
type: object
properties:
name:
type: string
example: ns3.hostedby.eu
ipv4:
type: string
example: 185.27.175.217
ipv6:
type: string
example: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
type: object
properties:
name:
type: string
example: ns4.hostedby.eu
ipv4:
type: string
example: 185.59.16.34
ipv6:
type: string
example: null
ns3:
type: object
properties:
name:
type: string
example: ns2.hostedby.be
ipv4:
type: string
example: 151.80.147.144
ipv6:
type: string
example: null
required:
- status
tags:
- 'Domain names'
'/v2/domain-names/id/{id}':
get:
summary: 'Show a domain name of the client by id (GET)'
operationId: showADomainNameOfTheClientByIdGET
description: 'Returns a domain name of the client.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: null
status: active
domain_name: borremans.org
expirationdate: '2024-12-30'
days_until_expiration: 0
is_locked: false
auto_renew: false
external_id: (test)8634
nameservers:
ns1:
name: ns3.hostedby.eu
ipv4: 185.27.175.217
ipv6: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
name: ns4.hostedby.eu
ipv4: 185.59.16.34
ipv6: null
ns3:
name: ns2.hostedby.be
ipv4: 151.80.147.144
ipv6: null
properties:
id:
type: string
example: null
status:
type: string
example: active
description: 'The status of the domain name'
enum:
- active
- registered
- deleted
- expired
- quarantaine
- transferred
- failed
- status
domain_name:
type: string
example: borremans.org
expirationdate:
type: string
example: '2024-12-30'
days_until_expiration:
type: integer
example: 0
is_locked:
type: boolean
example: false
auto_renew:
type: boolean
example: false
external_id:
type: string
example: (test)8634
nameservers:
type: object
properties:
ns1:
type: object
properties:
name:
type: string
example: ns3.hostedby.eu
ipv4:
type: string
example: 185.27.175.217
ipv6:
type: string
example: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
type: object
properties:
name:
type: string
example: ns4.hostedby.eu
ipv4:
type: string
example: 185.59.16.34
ipv6:
type: string
example: null
ns3:
type: object
properties:
name:
type: string
example: ns2.hostedby.be
ipv4:
type: string
example: 151.80.147.144
ipv6:
type: string
example: null
required:
- status
tags:
- 'Domain names'
parameters:
-
in: path
name: id
description: 'id of the domain name'
example: 10
required: true
schema:
type: integer
'/v2/domain-names/external-id/{external_id}':
get:
summary: 'Show a domain name of the client by external_id (GET)'
operationId: showADomainNameOfTheClientByExternalIdGET
description: 'Returns a domain name of the client.'
parameters:
-
in: query
name: client_id
description: 'Required if an admin uses this endpoint. The client ID of the domain the external_id belongs to.'
example: 1
required: false
schema:
type: integer
description: 'Required if an admin uses this endpoint. The client ID of the domain the external_id belongs to.'
example: 1
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: null
status: active
domain_name: borremans.org
expirationdate: '2024-12-30'
days_until_expiration: 0
is_locked: false
auto_renew: false
external_id: (test)4757
nameservers:
ns1:
name: ns3.hostedby.eu
ipv4: 185.27.175.217
ipv6: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
name: ns4.hostedby.eu
ipv4: 185.59.16.34
ipv6: null
ns3:
name: ns2.hostedby.be
ipv4: 151.80.147.144
ipv6: null
properties:
id:
type: string
example: null
status:
type: string
example: active
description: 'The status of the domain name'
enum:
- active
- registered
- deleted
- expired
- quarantaine
- transferred
- failed
- status
domain_name:
type: string
example: borremans.org
expirationdate:
type: string
example: '2024-12-30'
days_until_expiration:
type: integer
example: 0
is_locked:
type: boolean
example: false
auto_renew:
type: boolean
example: false
external_id:
type: string
example: (test)4757
nameservers:
type: object
properties:
ns1:
type: object
properties:
name:
type: string
example: ns3.hostedby.eu
ipv4:
type: string
example: 185.27.175.217
ipv6:
type: string
example: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
type: object
properties:
name:
type: string
example: ns4.hostedby.eu
ipv4:
type: string
example: 185.59.16.34
ipv6:
type: string
example: null
ns3:
type: object
properties:
name:
type: string
example: ns2.hostedby.be
ipv4:
type: string
example: 151.80.147.144
ipv6:
type: string
example: null
required:
- status
tags:
- 'Domain names'
parameters:
-
in: path
name: external_id
description: 'external_id of the domain name'
example: test_123
required: true
schema:
type: string
'/v2/domain-names/{id}':
patch:
summary: "Update a domain's external id (PATCH)"
operationId: updateADomainsExternalIdPATCH
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: null
status: active
domain_name: vanacker.net
expirationdate: '2024-12-30'
days_until_expiration: 0
is_locked: false
auto_renew: false
external_id: (test)8293
nameservers:
ns1:
name: ns3.hostedby.eu
ipv4: 185.27.175.217
ipv6: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
name: ns4.hostedby.eu
ipv4: 185.59.16.34
ipv6: null
ns3:
name: ns2.hostedby.be
ipv4: 151.80.147.144
ipv6: null
properties:
id:
type: string
example: null
status:
type: string
example: active
domain_name:
type: string
example: vanacker.net
expirationdate:
type: string
example: '2024-12-30'
days_until_expiration:
type: integer
example: 0
is_locked:
type: boolean
example: false
auto_renew:
type: boolean
example: false
external_id:
type: string
example: (test)8293
nameservers:
type: object
properties:
ns1:
type: object
properties:
name:
type: string
example: ns3.hostedby.eu
ipv4:
type: string
example: 185.27.175.217
ipv6:
type: string
example: '2a00:f10:121:400:4c7:54ff:fe00:525'
ns2:
type: object
properties:
name:
type: string
example: ns4.hostedby.eu
ipv4:
type: string
example: 185.59.16.34
ipv6:
type: string
example: null
ns3:
type: object
properties:
name:
type: string
example: ns2.hostedby.be
ipv4:
type: string
example: 151.80.147.144
ipv6:
type: string
example: null
tags:
- 'Domain names'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
external_id:
type: string
description: 'The custom id a client can assign to the domain. validation.max Het veld value moet minstens 1 tekens bevatten.'
example: domain_10
nullable: true
/v2/tlds:
get:
summary: 'Show Tld prices by client (GET)'
operationId: showTldPricesByClientGET
description: 'Returns a list of the Tld prices of the client.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
tld: .com
price_excl: '14.95'
price_promo: '12.50'
tags:
- 'Domain names'
/up:
get:
summary: ''
operationId: getUp
description: ''
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "\n\n
\n HTTP request received.\n\n Response rendered in 489ms.\n
\n