Hostkit API Documentation

Our REST based API allow you to get access to the Hostkit application. On this page we explain you a little bit more detailed what you need for your use case as a host.

Please contact us before you start coding. Tell us a few words about your ideas and plans. We are always happy to help our customers and partners to build the best integrated applications.

All our GET endpoints are also available on Make. Get our app here.

If you have any questions about our API, please feel free to open a ticket in our Helpdesk.


API Authentication

Authentication is done by using the following URL: https://app.hostkit.pt/api/endpoint?APIKEY=[Your_API_Key]

CURL components:

  1. The API endpoint shall be added after /api/
  2. The APIKEY parameter is mandatory
  3. API calls must be requested with GET
  4. Special characters need to be encoded

For enhanced security, API keys are property based, therefore must be generated and maintained in the Hostkit App -> Properties -> API key tab of each property.


API Rate Limit

We have a rate limit of 10 requests per minute. If you need more, please contact us.


API Enumerations

The possible enumerations that our API may request are:

Reservations providers (lower case):
9flats abreu agoda airbnb
amin archipelago atraveo belvilla
booked booking.com campcation camping.info
campspace clickstay corporate direct
dorms.com dtravel ectravel edreams
email eurofun eurohike expedia
flatio flipkey glampings.com google
hometogo hostelworld hostelsclub hotels.com
housinganywhere housetrip hrs inntravel
jetcamp marriott mbtravel melotravel
misterbnb monvoyageamadere muchosol mycamper
odisseias olimar oliverstravels oyo
phone pincamp pitchup plumguide
profitroom roomarama scapetravel seabreeze
solmar spotahome splvillas stsurleshauteurs
traum travelagency travelagent travelstaytion
trip.com tripadvisor uniplaces villacollection
villamore villaplus vintage vistaverde
voucher vrbo walkin website
wolters wix - -
Properties license types:
RNAL Short-term rental (Alojamento local)
RNET Touristic development (Empreendimento turístico)
RRAL Regional short-term rental (Alojamento local regional)
MIDT Mid-term rental (Arrendamento a médio prazo)
RNAAT Tourism entertainment agent (Agente de Animação Turística)
RNAVT Travel and tourism agency (Agência de Viagens e Turismo)
Guests document types:
P Passport (Passaporte)
ID ID card (Cartão cidadão)
O Other (Outro)
Invoices types:
FR Invoice-Receipt (Fatura-Recibo)
FT Invoice (Fatura)
Invoices sources:
api API invoices (faturas via API)
automatic Automatic invoices (faturas automáticas)
bulk Bulk invoices (faturas geradas em massa)
pmc Property management invoices (faturas de comissões de gestão)
manual Manual invoices (faturas manuais)
Invoices payment methods:
CC Credit card (Cartão crédito)
CD Debit card (Cartão débito)
CH Bank check (Cheque bancário)
CI International documentary credit (Crédito documentário internacional)
CO Cheque or gift card (Cheque ou cartão oferta)
CS Clearing of current account balances (Compensação de saldos em conta corrente)
DE Electronic money (Dinheiro eletrónico)
LC Commercial bills (Letra comercial)
MB ATM (Multibanco)
NU Cash (Numerário)
PR Exchange of goods (Permuta de bens)
TB Bank transfer or authorised direct debit (Transferência bancária ou débito direto autorizado)
OU Other means not listed here (Outros meios aqui não assinalados)
Invoicing product types:
S Service (Serviço)
P Product (Produto)
I Tax (Imposto)
Invoicing product regions:
PT Mainland (Continente)
PT-MA Madeira
PT-AC Azores (Açores)
Invoicing product VAT exemption codes:
M01 Article 16, nr. 6 of CIVA (Artigo 16.º n.º 6 do CIVA)
M02 Article 6 of Decree-Law 198/90 of 19 June (Artigo 6.º do Decreto-Lei n.º 198/90, de 19 de Junho)
M03 Cash requirement (Exigibilidade de caixa)
M04 Exempt Article 13 of CIVA (Isento Artigo 13.º do CIVA)
M05 Exempt Article 14 of CIVA (Isento Artigo 14.º do CIVA)
M06 Exempt Article 15 of CIVA (Isento Artigo 15.º do CIVA)
M07 Exempt Article 9 of CIVA (Isento Artigo 9.º do CIVA)
M09 VAT no right to deduction (IVA não confere direito a dedução)
M10 VAT exemption scheme (IVA regime de isenção) *
M11 Special tobacco regime (Regime particular do tabaco)
M12 Profit margin scheme, travel agencies (Regime da margem de lucro, agências de viagens)
M13 Profit margin scheme, second-hand goods (Regime da margem de lucro, bens em segunda mão)
M14 Profit margin scheme, works of art (Regime da margem de lucro, objectos de arte)
M15 Profit margin scheme, collectors' items and antiques (Regime da margem de lucro, objectos de colecção e antiguidades)
M16 Exempt Article 14 of the RITI (Isento Artigo 14.º do RITI)
M19 Other exemptions (Outras isenções)
M20 VAT flat-rate scheme (IVA regime forfetário)
M21 VAT no right to deduction or similar expression (IVA não confere direito à dedução ou expressão similar)
M25 Goods on consignment (Mercadorias à consignação)
M26 VAT exemption with right of deduction on food baskets (Isenção de IVA com direito à dedução no cabaz alimentar)
M30 VAT reverse charge, Article 2, nr. 1, line i of CIVA (IVA autoliquidação, Artigo 2.º n.º 1 alínea i do CIVA)
M31 VAT reverse charge, Article 2, nr. 1, line j of CIVA (IVA autoliquidação, Artigo 2.º n.º 1 alínea j do CIVA)
M32 VAT reverse charge, Article 2, nr. 1, line l of CIVA (IVA autoliquidação, Artigo 2.º n.º 1 alínea l do CIVA)
M33 VAT reverse charge, Article 2, nr. 1, line m of CIVA (IVA autoliquidação, Artigo 2.º n.º 1 alínea m do CIVA)
M34 VAT reverse charge, Article 2, nr. 1, line n of CIVA (IVA autoliquidação, Artigo 2.º n.º 1 alínea n do CIVA)
M40 VAT reverse charge, Article 6, nr. 6, line a of CIVA to the contrary (IVA autoliquidação, Artigo 6.º n.º 6 alínea a do CIVA, a contrário)
M41 VAT reverse charge, Article 8, nr. 3 of RITI (IVA autoliquidação, Artigo 8.º n.º 3 do RITI)
M42 VAT reverse charge, Decree-Law no. 21/2007, of 29 January (IVA autoliquidação, Decreto-Lei n.º 21/2007, de 29 de janeiro)
M43 VAT reverse charge, Decree-Law no. 362/99, of 16th September (IVA autoliquidação, Decreto-Lei n.º 362/99, de 16 de setembro)
M99 Not subject, not taxed (Não sujeito, não tributado) **

