---
title: "Fetch a business"
canonical_url: "https://twominutebilling.com/help/developers/api-reference/businesses/fetch-a-business"
---
# Fetch a business

<api-operation method="GET" path="/v1/businesses/{biz}">
<template v-slot:docs="">

## Path parameters

<table>
<thead>
  <tr>
    <th>
      Parameter
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Required
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        biz
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      <strong>
        yes
      </strong>
    </td>
    
    <td>
      Business id (biz_…)
    </td>
  </tr>
</tbody>
</table>

## Response

<table>
<thead>
  <tr>
    <th>
      Field
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        usage_close_delay_minutes
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      Extra minutes before a period's usage closes, for apps that buffer events. Usage closes about 6 minutes after the period ends plus this wait, never more than 30 minutes.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The object type.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        id
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The business's id (biz_…).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        name
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The business's name.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        livemode
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      <code>
        live
      </code>
      
       for a live business, <code>
        test
      </code>
      
       for a test business. One of <code>
        live
      </code>
      
      , <code>
        test
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        live_business_id
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      On a test business: the id of its live mode. Null on a live business.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        test_business_id
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      On a live business: the id of its test mode. Null until test mode is first opened for a business created before test modes existed — POST /v1/businesses/{biz}/test_mode creates it.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        default_currency
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The business's default currency (ISO-4217 code).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        currencies
      </code>
    </td>
    
    <td>
      <code>
        array of string
      </code>
    </td>
    
    <td>
      Currencies this business transacts in; null = unrestricted.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        exchange_rates
      </code>
    </td>
    
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      The raw rate map: 1 default_currency = rate × key currency. Kept as numbers for the consumers that already read it; <code>
        currency_rates
      </code>
      
       below is the same rates with their provenance and is the one to prefer.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        currency_rates
      </code>
    </td>
    
    <td>
      <code>
        array of object
      </code>
    </td>
    
    <td>
      Per-currency rate + provenance (one row per configured currency, excluding the business's own default, which is 1 by definition). This is what a currency-settings screen needs: whether the rate is maintained by hand or refreshed from a provider, when the rate being held was PUBLISHED, and why the last refresh failed if it did.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        week_start
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      First day of the reporting week. Default <code>
        sunday
      </code>
      
      . One of <code>
        sunday
      </code>
      
      , <code>
        monday
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fiscal_year_start_month
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      Month (1–12) the fiscal year starts in; default 1 (the calendar year). Fiscal years are named by the year they end in.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        status
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The business's status.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        portal_field_config
      </code>
    </td>
    
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      The buyer portal's field matrix, resolved: every key present, tax-locked keys already mandatory.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        address_field_locks
      </code>
    </td>
    
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      Address keys the business's live tax setup forces to mandatory on checkout and portal. The settings refuse any other state for them.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        team_alerts_config
      </code>
    </td>
    
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      Team alerts. Each alert sends only when it is enabled and <code>
        recipients
      </code>
      
       has at least one address. Mail comes from the platform sender, not from the business mail settings.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        created_at
      </code>
    </td>
    
    <td>
      <code>
        string · ISO-8601
      </code>
    </td>
    
    <td>
      When the business was created (ISO-8601 UTC).
    </td>
  </tr>
</tbody>
</table>

## Status codes

<table>
<thead>
  <tr>
    <th>
      Status
    </th>
    
    <th>
      Meaning
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        200
      </code>
    </td>
    
    <td>
      Success
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        404
      </code>
    </td>
    
    <td>
      No such business
    </td>
  </tr>
</tbody>
</table>
</template>

<template v-slot:request="">

```bash [Request]
curl "$TMBILLING_URL/v1/businesses/biz_XXXXXXXXXXXX01" \
  -H "Authorization: Bearer $TMBILLING_API_KEY"
```

</template>

<template v-slot:response="">
<code-group>

```json [200 OK]
{
  "usage_close_delay_minutes": 1,
  "object": "business",
  "id": "biz_XXXXXXXXXXXX01",
  "name": "Brightwater Analytics",
  "livemode": "live",
  "live_business_id": "biz_XXXXXXXXXXXX01",
  "test_business_id": "biz_XXXXXXXXXXXX01",
  "default_currency": "USD",
  "currencies": [
    "USD"
  ],
  "exchange_rates": {
    "EUR": 0.92
  },
  "currency_rates": [
    {
      "object": "currency_rate",
      "currency": "INR",
      "rate": "0.920000",
      "source": "manual",
      "updated_at": "2026-03-14T09:30:00Z",
      "provider": "ecb"
    }
  ],
  "week_start": "sunday",
  "fiscal_year_start_month": 1,
  "status": "active",
  "portal_field_config": {},
  "address_field_locks": {
    "country": false,
    "state_code": false
  },
  "team_alerts_config": {
    "recipients": [
      "maya@example.com"
    ],
    "overdue": {
      "enabled": false,
      "thresholds": {}
    },
    "webhook_failures": {
      "enabled": false
    },
    "daily_digest": {
      "enabled": false
    },
    "large_grants": {
      "enabled": false
    }
  },
  "created_at": "2026-03-14T09:30:00Z"
}
```

```json [404 Not Found]
{
  "error": {
    "type": "invalid_request_error",
    "message": "No such business"
  }
}
```

</code-group>
</template>
</api-operation>


## Sitemap

See the full [sitemap](https://twominutebilling.com/sitemap.md) for all pages.
