Pređi na sadržaj

Referenca

Obveznici i prodajna mesta

Identifikatori obveznika i poslovnog prostora koje svaki fiskalni zahtev nosi. Kreiraju se u portalu, API ih čita.

4 operacija

Lista obveznika

get/v1/taxpayers

Scope tenant:read

Obveznici (pravna lica) organizacije kojoj kredencijal pripada, samo u okruženju kredencijala: sandbox ključ vidi sandbox obveznike, produkcioni produkcione.

Beleške iz ugovora (OpenAPI, engleski)

Scoped to the caller's environment: a machine credential sees only the taxpayers of its own environment, a portal user sees both unless the organization hides its sandbox data.

Primer

GET /v1/taxpayers
curl -X GET "https://api.bokapos.rs/v1/taxpayers" \
  -H "Authorization: Bearer $BOKAPOS_TOKEN"

Odgovori

listTaxpayers: Odgovori
200 OKTaxpayersTaxpayerPage
400 Bad RequestThe command violates a Boka or fiscal ruleErrorCode
200 OK
{
  "items": [
    {
      "id": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
      "taxIdentifier": "115711881",
      "legalName": "BOKA GROUP DOO",
      "environment": "sandbox",
      "status": "active",
      "registrationNumber": "22196456",
      "address": "Roze Luksemburg 16",
      "city": "Beograd",
      "municipality": "Rakovica",
      "activityCode": "6201",
      "activityName": "Računarsko programiranje",
      "vatStatus": "in_vat",
      "createdAt": "2026-08-21T09:00:00.000Z",
      "updatedAt": "2026-08-21T09:00:00.000Z"
    }
  ]
}
Odgovor: TaxpayerPage

Opisi polja su preuzeti iz OpenAPI ugovora i na engleskom su; nazivi polja i vrednosti su isti u oba jezika.

listTaxpayers: Odgovor
PoljeTipOpis
itemsobaveznoarray<Taxpayer>
idobaveznouuid
taxIdentifierobaveznostring

pattern ^[0-9]{9}$

legalNameobaveznostring
environmentobaveznoFiscalEnvironmentThe Stripe-style fiscal environment. Machine credentials carry exactly one environment and may only use security elements of that environment; sandbox elements are BOKA-assigned and route to the TaxCore sandbox, production elements are the customer's own. Taxpayers and business premises carry the environment too: the BOKA sandbox taxpayer and premise created by a pool assignment are sandbox, everything a human registers is production, and setup registered by a machine credential belongs to that credential's environment. A premise inherits its taxpayer's environment and a security element can only be bound to a premise of its own.

sandboxproductionVrednosti

statusobaveznostring

activesuspendedclosedVrednosti

registrationNumberopcionostring| null (može biti null)Serbian registration number (matični broj), usually prefilled from the company registry lookup.

pattern ^[0-9]{8}$

addressopcionostring| null (može biti null)

max 300

cityopcionostring| null (može biti null)

max 100

municipalityopcionostring| null (može biti null)

max 100

activityCodeopcionostring| null (može biti null)

pattern ^[0-9]{4}$

activityNameopcionostring| null (može biti null)

max 150

vatStatusopcionostring| null (može biti null)Owner-declared VAT status. not_in_vat restricts every fiscal command to the non-VAT tax label (category N-TAX, label А in production); null means not declared and restricts nothing.

in_vatnot_in_vatVrednosti

createdAtobaveznodate-time
updatedAtobaveznodate-time

Pročitaj obveznika

get/v1/taxpayers/{taxpayerId}

Scope tenant:read

Jedan obveznik sa PIB-om, statusom i PDV statusom.

Parametri

getTaxpayer: Parametri
PoljeGdeTipOpis
taxpayerIdobaveznopathuuid

Primer

GET /v1/taxpayers/{taxpayerId}
curl -X GET "https://api.bokapos.rs/v1/taxpayers/3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11" \
  -H "Authorization: Bearer $BOKAPOS_TOKEN"

Odgovori