* Most common exemption scheme | ** City tax


API Errors

The possible errors that our API may return are:

Missing parameter There is a mandatory parameter for SIBA missing.
Incorrect format The format of one of the parameters is wrong.
Departure is before arrival Arrival date is earlier than departure date.
Parameter is invalid The parameter is not valid.
Parameter too long The parameter exceeded the maximum size.
SIBA error Specific SIBA error.
Reservation already exists The reservation you are trying to add/edit already exists.
Reservation not found The reservation you are trying to edit/delete doesn't exist.
Unknown reservation code The reservation code you are trying to obtain doesn't exist.
Guest already exists The guest you are trying to add already exists.
Guest not found The guest you are trying to edit/delete doesn't exist.
Invalid format for check-in/out Incorrect check-in/out date format, must be YYYY-MM-DD.
Invalid property ID for your user Specified property is not licensed to the API key user.
No APIKEY provided API key not specified.
Account expired Your Hostkit account license expired.
Invalid plan Your plan does not allow access to the API.
Incorrect APIKEY provided An incorrect API key has been specified.
Limit exceeded Requests rate limit exceeded.
Incorrect protocol Incorrect API protocol call.
Internal error Internal Hostkit error, please contact us.
Unknown error An unknown error has occurred.

API Endpoints

getProperty

This endpoint returns the details of a single property, given an ID.

curl "https://app.hostkit.pt/api/getProperty?APIKEY=[Your_API_Key]&id=[Property_ID]"

{
	"owner": "owner@myproperty.com",
	"activated": "1",
	"id": "1",
	"address": "R. das Quintinhas, 7", 
	"property_name": "Quintinhas",
	"cp": "1000-000", // zip
	"localidade": "Lisboa", // city
	"nif": "123456789",
	"seforder": "0",
	"sefcode": "10938247374",
	"lat": "38",
	"lon": "-9",
	"default_checkin": "15",
	"default_checkout": "12",
	"invoicing_nif": "123456789",
	"invoicing_name": "Gestão Lda", 
	"invoicing_email": "email@gestao.pt", 
	"invoicing_phone": "+351928617112", 
	"invoicing_address": "Av. Republica, 36, 1o", 
	"codigo_al": "12345", // registration number
	"tmt": "2", // city tax
	"comm_email": "mail@myproperty.com", 
	"property_info":"PHAVG....", // base64
	"default_series": "2022",
	"default_product": "Alojamento"
}
                     


getProperties

This endpoint returns ALL properties, similar data as getProperty but as a list.

curl "https://app.hostkit.pt/api/getProperties?APIKEY=[Your_API_Key]"


