Skip to content
API documentation

GoSpin API

v1.0.0

GoSpin integracijų API. Per jį pasiekiami apsaugos objektų duomenys: objektai ir jų klientai, apvaikštos, leidimai, incidentai, darbo žurnalai, anketos ir objektų personalas.

https://api.gospin.lt/public/v1 — Produkcija

Try it with your key

Paste your API key and send requests right from this page. The key stays in this browser tab only and goes straight to api.gospin.lt.

Bazinis adresas

https://api.gospin.lt/public/v1

Autentikacija

Kiekvienoje užklausoje:

Authorization: Bearer <raktas>

Raktus išduoda GoSpin portalas: Nustatymai → Integracijos → API raktai.

Raktas būna tenant lygio arba objekto lygio. Tenant lygio raktas mato visus jūsų objektus, objekto lygio — tik vieną. Objekto lygio raktui kitų objektų įrašai neegzistuoja: net nurodžius jų id grąžinama 404, o ne 403.

Kiekvienas raktas turi aprėpčių rinkinį, atskirai skaitymui ir rašymui (objects:read, objects:write ir taip toliau). Kurios aprėpties reikia, nurodyta prie kiekvieno metodo.

Aprėptys:

  • objects:read
  • objects:write
  • accounts:read
  • accounts:write
  • checks:read
  • check-points:read
  • check-settings:read
  • vpass-invites:read
  • vpass-invites:write
  • tickets:read
  • tickets:write
  • object-users:read
  • surveys:read
  • survey-responses:read
  • survey-responses:write
  • log-types:read
  • log-entries:read
  • log-entries:write

Atsakymo formatas

Visi atsakymai naudoja tą patį apvalkalą. HTTP statusas sutampa su code lauku.

Vienas įrašas:

{ "data": { "id": 12, "name": "Sandėlis A" }, "status": true, "code": 200 }

Sąrašas, papildomai su puslapiavimo meta:

{
  "data": [ { "id": 12, "name": "Sandėlis A" } ],
  "meta": { "page": 1, "per_page": 50, "total": 187 },
  "status": true,
  "code": 200
}

Klaidos atveju status yra false, o message lauke grąžinamas klaidų žemėlapis pagal lauką. Su konkrečiu lauku nesusijusios klaidos rašomos po __global raktu:

{ "data": [], "message": { "name": "Privalomas laukas" }, "status": false, "code": 422 }

Naudojami statusai:

  • 200 — gerai
  • 201 — sukurta
  • 401 — nėra Authorization antraštės arba raktas negalioja
  • 403 — raktui trūksta aprėpties; taip pat kai objekto lygio raktas kreipiasi į resursą, prieinamą tik tenant lygio raktui
  • 404 — įrašo nėra arba jis nepasiekiamas šiam raktui
  • 409 — pažeistas unikalumas
  • 422 — validacijos klaida

Sąrašai

Filtruojama query parametrais. Galimi filtrai išvardyti prie kiekvieno sąrašo metodo, nedeklaruoti parametrai ignoruojami.

Puslapiuojama ?page= (nuo 1) ir ?per_page= (numatyta 50, daugiausia 200). Bendras įrašų kiekis grąžinamas meta.total, puslapių skaičius — ceil(meta.total / meta.per_page).

GET /checks?object_id=12&status=completed&page=2&per_page=100

Rikiavimas kiekvienam resursui fiksuotas (paprastai naujausi viršuje) ir nekonfigūruojamas.

Inkrementinė sinchronizacija

Kiekvienas sąrašas turi ?updated_since= filtrą: grąžinami tik po nurodyto laiko pakeisti įrašai. Išsaugokite paskutinės sėkmingos sinchronizacijos laiką ir perduokite jį kitą kartą.

GET /tickets?updated_since=2026-08-01T00:00:00Z

Laikai perduodami ir grąžinami ISO 8601 formatu (2026-08-01T14:30:00Z).

