SES credentials

Named sets of SES Hospedajes web-service credentials, one per lessor.

Why several sets

One account can manage properties belonging to different lessors, each with their own lessor code and SES Hospedajes web-service username. Each set is created once and assigned by id to as many properties as belong to that lessor (sesCredentialId in /properties). A property with none assigned uses the one marked isDefault for the tenant.

Always against production — there is no per-tenant test environment on the public API. Check the lessor code and the username before creating the set.

The credential object

Object
{
  "id": "c4d9b7a3-…",
  "name": "Gestora Costa SL",
  "isDefault": true,
  "codigoArrendador": "A12345",
  "usuario": "gestora_costa",
  "aplicacion": "kinapi",
  "tipoPago": "PLATF",
  "hasPassword": true,
  "createdAt": "2026-07-01T09:00:00.000Z",
  "updatedAt": "2026-07-19T10:00:00.000Z"
}

The password is never returned in any response, only whether one is stored (hasPassword).

Valid tipoPago codes (the SES TIPO_PAGO table)
FieldTypeDescription
EFECTcodeCash.
TARJTcodeCard.
PLATFcodePayment platform (Booking, Airbnb…).
TRANScodeBank transfer.
MOVILcodeMobile payment.
DESTIcodePayment on arrival.
TREGcodeGift card.
OTROcodeOther.

List credentials

GET/ses-credentials
curl
curl https://api.kinapi.es/api/v1/ses-credentials \
  -H "ocp-apim-subscription-key: YOUR_API_KEY"

Create credentials

POST/ses-credentials
Body
FieldTypeDescription
namerequiredstringName of the set (typically the lessor it belongs to).
isDefaultbooleanMark it as the tenant default.
codigoArrendadorrequiredstringLessor code assigned by the Ministry.
usuariorequiredstringSES Hospedajes web-service username.
aplicacionrequiredstringIdentifies the software to SES on every call — normally the same for every lessor on the account.
tipoPagorequiredstringCode from the SES TIPO_PAGO table (see the table above). How this lessor collects payment by default.
contrasenarequiredstringWeb-service password. It is never returned in any response.
curl
curl -X POST https://api.kinapi.es/api/v1/ses-credentials \
  -H "ocp-apim-subscription-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "name": "Gestora Costa SL",
    "codigoArrendador": "A12345",
    "usuario": "gestora_costa",
    "aplicacion": "kinapi",
    "tipoPago": "PLATF",
    "contrasena": "…"
  }'

Read credentials

GET/ses-credentials/{id}

Update credentials

PATCH/ses-credentials/{id}

Partial update: only the fields you send change. Omit contrasena to keep the stored one.

curl
curl -X PATCH https://api.kinapi.es/api/v1/ses-credentials/c4d9b7a3-… \
  -H "ocp-apim-subscription-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "contrasena": "…new…" }'

Delete credentials

DELETE/ses-credentials/{id}

Properties that had it assigned fall back to the tenant default — if none is left, their reports will not be sendable until another one is assigned.

Test the credentials

POST/ses-credentials/{id}/test

Fires a real call to SES with these credentials and tells you whether they get in. It covers username, password, endpoint and TLS in one go — worth running when you onboard a customer, so you do not discover the problem on the first night reports are due.