addProperty

This endpoint allows to add a single property, using any existing APIKEY. Returns the ID and the corresponding APIKEY.

curl "https://app.hostkit.pt/api/addProperty?APIKEY=[Your_API_Key]&property_name=[Property_Name]&address=[Property_Address]&zip=[Property_ZIP_Code]&city=[Property_City]"

{ 
	"status": "success",
	"apid": "12345",
	"apikey": "XXXXXXX"
}
                     

Mandatory parameters:

property_name=[Property_Name] property_name=Best Seaview
address=[Property_Address] address=Rua do Exemplo 1
zip=[Property_ZIP_Code] zip=1234-567
city=[Property_City] city=Lisboa

Optional parameters:

latitude=[Property_Latitude] latitude=37.0171342508058
longitude=[Property_Longitude] longitude=-8.9424204826355
default_checkin=[Property_Checkin_Time] default_checkin=16
default_checkout=[Property_Checkout_Time] default_checkout=11
license_number=[Property_License_Number] license_number=123456
license_type=[Property_License_Type] license_type=RNAL
siba_id=[Property_SIBA_ID] siba_id=567890123
siba_order=[Property_SIBA_Establishment_Number] siba_order=0
siba_code=[Property_SIBA_Activation_Code] siba_code=1234567890
invoicing_nif=[Property_Invoicing_VAT_ID] invoicing_nif=567890123
invoicing_name=[Property_Invoicing_Name] invoicing_name=My Company Lda
invoicing_address=[Property_Invoicing_Address] invoicing_address=Rua da Empresa 1, 1234-567 Lisboa
invoicing_email=[Property_Invoicing_Email] invoicing_email=myaccounting@email.com
invoicing_phone=[Property_Invoicing_Phone] invoicing_phone=+351987654321

Please find all available licenses types here.


updateProperty

This endpoint allows to update a single property, given an ID.

curl "https://app.hostkit.pt/api/updateProperty?APIKEY=[Your_API_Key]&apid=[Property_ID]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

apid=[Property_ID] apid=12345

Optional parameters:

property_name=[Property_Name] property_name=Best Seaview
address=[Property_Address] address=Rua do Exemplo 1
zip=[Property_ZIP_Code] zip=1234-567
city=[Property_City] city=Lisboa
latitude=[Property_Latitude] latitude=37.0171342508058
longitude=[Property_Longitude] longitude=-8.9424204826355
default_checkin=[Property_Checkin_Time] default_checkin=16
default_checkout=[Property_Checkout_Time] default_checkout=11
license_number=[Property_License_Number] license_number=123456
license_type=[Property_License_Type] license_type=RNAL
siba_id=[Property_SIBA_ID] siba_id=567890123
siba_order=[Property_SIBA_Establishment_Number] siba_order=0
siba_code=[Property_SIBA_Activation_Code] siba_code=1234567890
invoicing_nif=[Property_Invoicing_VAT_ID] invoicing_nif=567890123
invoicing_name=[Property_Invoicing_Name] invoicing_name=My Company Lda
invoicing_address=[Property_Invoicing_Address] invoicing_address=Rua da Empresa 1, 1234-567 Lisboa
invoicing_email=[Property_Invoicing_Email] invoicing_email=myaccounting@email.com
invoicing_phone=[Property_Invoicing_Phone] invoicing_phone=+351987654321

Please find all available licenses types here.


getReservation

This endpoint returns the details of a reservation. If the parameter get_archived=true is used it returns a reservation that is archived.

curl "https://app.hostkit.pt/api/getReservation?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{
	"owner": "owner@myproperty.com", 
	"rcode": "25901",
	"apid": "1234",
	"room": "",
	"beds": "",
	"firstname": "Antonio",
	"lastname": "Ficelli",
	"email": "email@guest.com", 
	"phone": "+39123456789",
	"flight": "TP821",
	"flight_time": "17:17",
	"arrival_by": "",
	"reservation_date": "1561489289", // unix timestamp
	"in_date": "1574255100",  // unix timestamp
	"out_date": "1574726400",  // unix timestamp
	"arrival": "1574208000",  // unix timestamp
	"departure": "1574726400",  // unix timestamp
	"pax": "1",
	"guest_data": [{
		"name": " Antonio Ficelli", 
		"document_type": "P", 
		"document_number": "JH191HA", 
		"document_country": "ITA", 
		"nationality": "ITA",
		"birthday": "1980-10-01",
		"arrival": "2022-11-20", 
		"departure": "2022-11-26", 
		"country": "ITA",
		"city": "Milan"
	}],
	"service_in": "", 
	"service_out": "", 
	"service_cleaning": "",
	"service_laundry": "",
	"service_transfer_arr": "", 
	"service_transfer_dep": "", 
	"service_notes": "", 
	"private_note": "", 
	"feedback": "",
	"language": "en",
	"sefdate": "0",
	"provider": "airbnb", 
	"received_amount": "90", 
	"host_commission": "10",
	"extra_fees": "0",
	"city_tax": "0",
	"shortlink": "https://icheckin.pt/?9DSCNKPE", 
	"block_sef": "0",
	"block_emails": "0",
	"block_payments": "0",
	"block_invoicing": "0",
	"block_updates": "0"
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