Ištrinti įrašai iš sąrašų tiesiog dingsta, todėl per updated_since jų nepamatysite. Jei reikia sekti ir pašalinimus, periodiškai perskaitykite visą sąrašą.

external_id

Kuriami resursai turi external_id lauką jūsų sistemos identifikatoriui. Įrašykite jį kurdami ir pagal jį ieškokite:

GET /tickets?external_id=CRM-4417

Prieš kurdami patikrinkite, ar toks external_id jau yra. Taip pakartotinis bandymas po nutrūkusio ryšio nesukurs dublikato.

Objektai ir klientai

Klientas (užsakovas) — accounts, objektas — objects; objektą su klientu sieja objects.account_id. Abu resursai pasiekiami tik tenant lygio raktu (objekto raktas klientų nemato, o objektų mato tik savąjį). Tipinė seka:

POST /accounts   { "name": "UAB Pavyzdys", "code": "300000001", "country": "LT",
                   "email": "[email protected]", "phone": "+37060000000" }
                 → 201 { "data": { "id": 56, ... } }

POST /objects    { "name": "Sandėlis A", "account_id": 56,
                   "address": { "address": "Pramonės g. 1, Vilnius" } }

GET  /objects?account_id=56          — kliento objektai
PATCH /objects/99 { "account_id": null }  — atsieti

account_id, rodantis į neegzistuojantį ar kito tenant'o klientą, grąžina 422. Kliento email ir phone — vienas adresas / numeris eilute. responsible_person (atsakingas GoSpin naudotojas) neprivalomas: nenurodžius priskiriamas tenant'o administratorius.

Atnaujinimas

PATCH perduodami tik keičiami laukai, neperduoti lieka nepakeisti. Laukui išvalyti perduokite null: praleistas laukas ir null nėra tas pats.

Tik skaitymo laukų (id, created_at, updated_at ir panašių) siųsti nereikia — jų rašymo schemoje nėra ir atsiuntus grąžinama 422. Tą patį grąžina ir nežinomas laukas.

Key

Informacija apie naudojamą API raktą.

GET /me

Apie raktą

Rakto pavadinimas, lygis (tenant / object), objektas (objekto raktui), efektyvios aprėptys ir galiojimas. Tinka rakto patikrai: 401 — raktas netinkamas. Aprėpties nereikia.

Responses

  • 200 Rakto informacija
  • 401 Netinkamas raktas
curl -X GET "https://api.gospin.lt/public/v1/me" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "name": "ERP integracija",
        "token_hint": "…a1b2",
        "level": "tenant",
        "object": {
            "id": 0,
            "name": "string"
        },
        "scopes": [
            "objects:read",
            "objects:write"
        ],
        "valid_to": "2026-01-01"
    },
    "status": true,
    "code": 0
}

Objektai

Saugomi objektai (teritorijos, pastatai). Objekto lygio raktas mato tik savo objektą.

GET /objects objects:read

Sąrašas: /objects

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

status query · string
Filtruoti pagal būseną active · archived
code query · string
Tikslus objekto kodas
account_id query · integer
Tik šio kliento objektai
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
q query · string
Paieška pavadinime, kode, adrese
external_id query · string
Tikslus kliento sistemos identifikatorius
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/objects" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "external_id": "string",
            "name": "string",
            "code": "string",
            "status": "active",
            "address": {
                "address": "string",
                "street": "string",
                "city": "string",
                "district": "string",
                "postal_code": "string",
                "country": "string"
            },
            "account_id": 0,
            "description": "string",
            "email": "string",
            "lat": 0,
            "lng": 0,
            "company_name": "string",
            "company_code": "string",
            "company_responsible_name": "string",
            "company_responsible_phone": "string",
            "company_responsible_email": "string",
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /objects objects:write

Sukurti: /objects

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/objects" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"string","name":"string","code":"string","status":"active","address":{"address":"string","street":"string","city":"string","district":"string","postal_code":"string","country":"string"},"account_id":0,"description":"string","email":"string","lat":0,"lng":0,"company_name":"string","company_code":"string","company_responsible_name":"string","company_responsible_phone":"string","company_responsible_email":"string"}'

