REST API

Documentație API Rentio

Integrează proprietățile, fișele de cazare și rezervările direct în aplicația ta prin API-ul REST Rentio. Autentificare prin cheie API, răspunsuri JSON, rate limiting 60 req/min.

v1 JSON Bearer Token 60 req/min

Autentificare

Toate cererile către API necesită o cheie API trimisă în header-ul Authorization.

Cheile API se generează din panoul de administrare → Profil → Acces API.

Fiecare cheie este afișată o singură dată la creare — păstreaz-o în siguranță.

Cheile API nu expiră automat, dar pot fi revocate oricând din panoul de administrare.

Header obligatoriu

HTTP Header
Authorization: Bearer {api_key}

Exemplu cerere

curl -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/properties
<?php
$ch = curl_init('https://rentio.ro/api/v1/properties');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties', {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();

Erori & Coduri HTTP

API-ul returnează întotdeauna JSON. Erorile au câmpurile error și status.

Format răspuns eroare

JSON
{
  "error": "Cheie API invalidă sau lipsă.",
  "status": 401
}

Coduri HTTP

CodSemnificație
200Succes
201Resursă creată
401Cheie API lipsă sau invalidă
403Acces interzis la resursă
404Resursa nu există sau nu aparține contului tău
409Conflict (ex: suprapunere rezervări)
422Date invalide — câmpuri lipsă sau incorecte
429Prea multe cereri — depășit limita de 60/min
500Eroare internă server

Paginare

Endpoint-urile de listare returnează un obiect cu data și meta.

Parametri query

ParametruDefaultMaximDescriere
page1Numărul paginii
per_page20100Rezultate pe pagină

Format răspuns paginat

JSON
{
  "data": [ ... ],
  "meta": {
    "total": 87,
    "page": 1,
    "per_page": 20,
    "total_pages": 5
  },
  "status": 200
}

Rate Limiting

Fiecare cheie API are o limită de 60 de cereri pe minut.

La depășirea limitei, API-ul returnează codul 429 Too Many Requests. Limita se resetează la fiecare 60 de secunde.

JSON — 429
{
  "error": "Prea multe cereri. Limita: 60/minut.",
  "status": 429
}

Proprietăți

Gestionează unitățile de cazare asociate contului tău.

GET /api/v1/properties Listează proprietățile

Query parametri

ParametruTipDescriere
include_archivedbooleanInclude și proprietățile arhivate (default: false)
pageintegerPagina (default: 1)
per_pageintegerRezultate pe pagină (default: 20, max: 100)

Exemplu cerere

curl -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/properties
<?php
$ch = curl_init('https://rentio.ro/api/v1/properties');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties', {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();

Exemplu răspuns

JSON — 200 OK
{
  "data": [
    {
      "id": 12,
      "name": "Apartament Centru Cluj",
      "type": "apartament",
      "address": "Str. Eroilor 14",
      "city": "Cluj-Napoca",
      "county": "Cluj",
      "slug": "apartament-centru-cluj",
      "clasificare": "3 stele",
      "welcome_message": "Bun venit!",
      "active": true,
      "created_at": "2025-03-10 14:22:00",
      "stats": {
        "total_fise": 47,
        "fise_completate": 44,
        "rezervari_total": 31,
        "rezervari_active": 2,
        "revenue_incasat": 4200.00
      }
    }
  ],
  "status": 200
}
GET /api/v1/properties/{id} Detalii proprietate

Parametri path

ParametruTipDescriere
idintegerID-ul proprietății

Exemplu cerere

curl -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/properties/12
<?php
$ch = curl_init('https://rentio.ro/api/v1/properties/12');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties/12', {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();
POST /api/v1/properties Creează proprietate

Body JSON

CâmpTipObligatoriuDescriere
namestringDaDenumirea proprietății (min. 2 caractere)
typestringNuTipul unității: apartament, casa, vila, camera, pensiune, hotel, altele
addressstringNuAdresa completă
citystringNuOrașul
countystringNuJudețul
clasificarestringNuClasificarea unității (ex: 3 stele)
welcome_messagestringNuMesaj afișat oaspetelui la completarea fișei

Exemplu cerere

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "Vila Prahova",
       "type": "vila",
       "address": "Str. Muntelui 5",
       "city": "Sinaia",
       "county": "Prahova"
     }' \
     https://rentio.ro/api/v1/properties
