Skip to content

Get a tax regime

The knowledge.regimes.get operation: GET /api/v1/tax/knowledge/regimes/{id} in the REST API and the knowledge_regimes_get tool in the MCP server.

GET/api/v1/tax/knowledge/regimes/{id}

Returns one regime of the Jurisdiction Knowledge Base as loaded, by ID (HR_DOMESTIC, EU_OSS_UNION, US_SALES_TAX:TX), with the sources its evidence map cites and the playbooks for registering and filing under it (without their text; read one with knowledge.playbooks.get).

At a glance

  • REST: GET /api/v1/tax/knowledge/regimes/{id}
  • MCP tool: knowledge_regimes_get
  • Operation ID: knowledge.regimes.get
  • Scope: Platform
  • Permission: tax_knowledge:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Authentication: API key with the tax_knowledge:read scope
  • Since: M3

Request

Path parameters

FieldTypeDescription
idstring

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

FieldTypeDescription
idstring
object"regime"
versionstring
namestring
jurisdictionIdsarray of string
appliesToobject
appliesTo.sellerEstablishmentone of in, outside, any, in_eu_other_ms, outside_eu
appliesTo.customerTypeone of b2c, b2b, both
appliesTo.taxCategoriesarray of string
thresholdobject
threshold.amountobject
threshold.amount.amountinteger string
threshold.amount.currencystring
threshold.measureone of sales_in_jurisdiction, eu_cross_border_b2c, worldwide_turnover, transactions_in_jurisdiction, sales_or_transactions
threshold.windowone of calendar_year_current_or_previous, rolling_12_months, calendar_year_previous, base_period_two_years_prior, current_or_previous_12_months
threshold.transactionCountinteger
threshold.whatCountsstring
threshold.amountInclusiveboolean
zeroThresholdboolean
graceobject
grace.ruleone of none, days_after_trigger, nth_day_of_following_month, before_first_sale, end_of_following_month
grace.daysinteger
grace.nthDayinteger
grace.effectiveFromstring
collectBeforeRegistrationboolean
b2bReverseChargeNoRegistrationboolean
b2bChargeWhenRegisteredboolean
roundingone of half_up, half_even, half_down, up, down
requiresFiscalRepresentativeboolean
requiresLocalAgentboolean
securityDepositstring
evidenceobject
evidence.requiredNonConflictinginteger
evidence.acceptedTypesarray of one of billing_address, ip_country, card_bin_country, bank_country, phone_country, self_declared
evidence.conflictPolicyone of majority, billing_address_wins, hold_for_review
supplyRulesarray of object
supplyRules[].taxCategoryIdstring
supplyRules[].customerTypeone of b2c, b2b, both
supplyRules[].placeOfSupplyone of customer_location, supplier_establishment, not_supported
registrationobject
registration.methodstring
registration.portalUrlstring
registration.identityRequirementsstring
registration.typicalProcessingDaysinteger
registration.prerequisitesarray of object
registration.prerequisites[].codestring
registration.prerequisites[].descriptionstring
registration.prerequisites[].leadTimeDaysinteger
registration.packetFieldsarray of object
registration.packetFields[].labelstring
registration.packetFields[].ownrecordFieldstring
registration.packetFields[].requiredboolean
registration.packetFields[].notesstring
registration.playbookIdstring
filingSpecIdstring
validFromstring
validTostring
metaobject
meta.statusone of researched, cross_checked, reviewed, verified, retired
meta.fixtureboolean
meta.confidenceone of high, medium, low
meta.sourceIdsarray of string
meta.openQuestionsinteger (at least 0)
meta.unsupportedRulesinteger (at least 0)
meta.blockingUnsupportedRulesinteger (at least 0)
meta.reviewedBystring
meta.reviewedAtstring
meta.verifiedBystring
meta.verifiedAtstring
meta.nextReviewBystring
meta.knowledgeRefobject
meta.knowledgeRef.pathstring
meta.knowledgeRef.commitstring
sourcesarray of object
sources[].idstring
sources[].urlstring
sources[].titlestring
sources[].publisherstring
sources[].typestring
sources[].retrievedAtstring
sources[].monitorboolean
playbooksarray of object
playbooks[].idstring
playbooks[].object"playbook"
playbooks[].keystring
playbooks[].jurisdictionIdstring
playbooks[].regimeIdstring
playbooks[].kindone of registration, filing, deregistration, other
playbooks[].titlestring
playbooks[].metaobject
playbooks[].meta.statusone of researched, cross_checked, reviewed, verified, retired
playbooks[].meta.fixtureboolean
playbooks[].meta.confidenceone of high, medium, low
playbooks[].meta.sourceIdsarray of string
playbooks[].meta.openQuestionsinteger (at least 0)
playbooks[].meta.unsupportedRulesinteger (at least 0)
playbooks[].meta.blockingUnsupportedRulesinteger (at least 0)
playbooks[].meta.reviewedBystring
playbooks[].meta.reviewedAtstring
playbooks[].meta.verifiedBystring
playbooks[].meta.verifiedAtstring
playbooks[].meta.nextReviewBystring
playbooks[].meta.knowledgeRefobject
playbooks[].meta.knowledgeRef.pathstring
playbooks[].meta.knowledgeRef.commitstring