Response example 201

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "status": "active",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "account_id": 0,
        "description": "string",
        "email": "string",
        "lat": 0,
        "lng": 0,
        "company_name": "string",
        "company_code": "string",
        "company_responsible_name": "string",
        "company_responsible_phone": "string",
        "company_responsible_email": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /objects/{id} objects:read

Vienas įrašas: /objects/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/objects/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "status": "active",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "account_id": 0,
        "description": "string",
        "email": "string",
        "lat": 0,
        "lng": 0,
        "company_name": "string",
        "company_code": "string",
        "company_responsible_name": "string",
        "company_responsible_phone": "string",
        "company_responsible_email": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
PATCH /objects/{id} objects:write

Atnaujinti: /objects/{id}

Perduodami tik keičiami laukai, neperduoti lieka nepakeisti.

Laukui išvalyti perduokite null: praleistas laukas ir null nėra tas pats.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Atnaujinta
  • 404 Įrašas nerastas
  • 422 Validacijos klaida — žr. message lauką
curl -X PATCH "https://api.gospin.lt/public/v1/objects/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"string","name":"string","code":"string","status":"active","address":{"address":"string","street":"string","city":"string","district":"string","postal_code":"string","country":"string"},"account_id":0,"description":"string","email":"string","lat":0,"lng":0,"company_name":"string","company_code":"string","company_responsible_name":"string","company_responsible_phone":"string","company_responsible_email":"string"}'

Response example 200

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "status": "active",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "account_id": 0,
        "description": "string",
        "email": "string",
        "lat": 0,
        "lng": 0,
        "company_name": "string",
        "company_code": "string",
        "company_responsible_name": "string",
        "company_responsible_phone": "string",
        "company_responsible_email": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
DELETE /objects/{id} objects:write

Ištrinti: /objects/{id}

Ištrina įrašą. Po to jis dingsta iš sąrašų, o kreipimasis pagal id grąžina 404.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Ištrinta
  • 404 Įrašas nerastas
curl -X DELETE "https://api.gospin.lt/public/v1/objects/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 404

{
    "data": [
        "string"
    ],
    "message": {},
    "status": false,
    "code": 422
}

Klientai

Klientai (užsakovai). Tik tenant lygio raktams — objekto raktas jų nemato.

GET /accounts accounts:read

Sąrašas: /accounts

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

code query · string
Tikslus įmonės kodas
vat_code query · string
Tikslus PVM kodas
country query · string
Šalies kodas
updated_since query · string · date-time
Tik po šio laiko keisti įrašai
q query · string
Paieška pavadinime, kode, PVM kode
external_id query · string
Tikslus kliento sistemos identifikatorius
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/accounts" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "external_id": "string",
            "name": "string",
            "code": "string",
            "vat_code": "string",
            "country": "string",
            "email": "string",
            "phone": "string",
            "address": {
                "address": "string",
                "street": "string",
                "city": "string",
                "district": "string",
                "postal_code": "string",
                "country": "string"
            },
            "description": "string",
            "director": "string",
            "responsible_person": 0,
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /accounts accounts:write

Sukurti: /accounts

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/accounts" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"string","name":"string","code":"string","vat_code":"string","country":"string","email":"string","phone":"string","address":{"address":"string","street":"string","city":"string","district":"string","postal_code":"string","country":"string"},"description":"string","director":"string","responsible_person":0}'

Response example 201

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "vat_code": "string",
        "country": "string",
        "email": "string",
        "phone": "string",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "description": "string",
        "director": "string",
        "responsible_person": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /accounts/{id} accounts:read

Vienas įrašas: /accounts/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/accounts/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "vat_code": "string",
        "country": "string",
        "email": "string",
        "phone": "string",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "description": "string",
        "director": "string",
        "responsible_person": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
PATCH /accounts/{id} accounts:write

Atnaujinti: /accounts/{id}

Perduodami tik keičiami laukai, neperduoti lieka nepakeisti.