<?php
$payload = json_encode([
    'name'    => 'Vila Prahova',
    'type'    => 'vila',
    'address' => 'Str. Muntelui 5',
    'city'    => 'Sinaia',
    'county'  => 'Prahova',
]);
$ch = curl_init('https://rentio.ro/api/v1/properties');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}', 'Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}', 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Vila Prahova', type: 'vila', address: 'Str. Muntelui 5', city: 'Sinaia', county: 'Prahova' })
});
const data = await res.json();

Returnează proprietatea creată cu 201 Created.

POST /api/v1/properties/{id}/update Actualizează proprietate

Aceleași câmpuri ca la creare. Trimite doar câmpurile pe care vrei să le modifici, plus name care rămâne obligatoriu.

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{"name": "Vila Prahova Premium", "clasificare": "4 stele"}' \
     https://rentio.ro/api/v1/properties/12/update
<?php
$ch = curl_init('https://rentio.ro/api/v1/properties/12/update');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode(['name' => 'Vila Prahova Premium', 'clasificare' => '4 stele']),
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}', 'Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties/12/update', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}', 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Vila Prahova Premium', clasificare: '4 stele' })
});
const data = await res.json();
POST /api/v1/properties/{id}/delete Șterge proprietate
Operație ireversibilă. Ștergerea proprietății șterge și toate fișele și rezervările asociate.
curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/properties/12/delete
<?php
$ch = curl_init('https://rentio.ro/api/v1/properties/12/delete');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/properties/12/delete', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();
JSON — 200 OK
{ "data": { "deleted": true, "id": 12 }, "status": 200 }

Fișe de cazare

Înregistrări de oaspeți conform HG 237/2001.

GET /api/v1/fise Listează fișele

Query parametri

ParametruTipDescriere
statusstringFiltrează după status: pending, completed, exported
property_idintegerFiltrează după proprietate
searchstringCaută după nume, prenume sau număr act
data_dedateData sosirii — de la (format: YYYY-MM-DD)
data_panadateData sosirii — până la (format: YYYY-MM-DD)
pageintegerPagina (default: 1)
per_pageintegerRezultate pe pagină (default: 20, max: 100)

Exemplu cerere

curl -H "Authorization: Bearer {api_key}" \
     "https://rentio.ro/api/v1/fise?status=completed&data_de=2025-06-01&data_pana=2025-06-30"
<?php
$params = http_build_query(['status' => 'completed', 'data_de' => '2025-06-01', 'data_pana' => '2025-06-30']);
$ch = curl_init('https://rentio.ro/api/v1/fise?' . $params);
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const params = new URLSearchParams({ status: 'completed', data_de: '2025-06-01', data_pana: '2025-06-30' });
const res = await fetch(`https://rentio.ro/api/v1/fise?${params}`, {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();

Exemplu răspuns

JSON — 200 OK
{
  "data": [
    {
      "id": 301,
      "token": "a1b2c3d4",
      "property_id": 12,
      "property_name": "Apartament Centru Cluj",
      "status": "completed",
      "guest": {
        "nume": "Popescu",
        "prenume": "Ion",
        "data_nasterii": "1985-04-12",
        "locul_nasterii": "București",
        "cetatenie": "română",
        "nationalitate": "română"
      },
      "act": {
        "tip_act": "CI",
        "serie_act": "RX",
        "numar_act": "123456",
        "eliberat_de": "SPCLEP Sector 1",
        "valabil_pana_la": "2030-04-12"
      },
      "domiciliu": {
        "tara": "România",
        "judet": "București",
        "localitate": "București",
        "adresa": "Str. Victoriei 10"
      },
      "sejur": {
        "data_sosirii": "2025-06-15",
        "data_plecarii": "2025-06-18",
        "camera_nr": "2"
      },
      "completed_at": "2025-06-15 14:30:00",
      "created_at": "2025-06-14 10:00:00"
    }
  ],
  "meta": {
    "total": 47,
    "page": 1,
    "per_page": 20,
    "total_pages": 3
  },
  "status": 200
}
GET /api/v1/fise/{id} Detalii fișă
curl -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/fise/301
<?php
$ch = curl_init('https://rentio.ro/api/v1/fise/301');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/fise/301', {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();
POST /api/v1/fise Creează fișă

Body JSON

CâmpTipObligatoriuDescriere
property_idintegerDaID-ul proprietății
numestringDaNumele de familie al oaspetelui
prenumestringDaPrenumele oaspetelui
data_nasteriidateNuData nașterii (YYYY-MM-DD)
locul_nasteriistringNuLocul nașterii
cetateniestringNuCetățenia
nationalitatestringNuNaționalitatea
tip_actstringNuTipul actului: CI, Passport, CIP
serie_actstringNuSeria actului de identitate
numar_actstringNuNumărul actului de identitate
eliberat_destringNuAutoritatea emitentă
valabil_pana_ladateNuData expirării actului (YYYY-MM-DD)
domiciliu_tarastringNuȚara de domiciliu
domiciliu_judetstringNuJudețul de domiciliu
domiciliu_localitatestringNuLocalitatea de domiciliu
domiciliu_adresastringNuAdresa completă de domiciliu
data_sosiriidateNuData sosirii (YYYY-MM-DD)
data_plecariidateNuData plecării (YYYY-MM-DD)
camera_nrstringNuNumărul camerei / unității

Exemplu cerere

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{
       "property_id": 12,
       "nume": "Popescu",
       "prenume": "Ion",
       "data_nasterii": "1985-04-12",
       "cetatenie": "română",
       "tip_act": "CI",
       "serie_act": "RX",
       "numar_act": "123456",
       "data_sosirii": "2025-07-10",
       "data_plecarii": "2025-07-14"
     }' \
     https://rentio.ro/api/v1/fise
<?php
$ch = curl_init('https://rentio.ro/api/v1/fise');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode([
        'property_id' => 12, 'nume' => 'Popescu', 'prenume' => 'Ion',
        'data_nasterii' => '1985-04-12', 'cetatenie' => 'română',
        'tip_act' => 'CI', 'serie_act' => 'RX', 'numar_act' => '123456',
        'data_sosirii' => '2025-07-10', 'data_plecarii' => '2025-07-14',
    ]),
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}', 'Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/fise', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    property_id: 12, nume: 'Popescu', prenume: 'Ion',
    data_nasterii: '1985-04-12', cetatenie: 'română',
    tip_act: 'CI', serie_act: 'RX', numar_act: '123456',
    data_sosirii: '2025-07-10', data_plecarii: '2025-07-14'
  })
});
const data = await res.json();