getTaxpayer: Odgovori
200 OKTaxpayerTaxpayer
404 Not FoundResource does not exist within the authenticated tenant scopeErrorCode
200 OK
{
  "id": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
  "taxIdentifier": "115711881",
  "legalName": "BOKA GROUP DOO",
  "environment": "sandbox",
  "status": "active",
  "registrationNumber": "22196456",
  "address": "Roze Luksemburg 16",
  "city": "Beograd",
  "municipality": "Rakovica",
  "activityCode": "6201",
  "activityName": "Računarsko programiranje",
  "vatStatus": "in_vat",
  "createdAt": "2026-08-21T09:00:00.000Z",
  "updatedAt": "2026-08-21T09:00:00.000Z"
}
Odgovor: Taxpayer

Opisi polja su preuzeti iz OpenAPI ugovora i na engleskom su; nazivi polja i vrednosti su isti u oba jezika.

getTaxpayer: Odgovor
PoljeTipOpis
idobaveznouuid
taxIdentifierobaveznostring

pattern ^[0-9]{9}$

legalNameobaveznostring
environmentobaveznoFiscalEnvironmentThe Stripe-style fiscal environment. Machine credentials carry exactly one environment and may only use security elements of that environment; sandbox elements are BOKA-assigned and route to the TaxCore sandbox, production elements are the customer's own. Taxpayers and business premises carry the environment too: the BOKA sandbox taxpayer and premise created by a pool assignment are sandbox, everything a human registers is production, and setup registered by a machine credential belongs to that credential's environment. A premise inherits its taxpayer's environment and a security element can only be bound to a premise of its own.

sandboxproductionVrednosti

statusobaveznostring

activesuspendedclosedVrednosti

registrationNumberopcionostring| null (može biti null)Serbian registration number (matični broj), usually prefilled from the company registry lookup.

pattern ^[0-9]{8}$

addressopcionostring| null (može biti null)

max 300

cityopcionostring| null (može biti null)

max 100

municipalityopcionostring| null (može biti null)

max 100

activityCodeopcionostring| null (može biti null)

pattern ^[0-9]{4}$

activityNameopcionostring| null (može biti null)

max 150

vatStatusopcionostring| null (može biti null)Owner-declared VAT status. not_in_vat restricts every fiscal command to the non-VAT tax label (category N-TAX, label А in production); null means not declared and restricts nothing.

in_vatnot_in_vatVrednosti

createdAtobaveznodate-time
updatedAtobaveznodate-time

Lista prodajnih mesta

get/v1/taxpayers/{taxpayerId}/business-premises

Scope tenant:read

Prodajna mesta obveznika (poslovni prostori Poreske uprave). Svako ima svoj bezbednosni element i režim plaćanja.

Parametri

listBusinessPremises: Parametri
PoljeGdeTipOpis
taxpayerIdobaveznopathuuid

Primer

GET /v1/taxpayers/{taxpayerId}/business-premises
curl -X GET "https://api.bokapos.rs/v1/taxpayers/3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11/business-premises" \
  -H "Authorization: Bearer $BOKAPOS_TOKEN"

Odgovori

listBusinessPremises: Odgovori
200 OKPremisesBusinessPremisePage
400 Bad RequestThe command violates a Boka or fiscal ruleErrorCode
200 OK
{
  "items": [
    {
      "id": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
      "taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
      "puIdentifier": "1234567",
      "name": "Web shop",
      "commerceMode": "distance",
      "environment": "sandbox",
      "paymentMode": "all",
      "status": "active",
      "createdAt": "2026-08-21T09:05:00.000Z",
      "updatedAt": "2026-08-21T09:05:00.000Z"
    }
  ]
}
Odgovor: BusinessPremisePage

Opisi polja su preuzeti iz OpenAPI ugovora i na engleskom su; nazivi polja i vrednosti su isti u oba jezika.