Optional parameters:

get_archived=[Archived_Reservation] get_archived=true

getReservationByCmId

This endpoint returns similar data as getReservation but by a Channel Manager reservation ID.

curl "https://app.hostkit.pt/api/getReservationByCmId?APIKEY=[Your_API_Key]&channelmanager=[CM_Name]&id=[CM_Reservation_ID]"

Mandatory parameters:

channelmanager=[CM_Name] channelmanager=avantio
id=[CM_Reservation_ID] id=123456789

getReservations

This endpoint returns similar data as getReservation but as a list.

curl "https://app.hostkit.pt/api/getReservations?APIKEY=[Your_API_Key]"

Optional parameters:

get_archived=[Archived_Reservation] get_archived=true
from_date=[Checkin_Date] from_date=2023-05-10

addReservation

curl "https://app.hostkit.pt/api/addReservation?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]&first_name=[Guest_FirstName]&last_name=[Guest_LastName]&check_in=[ArrivalDate]&check_out=[ArrivalDate]&pax=[Nr_Guests]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK
first_name=[Guest_FirstName] first_name=Alana
last_name=[Guest_LastName] last_name=Bolsch
check_in=[ArrivalDate] check_in=2023-05-20 16:00
check_out=[ArrivalDate] check_out=2023-05-25 11:00
pax=[Nr_Guests] pax=2

Optional parameters:

email=[Guest_Email] email=myguest@email.com
phone=[Guest_Phone] phone=00351123456789
received_amount=[Received_Amount] received_amount=1234.56
host_commission=[Channel_Commission] host_commission=123.45
cleaning_fee=[Cleaning_Fee_Amount] cleaning_fee=50
extra_fees=[Extra_Fees_Amount] extra_fees=10
city_tax=[City_Tax_Amount] city_tax=16
provider=[Channel_Name] provider=airbnb
reservation_date=[Date_Reservation] reservation_date=2023-05-10
room=[Room] room=myroom
beds=[Bed] beds=mybed
vat_number=[Invoice_VAT_Number] vat_number=555555555
vat_name=[Invoice_VAT_Name] vat_name=Company Lda
flight=[Flight_Nr] flight=FR1234
flight_time=[Flight_Time] flight_time=13:10
arrival_by=[Arrival_Transport] arrival_by=Taxi
service_in=[Checkin_Service_User] service_in=myserviceuser@email.com
service_out=[Checkout_Service_User] service_out=myserviceuser@email.com
service_cleaning=[Cleaning_Service_User] service_cleaning=myserviceuser@email.com
service_laundry=[Laundry_Service_User] service_laundry=myserviceuser@email.com
service_transfer_arr=[Trans_Arr_Service_User] service_transfer_arr=myserviceuser@email.com
service_transfer_dep=[Trans_Dep_Service_User] service_transfer_dep=myserviceuser@email.com

Payment parameter:

create_payment=[Create_Payment] create_payment=1

Please find all available providers here.


updateReservation

curl "https://app.hostkit.pt/api/updateReservation?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

Optional parameters:

first_name=[Guest_FirstName] first_name=Alana
last_name=[Guest_LastName] last_name=Bolsch
check_in=[ArrivalDate] check_in=2023-05-20 16:00
check_out=[ArrivalDate] check_out=2023-05-25 11:00
pax=[Nr_Guests] pax=2
email=[Guest_Email] email=myguest@email.com
phone=[Guest_Phone] phone=00351123456789
received_amount=[Received_Amount] received_amount=1234.56
host_commission=[Channel_Commission] host_commission=123.45
cleaning_fee=[Cleaning_Fee_Amount] cleaning_fee=50
extra_fees=[Extra_Fees_Amount] extra_fees=50
city_tax=[City_Tax_Amount] city_tax=16
provider=[Channel_Name] provider=airbnb
flight=[Flight_Nr] flight=FR1234
flight_time=[Flight_Time] flight_time=13:10
arrival_by=[Arrival_Transport] arrival_by=Taxi
service_in=[Checkin_Service_User] service_in=myserviceuser@email.com
service_out=[Checkout_Service_User] service_out=myserviceuser@email.com
service_cleaning=[Cleaning_Service_User] service_cleaning=myserviceuser@email.com
service_laundry=[Laundry_Service_User] service_laundry=myserviceuser@email.com
service_transfer_arr=[TrArr_Service_User] service_transfer_arr=myserviceuser@email.com
service_transfer_dep=[TrDep_Service_User] service_transfer_dep=myserviceuser@email.com