Returnează fișa creată cu 201 Created.

POST /api/v1/fise/{id}/update Actualizează fișă

Trimite doar câmpurile pe care vrei să le modifici. Dacă fișa este în stare pending, va fi marcată automat completed.

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{"camera_nr": "3", "data_plecarii": "2025-07-15"}' \
     https://rentio.ro/api/v1/fise/301/update
<?php
$ch = curl_init('https://rentio.ro/api/v1/fise/301/update');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode(['camera_nr' => '3', 'data_plecarii' => '2025-07-15']),
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}', 'Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/fise/301/update', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}', 'Content-Type': 'application/json' },
  body: JSON.stringify({ camera_nr: '3', data_plecarii: '2025-07-15' })
});
const data = await res.json();
POST /api/v1/fise/{id}/delete Șterge fișă
curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/fise/301/delete
<?php
$ch = curl_init('https://rentio.ro/api/v1/fise/301/delete');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/fise/301/delete', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();

Rezervări

Gestionează rezervările pentru toate proprietățile tale.

GET /api/v1/reservations Listează rezervările

Query parametri

ParametruTipDescriere
statusstringFiltrează după status: pending, confirmed, cancelled
property_idintegerFiltrează după proprietate
searchstringCaută după nume, email sau telefon oaspete
data_dedateCheck-in — de la (format: YYYY-MM-DD)
data_panadateCheck-in — până la (format: YYYY-MM-DD)
pageintegerPagina (default: 1)
per_pageintegerRezultate pe pagină (default: 20, max: 100)

Exemplu cerere

curl -G \
     -H "Authorization: Bearer {api_key}" \
     --data-urlencode "status=confirmed" \
     --data-urlencode "property_id=12" \
     --data-urlencode "page=1" \
     https://rentio.ro/api/v1/reservations
<?php
$params = http_build_query([
    'status'      => 'confirmed',
    'property_id' => 12,
    'page'        => 1,
]);
$ch = curl_init("https://rentio.ro/api/v1/reservations?{$params}");
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const params = new URLSearchParams({ status: 'confirmed', property_id: 12, page: 1 });
const res = await fetch(`https://rentio.ro/api/v1/reservations?${params}`, {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();

Exemplu răspuns

JSON — 200 OK
{
  "data": [
    {
      "id": 55,
      "property_id": 12,
      "property_name": "Apartament Centru Cluj",
      "guest": {
        "name": "Maria Ionescu",
        "email": "[email protected]",
        "phone": "0722000000",
        "count": 2
      },
      "check_in": "2025-07-10",
      "check_out": "2025-07-14",
      "status": "confirmed",
      "source": "airbnb",
      "price": {
        "total": 850.00,
        "currency": "RON"
      },
      "notes": null,
      "created_at": "2025-06-20 09:15:00",
      "updated_at": "2025-06-20 09:15:00"
    }
  ],
  "meta": {
    "total": 31,
    "page": 1,
    "per_page": 20,
    "total_pages": 2
  },
  "status": 200
}
GET /api/v1/reservations/{id} Detalii rezervare
curl -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/reservations/55
<?php
$ch = curl_init('https://rentio.ro/api/v1/reservations/55');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER    => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/reservations/55', {
  headers: { 'Authorization': 'Bearer {api_key}' }
});
const data = await res.json();
POST /api/v1/reservations Creează rezervare