listBusinessPremises: Odgovor
PoljeTipOpis
itemsobaveznoarray<BusinessPremise>
idobaveznouuid
taxpayerIdobaveznouuid
puIdentifierobaveznostring
nameobaveznostring
commerceModeobaveznoconst "distance"
environmentobaveznoFiscalEnvironmentThe Stripe-style fiscal environment. Machine credentials carry exactly one environment and may only use security elements of that environment; sandbox elements are BOKA-assigned and route to the TaxCore sandbox, production elements are the customer's own. Taxpayers and business premises carry the environment too: the BOKA sandbox taxpayer and premise created by a pool assignment are sandbox, everything a human registers is production, and setup registered by a machine credential belongs to that credential's environment. A premise inherits its taxpayer's environment and a security element can only be bound to a premise of its own.

sandboxproductionVrednosti

paymentModeobaveznoPremisePaymentModePer-premise payment mode. The official rule is that one installation works either with every payment type or only with the restricted set (OTHER, CASH, WIRE_TRANSFER, VOUCHER). A payment outside the premise's set is refused with 422 PAYMENT_TYPE_NOT_ALLOWED_ON_PREMISE before any fiscal reservation, on every kind and transaction type.

allrestricteddefault "all"Vrednosti

statusobaveznostring

activesuspendedclosedVrednosti

createdAtobaveznodate-time
updatedAtobaveznodate-time

Pročitaj prodajno mesto

get/v1/taxpayers/{taxpayerId}/business-premises/{businessPremiseId}

Scope tenant:read

Jedno prodajno mesto sa PU identifikatorom, režimom plaćanja i statusom.

Parametri

getBusinessPremise: Parametri
PoljeGdeTipOpis
taxpayerIdobaveznopathuuid
businessPremiseIdobaveznopathuuid

Primer

GET /v1/taxpayers/{taxpayerId}/business-premises/{businessPremiseId}
curl -X GET "https://api.bokapos.rs/v1/taxpayers/3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11/business-premises/b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22" \
  -H "Authorization: Bearer $BOKAPOS_TOKEN"

Odgovori

getBusinessPremise: Odgovori
200 OKBusiness premiseBusinessPremise
404 Not FoundResource does not exist within the authenticated tenant scopeErrorCode
200 OK
{
  "id": "b7d4e2c1-9a3f-4c8e-8f21-6e5a0c9d3b22",
  "taxpayerId": "3f9c2a8e-6b1d-4e5a-9c47-1d2b8e6f0a11",
  "puIdentifier": "1234567",
  "name": "Web shop",
  "commerceMode": "distance",
  "environment": "sandbox",
  "paymentMode": "all",
  "status": "active",
  "createdAt": "2026-08-21T09:05:00.000Z",
  "updatedAt": "2026-08-21T09:05:00.000Z"
}
Odgovor: BusinessPremise

Opisi polja su preuzeti iz OpenAPI ugovora i na engleskom su; nazivi polja i vrednosti su isti u oba jezika.

getBusinessPremise: Odgovor
PoljeTipOpis
idobaveznouuid
taxpayerIdobaveznouuid
puIdentifierobaveznostring
nameobaveznostring
commerceModeobaveznoconst "distance"
environmentobaveznoFiscalEnvironmentThe Stripe-style fiscal environment. Machine credentials carry exactly one environment and may only use security elements of that environment; sandbox elements are BOKA-assigned and route to the TaxCore sandbox, production elements are the customer's own. Taxpayers and business premises carry the environment too: the BOKA sandbox taxpayer and premise created by a pool assignment are sandbox, everything a human registers is production, and setup registered by a machine credential belongs to that credential's environment. A premise inherits its taxpayer's environment and a security element can only be bound to a premise of its own.

sandboxproductionVrednosti

paymentModeobaveznoPremisePaymentModePer-premise payment mode. The official rule is that one installation works either with every payment type or only with the restricted set (OTHER, CASH, WIRE_TRANSFER, VOUCHER). A payment outside the premise's set is refused with 422 PAYMENT_TYPE_NOT_ALLOWED_ON_PREMISE before any fiscal reservation, on every kind and transaction type.

allrestricteddefault "all"Vrednosti

statusobaveznostring

activesuspendedclosedVrednosti

createdAtobaveznodate-time
updatedAtobaveznodate-time