Please find all available providers here.


cancelReservation

This endpoint moves a specific reservation to our cancelations table.

curl "https://app.hostkit.pt/api/cancelReservation?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

deleteReservation

This endpoint deletes a specific reservation.

curl "https://app.hostkit.pt/api/deleteReservation?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

addReservationExtra

This endpoint adds an extra invoicing item to a specific reservation. Each extra is treated as an invoicing product, therefore use the same extra_id whenever possible.

curl "https://app.hostkit.pt/api/addReservationExtra?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]&extra_id=[Extra_ID]&extra_name=[Extra_Name]&extra_vat=[Extra_VAT_Rate]&extra_total=[Extra_Total]&extra_type=[Extra_Type]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK
extra_id=[Extra_ID] extra_id=SURFLEASSON (max 20, no spaces or special chars)
extra_name=[Extra_Name] extra_name=My special surf leason
extra_vat=[Extra_VAT_Rate] extra_vat=23
extra_total=[Extra_Total] extra_total=300
extra_type=[Extra_Type] extra_type=S

If extra ID doesn't exist as product, we will create it in the respective invoicing account.

Please find all available invoicing product types here.


deleteReservationExtras

This endpoint deletes all extra items of a specific reservation.

curl "https://app.hostkit.pt/api/deleteReservationExtras?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success"
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

getKeycode

This endpoint gets the keycode or invite code of smartlocks of a specific reservation.

curl "https://app.hostkit.pt/api/getKeycode?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]&provider=[Provider]"

{ 
	"keycode": "1234" // keycode not found otherwise
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK
provider=[Provider] provider=nuki (nuki, homeit, ttlock or salto)

getPayments

This endpoint gets all payments for a specific reservation, as a list.

curl "https://app.hostkit.pt/api/getPayments?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

[
	{
	"amount": "250",
	"info": "Security deposit",
	"enabled": true, // false otherwise
	"paid": true // false otherwise
	},
	...
]
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

getOnlineCheckin

This endpoint gets the link and online check-in status of a specific reservation.

curl "https://app.hostkit.pt/api/getOnlineCheckin?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"shortlink": "https://icheckin.pt/?9DSCNKPE",		 
	"status": "done" // empty otherwise
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

addGuest

This endpoint adds a single guest data to a specific reservation.

curl "https://app.hostkit.pt/api/addGuest?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]&arrival=[Arrival_Date]&departure=[Departure_Date]&first_name=[Guest_FirstName]&last_name=[Guest_LastName]&nationality=[Guest_Nacionality]&birthday=[Guest_Birthdate]&doc_id=[Guest_Document_Nr]&doc_type=[Guest_Document_Type]&doc_country=[Guest_Document_Country]&country_residence=[Guest_Country]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK
arrival=[Arrival_Date] arrival=2023-05-20
departure=[Departure_Date] departure=2023-05-25
first_name=[Guest_FirstName] first_name=Alana (max. 40 chars)
last_name=[Guest_LastName] last_name=Bolsch (max. 40 chars)
nationality=[Guest_Nacionality_ICAO] nationality=FRA
birthday=[Guest_Birthdate] birthday=1990-12-01
doc_id=[Guest_Document_Nr] doc_id=123456789 (max. 16 chars)
doc_type=[Guest_Document_Type] doc_type=P
doc_country=[Guest_Document_Country_ICAO] doc_country=FRA
country_residence=[Guest_Country_ICAO] country_residence=FRA
city_residence=[Guest_City_Name] city_residence=Paris (if not available, send dash "-")

Please find all available guests document types here.


removeGuest

This endpoint removes a single guest data in a specific reservation.

curl "https://app.hostkit.pt/api/removeGuest?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]&name=[Guest_First_or_Last_Name]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK
name=[Guest_First_or_Last_Name] name=Alana

removeAllGuests

This endpoint removes all guests data in a specific reservation.

curl "https://app.hostkit.pt/api/removeAllGuests?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

validateSIBA

This endpoint receives data to be sent to SIBA and validates it by returning "success" if all data is correctly formatted.

curl "https://app.hostkit.pt/api/validateSIBA?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

sendSIBA

This endpoint performs the validation described above and, if everything is correct, triggers the submission of the SIBA bulletin within a specific reservation.

curl "https://app.hostkit.pt/api/sendSIBA?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

{ 
	"status": "success" 
}
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

getLastSIBADate

This endpoint returns the date and time of the last successfully submitted bulletin to SIBA in the format: YYYY-MM-DD HH:MM:SS

curl "https://app.hostkit.pt/api/getLastSIBADate?APIKEY=[Your_API_Key]"

{ 
	"sefdate": "2023-05-22 10:00:00" 
}
                     


getInvoices

This endpoint returns the all invoices OR a single invoice, as a list.

curl "https://app.hostkit.pt/api/getInvoices?APIKEY=[Your_API_Key]"

[
	{
	"invoice_type": "FR",
	"series": "2023",
	"id": "10",
	"nif": "123456789", 
	"name": "John Smith", 
	"address": "",
	"value": "1.44",
	"date": "1620644915",  // unix timestamp
	"closed": "0",
	"rcode": "A8J2H8A", 
	"comment": "",
	"partial": false,
	"notes": "", // partial invoices
	"invoice_token": "dXNlcm5hbWU9aGZjYW5kZWlhc0BnbWFpbC5jb20",
	"invoice_url": "https://hostk.it/i/123/A1B2C3D4E5F6G7H8I9",
	"has_receipt": "0" // 0 no receipt, 1 receipt available (only for invoice_type FT)
	},
	...
]
                     

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series] series=2023
id=[Invoice_ID] id=1234
customer_id=[Invoice_Customer_ID] customer_id=123456789
date_start=[Invoice_Date_Start_UnixTimeStamp] date_start=1730000000
date_end=[Invoice_Date_End_UnixTimeStamp] date_end=1731000000
doc_type=[Invoice_Type] doc_type=FR
source=[Invoice_Source] source=automatic