Laukui išvalyti perduokite null: praleistas laukas ir null nėra tas pats.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Atnaujinta
  • 404 Įrašas nerastas
  • 422 Validacijos klaida — žr. message lauką
curl -X PATCH "https://api.gospin.lt/public/v1/accounts/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"string","name":"string","code":"string","vat_code":"string","country":"string","email":"string","phone":"string","address":{"address":"string","street":"string","city":"string","district":"string","postal_code":"string","country":"string"},"description":"string","director":"string","responsible_person":0}'

Response example 200

{
    "data": {
        "id": 0,
        "external_id": "string",
        "name": "string",
        "code": "string",
        "vat_code": "string",
        "country": "string",
        "email": "string",
        "phone": "string",
        "address": {
            "address": "string",
            "street": "string",
            "city": "string",
            "district": "string",
            "postal_code": "string",
            "country": "string"
        },
        "description": "string",
        "director": "string",
        "responsible_person": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
DELETE /accounts/{id} accounts:write

Ištrinti: /accounts/{id}

Ištrina įrašą. Po to jis dingsta iš sąrašų, o kreipimasis pagal id grąžina 404.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Ištrinta
  • 404 Įrašas nerastas
curl -X DELETE "https://api.gospin.lt/public/v1/accounts/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 404

{
    "data": [
        "string"
    ],
    "message": {},
    "status": false,
    "code": 422
}

Guard tours

Įvykdytos ir suplanuotos apvaikštos: laikai, trukmė, būsena ir kokybės balas.

GET /checks checks:read

Sąrašas: /checks

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
check_setting_id query · integer
Filtruoti pagal grafiką
status query · string
Būsena: planned — suplanuota, started — pradėta, completed — atlikta, not_all_points — aplankyti ne visi taškai, missed — praleista, fail — nepavyko planned · started · completed · not_all_points · missed · fail
run_type query · string
Suplanuota pagal grafiką (planned) ar neeilinė (ad_hoc) planned · ad_hoc
shift query · string
Pamaina: day — dieninė, night — naktinė day · night
started_since query · string · date-time
Prasidėjusios nuo šio laiko
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/checks" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "check_setting_id": 0,
            "status": "planned",
            "run_type": "planned",
            "shift": "day",
            "planned_start_at": "2026-01-01T00:00:00Z",
            "started_at": "2026-01-01T00:00:00Z",
            "complete_at": "2026-01-01T00:00:00Z",
            "duration_sec": 0,
            "planned_duration_sec": 0,
            "quality_score": 0,
            "close_reason": "string",
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /checks/{id} checks:read

Vienas įrašas: /checks/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/checks/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "check_setting_id": 0,
        "status": "planned",
        "run_type": "planned",
        "shift": "day",
        "planned_start_at": "2026-01-01T00:00:00Z",
        "started_at": "2026-01-01T00:00:00Z",
        "complete_at": "2026-01-01T00:00:00Z",
        "duration_sec": 0,
        "planned_duration_sec": 0,
        "quality_score": 0,
        "close_reason": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Apvaikštų taškai

Apvaikštos taškai: nuskaitymo laikas, koordinatės ir klausimų atsakymai.

GET /check-points check-points:read

Sąrašas: /check-points

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

check_id query · integer
Vienos apvaikštos taškai
object_id query · integer
Filtruoti pagal objektą
status query · string
Taško būsena: waiting — dar neaplankytas, completed — aplankytas, skip — praleistas waiting · completed · skip
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/check-points" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "check_id": 0,
            "name": "string",
            "code": "string",
            "type": "qr",
            "status": "waiting",
            "complete_at": "2026-01-01T00:00:00Z",
            "lat": 0,
            "lng": 0,
            "scan_lat": 0,
            "scan_lng": 0,
            "scan_accuracy_m": 0,
            "answers": [
                {
                    "question": "string",
                    "answer": "yes",
                    "comment": "string",
                    "is_flagged": true,
                    "ticket_id": 0
                }
            ],
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /check-points/{id} check-points:read

Vienas įrašas: /check-points/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/check-points/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "check_id": 0,
        "name": "string",
        "code": "string",
        "type": "qr",
        "status": "waiting",
        "complete_at": "2026-01-01T00:00:00Z",
        "lat": 0,
        "lng": 0,
        "scan_lat": 0,
        "scan_lng": 0,
        "scan_accuracy_m": 0,
        "answers": [
            {
                "question": "string",
                "answer": "yes",
                "comment": "string",
                "is_flagged": true,
                "ticket_id": 0
            }
        ],
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Apvaikštų grafikai

Apvaikštų grafikai: dienos, valandos ir planuota trukmė.

GET /check-settings check-settings:read

Sąrašas: /check-settings

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/check-settings" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "name": "string",
            "planned_duration_sec": 0,
            "checkpoints_must_be_in_order": true,
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /check-settings/{id} check-settings:read

Vienas įrašas: /check-settings/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/check-settings/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "planned_duration_sec": 0,
        "checkpoints_must_be_in_order": true,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Lankytojų leidimai

Lankytojų ir rangovų leidimai: kvietimas, galiojimas, būsena.

GET /vpass-invites vpass-invites:read

Sąrašas: /vpass-invites

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
vpass_category_id query · integer
Filtruoti pagal leidimo kategoriją
status query · string
Būsena: not_started — galiojimas dar neprasidėjęs, active — galiojantis, used — panaudotas, expired — pasibaigęs not_started · active · used · expired
valid_from_since query · string · date-time
Galiojantys nuo šio laiko
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
q query · string
Paieška pagal lankytojo vardą, įmonę arba automobilio valstybinį numerį
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/vpass-invites" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "vpass_category_id": 0,
            "person_name": "string",
            "person_email": "string",
            "person_phone": "string",
            "company_name": "string",
            "car_license_plate": "string",
            "trailer_license_plate": "string",
            "allow_object_zone_id": 0,
            "description": "string",
            "valid_from": "2026-01-01T00:00:00Z",
            "valid_to": "2026-01-01T00:00:00Z",
            "type": "single",
            "inform_person_by": "string",
            "vpass_type": "string",
            "status": "not_started",
            "sdid_mode": "string",
            "sdid_status": "string",
            "visitor_id": 0,
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /vpass-invites vpass-invites:write

Sukurti: /vpass-invites

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/vpass-invites" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object_id":0,"vpass_category_id":0,"person_name":"string","person_email":"string","person_phone":"string","company_name":"string","car_license_plate":"string","trailer_license_plate":"string","allow_object_zone_id":0,"description":"string","valid_from":"2026-01-01T00:00:00Z","valid_to":"2026-01-01T00:00:00Z","type":"single","inform_person_by":"string"}'

Response example 201

{
    "data": {
        "id": 0,
        "object_id": 0,
        "vpass_category_id": 0,
        "person_name": "string",
        "person_email": "string",
        "person_phone": "string",
        "company_name": "string",
        "car_license_plate": "string",
        "trailer_license_plate": "string",
        "allow_object_zone_id": 0,
        "description": "string",
        "valid_from": "2026-01-01T00:00:00Z",
        "valid_to": "2026-01-01T00:00:00Z",
        "type": "single",
        "inform_person_by": "string",
        "vpass_type": "string",
        "status": "not_started",
        "sdid_mode": "string",
        "sdid_status": "string",
        "visitor_id": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /vpass-invites/{id} vpass-invites:read

Vienas įrašas: /vpass-invites/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/vpass-invites/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "vpass_category_id": 0,
        "person_name": "string",
        "person_email": "string",
        "person_phone": "string",
        "company_name": "string",
        "car_license_plate": "string",
        "trailer_license_plate": "string",
        "allow_object_zone_id": 0,
        "description": "string",
        "valid_from": "2026-01-01T00:00:00Z",
        "valid_to": "2026-01-01T00:00:00Z",
        "type": "single",
        "inform_person_by": "string",
        "vpass_type": "string",
        "status": "not_started",
        "sdid_mode": "string",
        "sdid_status": "string",
        "visitor_id": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Incidents

Incidentai objektuose: registravimas, būsena, prioritetas ir sprendimas.

GET /tickets tickets:read

Sąrašas: /tickets

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
status query · string
Būsena: open — atviras, closed — uždarytas open · closed
priority query · string
Prioritetas: low — žemas, medium — vidutinis, high — aukštas low · medium · high
category query · string
Tikslus objekto incidentų kategorijos kodas
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
q query · string
Paieška pagal pavadinimą, aprašymą ir priežastį
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/tickets" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "name": "string",
            "category": "string",
            "priority": "low",
            "status": "open",
            "comment": "string",
            "reason": "string",
            "decision": "string",
            "contact": "string",
            "phone": "string",
            "email": "string",
            "receive_date": "2026-01-01T00:00:00Z",
            "closed_at": "2026-01-01T00:00:00Z",
            "responsible_person": 0,
            "check_id": 0,
            "lat": 0,
            "lng": 0,
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /tickets tickets:write

Sukurti: /tickets

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/tickets" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object_id":0,"name":"string","category":"string","priority":"low","status":"open","comment":"string","reason":"string","decision":"string","contact":"string","phone":"string","email":"string","receive_date":"2026-01-01T00:00:00Z","responsible_person":0,"lat":0,"lng":0}'

Response example 201

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "category": "string",
        "priority": "low",
        "status": "open",
        "comment": "string",
        "reason": "string",
        "decision": "string",
        "contact": "string",
        "phone": "string",
        "email": "string",
        "receive_date": "2026-01-01T00:00:00Z",
        "closed_at": "2026-01-01T00:00:00Z",
        "responsible_person": 0,
        "check_id": 0,
        "lat": 0,
        "lng": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /tickets/{id} tickets:read

Vienas įrašas: /tickets/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/tickets/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "category": "string",
        "priority": "low",
        "status": "open",
        "comment": "string",
        "reason": "string",
        "decision": "string",
        "contact": "string",
        "phone": "string",
        "email": "string",
        "receive_date": "2026-01-01T00:00:00Z",
        "closed_at": "2026-01-01T00:00:00Z",
        "responsible_person": 0,
        "check_id": 0,
        "lat": 0,
        "lng": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
PATCH /tickets/{id} tickets:write

Atnaujinti: /tickets/{id}

Perduodami tik keičiami laukai, neperduoti lieka nepakeisti.

Laukui išvalyti perduokite null: praleistas laukas ir null nėra tas pats.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Atnaujinta
  • 404 Įrašas nerastas
  • 422 Validacijos klaida — žr. message lauką
curl -X PATCH "https://api.gospin.lt/public/v1/tickets/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object_id":0,"name":"string","category":"string","priority":"low","status":"open","comment":"string","reason":"string","decision":"string","contact":"string","phone":"string","email":"string","receive_date":"2026-01-01T00:00:00Z","responsible_person":0,"lat":0,"lng":0}'

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "category": "string",
        "priority": "low",
        "status": "open",
        "comment": "string",
        "reason": "string",
        "decision": "string",
        "contact": "string",
        "phone": "string",
        "email": "string",
        "receive_date": "2026-01-01T00:00:00Z",
        "closed_at": "2026-01-01T00:00:00Z",
        "responsible_person": 0,
        "check_id": 0,
        "lat": 0,
        "lng": 0,
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Objekto darbuotojai

Darbuotojų (apsaugininkų, operatorių, administratorių) priskyrimai objektams.

GET /object-users object-users:read

Sąrašas: /object-users

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
user_id query · integer
Filtruoti pagal naudotoją
type query · string
Vaidmuo objekte: guard — apsaugininkas, operator — operatorius, administrator — administratorius, validator — tvirtintojas, auditor — auditorius guard · operator · administrator · validator · auditor
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/object-users" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "user_id": 0,
            "account_id": 0,
            "type": "guard",
            "valid_from": "2026-01-01T00:00:00Z",
            "valid_to": "2026-01-01T00:00:00Z",
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /object-users/{id} object-users:read

Vienas įrašas: /object-users/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/object-users/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "user_id": 0,
        "account_id": 0,
        "type": "guard",
        "valid_from": "2026-01-01T00:00:00Z",
        "valid_to": "2026-01-01T00:00:00Z",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Anketos

Apklausos (anketos) su klausimais. Naudojamos apvaikštose, leidimuose ir kioske.

GET /surveys surveys:read

Sąrašas: /surveys

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
status query · string
Būsena: active — aktyvi, inactive — neaktyvi active · inactive
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
q query · string
Paieška pagal anketos pavadinimą ir aprašymą
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/surveys" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "name": "string",
            "description": "string",
            "status": "active",
            "display_mode": "single",
            "require_signature": true,
            "questions": [
                {
                    "id": 0,
                    "type": "string",
                    "question_text": "string",
                    "note": "string",
                    "is_required": true,
                    "allow_comment": true,
                    "sort_order": 0,
                    "options": [
                        {
                            "id": 0,
                            "option_text": "string",
                            "score": 0,
                            "sort_order": 0
                        }
                    ]
                }
            ],
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /surveys/{id} surveys:read

Vienas įrašas: /surveys/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/surveys/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "description": "string",
        "status": "active",
        "display_mode": "single",
        "require_signature": true,
        "questions": [
            {
                "id": 0,
                "type": "string",
                "question_text": "string",
                "note": "string",
                "is_required": true,
                "allow_comment": true,
                "sort_order": 0,
                "options": [
                    {
                        "id": 0,
                        "option_text": "string",
                        "score": 0,
                        "sort_order": 0
                    }
                ]
            }
        ],
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Anketų atsakymai

Apklausų užpildymai: kas, kada, kokie atsakymai ir surinkti balai.

GET /survey-responses survey-responses:read

Sąrašas: /survey-responses

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
survey_id query · integer
Filtruoti pagal anketą
user_id query · integer
Filtruoti pagal anketą pildžiusį naudotoją
completed_since query · string · date-time
Užpildyti nuo šio laiko
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/survey-responses" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "survey_id": 0,
            "user_id": 0,
            "status": "string",
            "started_at": "2026-01-01T00:00:00Z",
            "completed_at": "2026-01-01T00:00:00Z",
            "total_score": 0,
            "max_score": 0,
            "score_percent": 0,
            "signed_by": "string",
            "answers": [
                {
                    "question_id": 0,
                    "value": "string",
                    "option_id": 0,
                    "score": 0,
                    "comment": "string"
                }
            ],
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /survey-responses survey-responses:write

Sukurti: /survey-responses

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/survey-responses" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Response example 201

{
    "data": {
        "id": 0,
        "object_id": 0,
        "survey_id": 0,
        "user_id": 0,
        "status": "string",
        "started_at": "2026-01-01T00:00:00Z",
        "completed_at": "2026-01-01T00:00:00Z",
        "total_score": 0,
        "max_score": 0,
        "score_percent": 0,
        "signed_by": "string",
        "answers": [
            {
                "question_id": 0,
                "value": "string",
                "option_id": 0,
                "score": 0,
                "comment": "string"
            }
        ],
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /survey-responses/{id} survey-responses:read

Vienas įrašas: /survey-responses/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/survey-responses/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "survey_id": 0,
        "user_id": 0,
        "status": "string",
        "started_at": "2026-01-01T00:00:00Z",
        "completed_at": "2026-01-01T00:00:00Z",
        "total_score": 0,
        "max_score": 0,
        "score_percent": 0,
        "signed_by": "string",
        "answers": [
            {
                "question_id": 0,
                "value": "string",
                "option_id": 0,
                "score": 0,
                "comment": "string"
            }
        ],
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Žurnalų tipai

Žurnalų tipai (šablonai) su jų laukų schema. Reikšmės — log-entries.

GET /log-types log-types:read

Sąrašas: /log-types

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/log-types" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "name": "string",
            "icon": "string",
            "color": "string",
            "fields": [
                {
                    "name": "string",
                    "label": "string",
                    "type": "string",
                    "choices": [
                        {
                            "value": "string",
                            "label": "string"
                        }
                    ]
                }
            ],
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
GET /log-types/{id} log-types:read

Vienas įrašas: /log-types/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/log-types/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "name": "string",
        "icon": "string",
        "color": "string",
        "fields": [
            {
                "name": "string",
                "label": "string",
                "type": "string",
                "choices": [
                    {
                        "value": "string",
                        "label": "string"
                    }
                ]
            }
        ],
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}

Žurnalų įrašai

Žurnalų įrašai. Laukų raktus žr. log-types resurse.

GET /log-entries log-entries:read

Sąrašas: /log-entries

Puslapiuojama ?page= ir ?per_page= (numatyta 50, daugiausia 200), bendras kiekis — meta.total. Inkrementinei sinchronizacijai naudokite ?updated_since=.

Parameters

object_id query · integer
Filtruoti pagal objektą
log_type_id query · integer
Vieno žurnalo įrašai
status query · string
Tiksli įrašo būsena (reikšmės priklauso nuo žurnalo tipo)
created_since query · string · date-time
Įrašyti nuo šio laiko
updated_since query · string · date-time
Tik po šio laiko keisti įrašai (inkrementinei sinchronizacijai)
page query · integer
Puslapio numeris (nuo 1)
per_page query · integer
Įrašų puslapyje

Responses

  • 200 Sąrašas
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
curl -X GET "https://api.gospin.lt/public/v1/log-entries" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": [
        {
            "id": 0,
            "object_id": 0,
            "log_type_id": 0,
            "status": "string",
            "answers": {},
            "answers_text": "string",
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 50,
        "total": 187
    },
    "status": true,
    "code": 200
}
POST /log-entries log-entries:write

Sukurti: /log-entries

Sukuria naują įrašą. Tik skaitymo laukų (id, created_at, updated_at) siųsti nereikia, jų užklausos schemoje nėra ir atsiuntus grąžinama 422.

Kad pakartotinis bandymas po nutrūkusio ryšio nesukurtų dublikato, įrašykite savo external_id ir prieš kurdami patikrinkite GET su ?external_id=.

Responses

  • 201 Sukurta
  • 401 Nėra arba negalioja API raktas
  • 403 Raktui trūksta aprėpties arba resursas neprieinamas šiam raktui
  • 422 Validacijos klaida — žr. message lauką
curl -X POST "https://api.gospin.lt/public/v1/log-entries" \
  -H "Authorization: Bearer $GOSPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object_id":0,"log_type_id":0,"status":"string","answers":{}}'

Response example 201

{
    "data": {
        "id": 0,
        "object_id": 0,
        "log_type_id": 0,
        "status": "string",
        "answers": {},
        "answers_text": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
GET /log-entries/{id} log-entries:read

Vienas įrašas: /log-entries/{id}

Grąžina vieną įrašą pagal id.

Objekto lygio raktui kito objekto įrašas neegzistuoja: grąžinama 404, o ne 403.

Parameters

id required path · integer
Įrašo ID

Responses

  • 200 Entry
  • 404 Įrašas nerastas
curl -X GET "https://api.gospin.lt/public/v1/log-entries/12" \
  -H "Authorization: Bearer $GOSPIN_API_KEY"

Response example 200

{
    "data": {
        "id": 0,
        "object_id": 0,
        "log_type_id": 0,
        "status": "string",
        "answers": {},
        "answers_text": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
    },
    "message": [
        "string"
    ],
    "status": true,
    "code": 200
}
Demo

Ready to leave paper logs behind?

We’ll show you GoSpin live and tailor it to your sites. No-obligation demo.

  • We respond within 1–2 business days
  • Demo ~30 min, remote
  • After the call — a quote for your sites