Body JSON

CâmpTipObligatoriuDescriere
property_idintegerDaID-ul proprietății
guest_namestringDaNumele complet al oaspetelui
check_indateDaData check-in (YYYY-MM-DD)
check_outdateDaData check-out (YYYY-MM-DD), trebuie să fie după check-in
guest_emailstringNuEmail-ul oaspetelui
guest_phonestringNuTelefonul oaspetelui
guests_countintegerNuNumărul de oaspeți (default: 1)
statusstringNupending sau confirmed (default: confirmed)
sourcestringNuSursa rezervării (ex: airbnb, booking, direct, api)
price_totalfloatNuPrețul total al sejurului
currencystringNuMoneda (default: RON)
notesstringNuObservații interne

Exemplu cerere

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{
       "property_id": 12,
       "guest_name": "Maria Ionescu",
       "guest_email": "[email protected]",
       "check_in": "2025-07-10",
       "check_out": "2025-07-14",
       "guests_count": 2,
       "source": "airbnb",
       "price_total": 850.00,
       "currency": "RON"
     }' \
     https://rentio.ro/api/v1/reservations
<?php
$payload = json_encode([
    'property_id'  => 12,
    'guest_name'   => 'Maria Ionescu',
    'guest_email'  => '[email protected]',
    'check_in'     => '2025-07-10',
    'check_out'    => '2025-07-14',
    'guests_count' => 2,
    'source'       => 'airbnb',
    'price_total'  => 850.00,
    'currency'     => 'RON',
]);
$ch = curl_init('https://rentio.ro/api/v1/reservations');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer {api_key}',
        'Content-Type: application/json',
    ],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/reservations', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {api_key}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    property_id:  12,
    guest_name:   'Maria Ionescu',
    guest_email:  '[email protected]',
    check_in:     '2025-07-10',
    check_out:    '2025-07-14',
    guests_count: 2,
    source:       'airbnb',
    price_total:  850.00,
    currency:     'RON',
  }),
});
const data = await res.json();
Dacă există deja o rezervare activă (non-anulată) în același interval pentru aceeași proprietate, API-ul returnează 409 Conflict.

Returnează rezervarea creată cu 201 Created.

POST /api/v1/reservations/{id}/update Actualizează rezervare

Trimite doar câmpurile pe care vrei să le modifici. Validarea de suprapunere se aplică și la actualizare.

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     -H "Content-Type: application/json" \
     -d '{"check_out": "2025-07-15", "price_total": 1000.00}' \
     https://rentio.ro/api/v1/reservations/55/update
<?php
$payload = json_encode(['check_out' => '2025-07-15', 'price_total' => 1000.00]);
$ch = curl_init('https://rentio.ro/api/v1/reservations/55/update');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer {api_key}',
        'Content-Type: application/json',
    ],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/reservations/55/update', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {api_key}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ check_out: '2025-07-15', price_total: 1000.00 }),
});
const data = await res.json();
POST /api/v1/reservations/{id}/cancel Anulează rezervare

Marchează rezervarea ca cancelled. Dacă este deja anulată, returnează 409.

curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/reservations/55/cancel
<?php
$ch = curl_init('https://rentio.ro/api/v1/reservations/55/cancel');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => '',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/reservations/55/cancel', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}' },
});
const data = await res.json();
JSON — 200 OK
{ "data": { "cancelled": true, "id": 55 }, "status": 200 }
POST /api/v1/reservations/{id}/delete Șterge rezervare
curl -X POST \
     -H "Authorization: Bearer {api_key}" \
     https://rentio.ro/api/v1/reservations/55/delete
<?php
$ch = curl_init('https://rentio.ro/api/v1/reservations/55/delete');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => '',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {api_key}'],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
const res = await fetch('https://rentio.ro/api/v1/reservations/55/delete', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer {api_key}' },
});
const data = await res.json();