Please find all available invoice types and sources here.


getReservationInvoices

This endpoint returns a list of all the invoices for a given reservation. Can be one (full invoice) or a set of partial invoices.

curl "https://app.hostkit.pt/api/getReservationInvoices?APIKEY=[Your_API_Key]&rcode=[Reservation_Code]"

[
	{
	"invoice_type": "FR",
	"series": "2022",
	"id": "9",
	"nif": "123456789",
	"name": "Melanie Johnson", 
	"address": "",
	"value": "129.06",
	"date": "1620641390",  // unix timestamp
	"closed": "1",
	"rcode": "1BVD4R",
	"comment": "",
	"partial": false,
	"notes": "", // partial invoices
	"invoice_token": "dXNlcm5hbWU9aGZjYW5kZWlhc0BnbWFpbC5jb20",
	"invoice_url": "https://hostk.it/i/123/A1B2C3D4E5F6G7H8I9",
	"has_receipt": "0" // 0 no receipt, 1 receipt available (only for invoice_type FT)
	},
	...
]
                     

Mandatory parameters:

rcode=[Reservation_Code] rcode=HMK71DA91ALK

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890

addInvoice

This endpoint allows to create a new invoice. The invoice will NOT be created if a draft exists in the same invoicing VAT ID and series. If no VAT ID or series are specified, it will be used the default from the property.

curl "https://app.hostkit.pt/api/addInvoice?APIKEY=[Your_API_Key]&customer_id[Customer_ID]&name=[Invoice_Recipient_Name]&country=[Country_ICAO_Code]"

{ 
	"status": "success",
	"id": "35" // use this to addInvoiceLine, closeInvoice, addReceipt or addCreditNote
}
                     

Mandatory parameters:

customer_id=[Customer_ID] customer_id=HA19837264
name=[Invoice_Recipient_Name] name=Alana Bolsch
country=[Country_ICAO_Code] country=FRA

Optional parameters:

invoice_type=[Invoice_Type] invoice_type=FR
invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series_ID] series=AL2023
address=[Invoice_Recipient_Address] address=Rua do Exemplo 10
cp=[Invoice_Recipient_ZIP] cp=12345-678
city=[Invoice_Recipient] city=Lisboa
rcode=[Reservation_Code] rcode=HMK71DA91ALK
payment_method=[Payment_Method] payment_method=TB
comment=[Invoice_Comment] comment=My special comment

The customer_id should either be guest's VAT ID, or document number, or 999999990 if final consumer.

Please find all available invoice types and payment methods here.


addInvoiceLine

This endpoint allows to add a new invoice line into an existing draft invoice.

curl "https://app.hostkit.pt/api/addInvoiceLine?APIKEY=[Your_API_Key]&id=[Invoice_ID]&product_id=[Invoice_Line_Product_ID]&custom_descr=[Invoice_Line_Description]&qty=[Invoice_Line_Quantity]&price=[Invoice_Line_Price]&discount=[Invoice_Line_Discount]&vat=[Invoice_Line_VAT]&reason_code=[Invoice_Line_Exemption_Code]"

{ 
	"status": "success",
	"line": "1"
}
                     

Mandatory parameters:

id=[Invoice_ID] id=35
product_id=[Invoice_Line_Product_ID] product_id=AL
custom_descr=[Invoice_Line_Description] custom_descr=Alojamento Local
qty=[Invoice_Line_Quantity] qty=1
price=[Invoice_Line_Price] price=1234.56
discount=[Invoice_Line_Discount] discount=0 (int)
vat=[Invoice_Line_VAT] vat=6 (int)
reason_code=[Invoice_Line_Exemption_Code] only if VAT is 0, empty otherwise

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series_ID] series=AL2023
type=[Invoice_Line_Product_Type] type=S
region=[Invoice_Line_Product_Region] region=PT

If product ID doesn't exist, we will create it in the respective invoicing account. During creation, if type and region are not available, default will be S for type and PT for region.

Please find all available reason codes, types and regions here.


closeInvoice

This endpoint closes a draft invoice.

curl "https://app.hostkit.pt/api/closeInvoice?APIKEY=[Your_API_Key]id=[Invoice_ID]"

{ 
	"status": "success",
	"invoice_token": "dXNlcm5hbWU9aGZjYW5kZWlhc0BnbWFpbC5jb20",
	"invoice_url": "https://hostk.it/i/123/A1B2C3D4E5F6G7H8I9"
}
                     

Mandatory parameters:

id=[Invoice_ID] id=35

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series_ID] series=AL2023

deleteInvoice

This endpoint deletes a DRAFT invoice.

curl "https://app.hostkit.pt/api/deleteInvoice?APIKEY=[Your_API_Key]&id=[Invoice_ID]"

{ 
	"status": "success"
}
                     

Mandatory parameters:

id=[Invoice_ID] id=35

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series_ID] series=AL2023

getReceipts

This endpoint returns the receipts as a list. If no invoicing VAT ID is specified, it will be used the default from the property.

curl "https://app.hostkit.pt/api/getReceipts?APIKEY=[Your_API_Key]

[
	{
	"series": "2023",
	"id": "1",
	"nif": "123456789", 
	"value": "1.44",
	"date": "1620644915",  // unix timestamp
	"refseries": "2023",
	"refid": "10",
	"receipt_token": "dXNlcm5hbWU9aGZjYW5kZWlhc0BnbWFpbC5jb20",
	"receipt_url": "https://hostk.it/i/123/A1B2C3D4E5F6G7H8I9"
	},
	...
]
                     

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series] series=2023
id=[Invoice_ID] id=1234
customer_id=[Invoice_Customer_ID] customer_id=123456789
date_start=[Invoice_Date_Start_UnixTimeStamp] date_start=1730000000
date_end=[Invoice_Date_End_UnixTimeStamp] date_end=1731000000

addReceipt

This endpoint allows to create a receipt based on an EXISTING CLOSED invoice. If no invoicing VAT ID or series is specified, it will be used the default from the property.

curl "https://app.hostkit.pt/api/addReceipt?APIKEY=[Your_API_Key]&refid=[Invoice_ID]

{ 
	"status": "success",
	"id": "5"
}
                     

Mandatory parameters:

refid=[Invoice_ID] refid=10 (from the original invoice)

Optional parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890 (from the original invoice)
refseries=[Invoice_Series_ID] refseries=INVMD (from the original invoice)

getCreditNotes

This endpoint returns the all credit notes as a list. If no invoicing VAT ID is specified, it will be used the default from the property.

curl "https://app.hostkit.pt/api/getCreditNotes?APIKEY=[Your_API_Key]"

[
	{
	"series": "2022",
	"id": "9",
	"nif": "123456789",
	"name": "Melanie Johnson", 
	"address": "",
	"value": "129.06",
	"date": "1620641390",  // unix timestamp
	"reason": "",
	"refseries": "2022",
	"refid": "10",
	"reftype": "FR",
	"credit_note_token": "dXNlcm5hbWU9aGZjYW5kZWlhc0BnbWFpbC5jb20",
	"credit_note_url": "https://hostk.it/i/123/A1B2C3D4E5F6G7H8I9"
	},
	...
]
                     

Optional parameters:

invoice_type=[Invoice_Type] invoice_type=FR
invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
series=[Invoice_Series_ID] series=AL2023
id=[Invoice_ID] id=35
customer_id=[Invoice_Customer_ID] customer_id=123456789
date_start=[Invoice_Date_Start_UnixTimeStamp] date_start=1730000000
date_end=[Invoice_Date_End_UnixTimeStamp] date_end=1731000000

Please find all available invoice types here.


addCreditNote

This endpoint allows to create a credit note based on an EXISTING CLOSED invoice. If no invoicing VAT ID or series is specified, it will be used the default from the property.

curl "https://app.hostkit.pt/api/addCreditNote?APIKEY=[Your_API_Key]&refid=[Invoice_ID]"

{ 
	"status": "success",
	"id": "5"
}
                     