Examples

Croatian domestic VAT

HTTP
GET /api/v1/tax/knowledge/regimes/HR_DOMESTIC
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "id": "HR_DOMESTIC",
  "object": "regime",
  "version": "6f1d2a9c0b3e4d58",
  "name": "Croatian VAT (domestic)",
  "jurisdictionIds": ["HR"],
  "appliesTo": {
    "sellerEstablishment": "in",
    "customerType": "both"
  },
  "threshold": {
    "amount": {
      "amount": "60000000000",
      "currency": "EUR"
    },
    "measure": "sales_in_jurisdiction",
    "window": "calendar_year_current_or_previous"
  },
  "zeroThreshold": false,
  "grace": {
    "rule": "days_after_trigger",
    "days": 8
  },
  "collectBeforeRegistration": false,
  "b2bReverseChargeNoRegistration": false,
  "b2bChargeWhenRegistered": false,
  "rounding": "half_up",
  "requiresFiscalRepresentative": false,
  "requiresLocalAgent": false,
  "evidence": {
    "requiredNonConflicting": 1,
    "conflictPolicy": "billing_address_wins"
  },
  "supplyRules": [
    {
      "taxCategoryId": "saas",
      "customerType": "both",
      "placeOfSupply": "supplier_establishment"
    }
  ],
  "registration": {
    "method": "online",
    "portalUrl": "https://e-porezna.porezna-uprava.hr",
    "prerequisites": [
      {
        "code": "oib",
        "description": "A Croatian personal identification number (OIB)"
      }
    ],
    "packetFields": [
      {
        "label": "Legal name",
        "ownrecordField": "entity.legalName",
        "required": true
      }
    ],
    "playbookId": "HR/playbooks/HR_DOMESTIC-registration.md"
  },
  "validFrom": "2013-07-01",
  "meta": {
    "status": "reviewed",
    "fixture": false,
    "confidence": "high",
    "sourceIds": ["HR:S1", "HR:S4"],
    "openQuestions": 0,
    "unsupportedRules": 0,
    "blockingUnsupportedRules": 0,
    "reviewedBy": "Ana Horvat",
    "reviewedAt": "2026-10-10",
    "nextReviewBy": "2027-04-13",
    "knowledgeRef": {
      "path": "data/tax/knowledge/jurisdictions/HR/regimes/HR_DOMESTIC.yaml",
      "commit": "1c14b2ec912aca347dd518b2044096f3b5d8eef1"
    }
  },
  "sources": [
    {
      "id": "HR:S1",
      "url": "https://narodne-novine.nn.hr/clanci/sluzbeni/2013_06_73_1451.html",
      "title": "Value Added Tax Act (Zakon o porezu na dodanu vrijednost)",
      "publisher": "Narodne novine",
      "type": "law",
      "retrievedAt": "2026-10-13",
      "monitor": true
    }
  ],
  "playbooks": [
    {
      "id": "kn_01m4ttwd3veh9apbewxheq5xhc",
      "object": "playbook",
      "key": "HR/playbooks/HR_DOMESTIC-registration.md",
      "jurisdictionId": "HR",
      "regimeId": "HR_DOMESTIC",
      "kind": "registration",
      "title": "Register for VAT in Croatia",
      "meta": {
        "status": "reviewed",
        "fixture": false,
        "confidence": "high",
        "sourceIds": ["HR:S1", "HR:S4"],
        "openQuestions": 0,
        "unsupportedRules": 0,
        "blockingUnsupportedRules": 0,
        "reviewedBy": "Ana Horvat",
        "reviewedAt": "2026-10-10",
        "nextReviewBy": "2027-04-13",
        "knowledgeRef": {
          "path": "data/tax/knowledge/jurisdictions/HR/playbooks/HR_DOMESTIC-registration.md",
          "commit": "1c14b2ec912aca347dd518b2044096f3b5d8eef1"
        }
      }
    }
  ]
}

Errors

CodeHTTP statusWhenWhat to do
resource_not_found404No regime with this ID is loaded.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
validation_failed400The ID isn't a regime ID.Fix the fields listed in details.issues and send the request again.
permission_denied403Your credentials can't read tax knowledge.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.