Jurisdictions API

Browse available jurisdictions and their products

Jurisdictions represent the countries and regions where you can incorporate entities. Each jurisdiction offers different products (entity types) with their own requirements, pricing, and document requirements.

Jurisdiction Object

Jurisdiction Object
{
  "id": "jur_uae",
  "name": "United Arab Emirates",
  "slug": "uae",
  "country_code": "AE",
  "description": "Business-friendly jurisdiction with multiple free zones",
  "features": [
    "0% corporate tax",
    "100% foreign ownership",
    "No currency restrictions"
  ],
  "products_count": 5,
  "active": true
}

Product Object

Product Object
{
  "id": "prod_freezone",
  "jurisdiction_id": "jur_uae",
  "jurisdiction_product_id": "jp_xyz789",
  "name": "Freezone Company",
  "slug": "freezone-company",
  "description": "Limited liability company in a UAE free zone",
  "entity_type": "llc",
  "price": {
    "amount": 5000,
    "currency": "USD"
  },
  "timeline": "2-3 weeks",
  "features": [
    "100% foreign ownership",
    "No minimum capital",
    "Visa eligibility"
  ],
  "required_documents": [
    {
      "document_type": "passport",
      "name": "Passport Copy",
      "description": "Clear copy of passport bio page",
      "required": true
    }
  ]
}

Endpoints

Typical Workflow

Here's a typical workflow for creating an entity using the Jurisdictions API:

1

List jurisdictions

Browse available jurisdictions to find the right one for your needs.

2

Get products for jurisdiction

View available entity types and their requirements.

3

Note the jurisdiction_product_id

This ID is required when creating an entity.

4

Create entity

Use POST /entities with the jurisdiction_product_id.

5

Upload required documents

Use the required_documents list to know what to upload.

Complete Workflow Example
// 1. Get products for UAE
const products = await fetch('/api/v1/jurisdictions/uae/products', {
  headers: { 'Authorization': 'Bearer sk_live_...' }
}).then(r => r.json());

// 2. Find the freezone product
const freezone = products.data.find(p => p.slug === 'freezone-company');
console.log('Required documents:', freezone.required_documents);

// 3. Create entity with the jurisdiction_product_id
const entity = await fetch('/api/v1/entities', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk_live_...',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    jurisdiction_product_id: freezone.jurisdiction_product_id,
    name: 'My Company LLC'
  })
}).then(r => r.json());

console.log('Created entity:', entity.data.id);