Mandatory parameters:

refid=[Invoice_ID] refid=737 (from the original invoice)

Optional parameters:

invoice_type=[Invoice_Type] invoice_type=FR (from the original invoice)
invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890 (from the original invoice)
refseries=[Invoice_Series_ID] refseries=INVMD (from the original invoice)

Please find all available invoice types here.


generateSAFT

This endpoint allows to generate a SAFT based on an EXISTING invoicing account.

curl "https://app.hostkit.pt/api/generateSAFT?APIKEY=[Your_API_Key]&invoicing_nif=[Invoicing_VAT_ID]&year=[Year]&month=[Month]"

{ 
	"status": "success"
}
                     

Mandatory parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
year=[Year] year=2024
month=[Month] month=8

getSAFT

This endpoint allows to get a SAFT from an EXISTING invoicing account. SAFT content output is in base64.

curl "https://app.hostkit.pt/api/getSAFT?APIKEY=[Your_API_Key]&invoicing_nif=[Invoicing_VAT_ID]&year=[Year]&month=[Month]"

{ 
	"generated": "2024-08-16 10:00:00",
	"sent": "2024-08-16 10:00:01",
	"saft": "PD94bWwgdmVyc..." // base64
}
                     

Mandatory parameters:

invoicing_nif=[Invoicing_VAT_ID] invoicing_nif=234567890
year=[Year] year=2024
month=[Month] month=8

getExpenses

This endpoint returns the all expenses as a list, based on document date.

curl "https://app.hostkit.pt/api/getExpenses?APIKEY=[Your_API_Key]&date_start=[Document_Date_Start_UnixTimeStamp]&date_end=[Document_Date_End_UnixTimeStamp]"

[
	{
	"id": "1",
	"active": "1", // 1 for active, 0 for inactive
	"category": "furniture",
	"type": "variable", 
	"vendor": "IKEA",
	"description": "Lorem ipsum",
	"number": "123456789", 
	"amount": "50.00",
	"vat": "23", // rate percentage
	"document_date": "1730000000", // unix timestamp
	"creation_date": "1730000000", // unix timestamp
	"payment_date": "1730000000", // unix timestamp
	"last_update_date": "1730000000", // unix timestamp
	"lines": [{
		"line_id": "1", 
		"line_description": "Lorem ipsum", 
		"line_amount": "50.00", 
		"line_vat": "23"
	}]
	},
	...
]
                     

Mandatory parameters:

date_start=[Document_Date_Start_UnixTimeStamp] date_start=1730000000
date_end=[Document_Date_End_UnixTimeStamp] date_end=1731000000

getLicense

This endpoint returns the license expiration date.

curl "https://app.hostkit.pt/api/getLicense?APIKEY=[Your_API_Key]"

{ 
	"plan": "Business", 
	"valid_until": "2022-01-04" 
}
                     


API Changelog

CW4 2024: New endpoints to add or delete reservation extra items were created, addReservationExtra and deteteReservationExtras.

CW49 2025: New endpoint to add a receipt was created, addReceipt.

CW47 2025: New endpoint to get receipts was created, getReceipts.

CW45 2025: Implemented create_payment in endpoint addReservation.

CW44 2025: Implemented room, vat_number and vat_name in endpoint addReservation.

CW41 2025: New endpoint to add properties was created, addProperty.

CW37 2025: New endpoint to update properties was created, updateProperty.

CW24 2025: sendSEF is now sendSIBA. validateSEF is now validateSIBA. getLastSEFDate is now getLastSIBADate.

CW20 2025: New endpoint to get expenses was created, getExpenses.

CW8 2025: New endpoint to get reservation by Channel Manager ID was created, getReservationByCmId.

CW43 2024: Updated endpoint getInvoices with new customer ID and date filters.

CW33 2024: New endpoints to generate and get SAFTs were created, generateSAFT and getSAFT.

CW19 2024: New endpoint to get smartlocks keycodes was created, getKeycode.

CW7 2024: New endpoint to get the status of online check-in was created, getOnlineCheckin.

CW2 2024: New endpoint to cancel reservations was created, cancelReservation.

CW47 2023: Implemented payment_method in endpoint addInvoice.

CW46 2023: Implemented invoice URL in endpoint closeInvoice.

CW44 2023: Implemented comment in endpoint addInvoice.

CW43 2023: Implemented a rate limit of 100 requests per each 10 seconds.

CW33 2023: New endpoint to update single reservation was created, updateReservation.

CW29 2023: Implemented invoice URL in endpoints getInvoices and getReservationInvoices.

CW22 2023: New endpoints for credit notes generation have been created, getCreditNotes and addCreditNote.


Copyright 2026 © Hostkit, Lda. All rights reserved. Hostkit is a registered trademark.