> For the complete documentation index, see [llms.txt](https://teamleader-sdk.mcore-services.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://teamleader-sdk.mcore-services.dev/api-reference/crm/business-types.md).

# Business Types

Get business types (legal structures) for companies in specific countries.

```php
Teamleader::businessTypes()
```

|                          |                                                           |
| ------------------------ | --------------------------------------------------------- |
| Class                    | `McoreServices\TeamleaderSDK\Resources\CRM\BusinessTypes` |
| Create / update / delete | — / — / —                                                 |
| Pagination               | No                                                        |

## Endpoints

* `businessTypes.list`

## Filters

Passed as the first argument to `list()`. Any other key throws.

| Filter    | Description                         |
| --------- | ----------------------------------- |
| `country` | ISO country code - e.g., BE, NL, FR |

## Methods

### `forCountry()`

```php
forCountry(string $countryCode): array
```

Get business types for a specific country

* `$countryCode` — ISO country code (e.g., "BE", "NL")

### `list()`

```php
list(array $filters = [], array $options = []): array
```

List business types for a country

The specification does not mark `country` as required, but business types are country-specific legal forms, so the SDK asks for one rather than guess what the API does without it.

* `$filters` — `country`
* `$options` — Not supported — the endpoint has no paging or sorting

**Throws** `\InvalidArgumentException` When country is missing, or another key or option is passed

### `belgium()`

```php
belgium(): array
```

Get business types for Belgium (convenience method)

### `netherlands()`

```php
netherlands(): array
```

Get business types for Netherlands (convenience method)

### `france()`

```php
france(): array
```

Get business types for France (convenience method)

### `germany()`

```php
germany(): array
```

Get business types for Germany (convenience method)

### `unitedKingdom()`

```php
unitedKingdom(): array
```

Get business types for United Kingdom (convenience method)

### `forCountries()`

```php
forCountries(array $countryCodes): array
```

Get business types for multiple countries at once

* `$countryCodes` — Array of ISO country codes

### `getSupportedCountries()`

```php
getSupportedCountries(): array
```

Get available countries that support business types (This is a helper method - actual supported countries depend on Teamleader)

### `isValidCountryCode()`

```php
isValidCountryCode(string $countryCode): bool
```

Validate country code format

### `info()`

```php
info($id, $includes = null): array
```

Override info method as it's not supported for business types

**Throws** `\InvalidArgumentException`

### `getResponseStructure()`

```php
getResponseStructure(): array
```

Get response structure documentation

## Examples

Get business types for Belgium:

```php
$businessTypes = Teamleader::businessTypes()->forCountry("BE");
```

Get business types for Netherlands:

```php
$businessTypes = Teamleader::businessTypes()->forCountry("NL");
```

Get business types for multiple countries:

```php

$beTypes = Teamleader::businessTypes()->forCountry("BE");
$nlTypes = Teamleader::businessTypes()->forCountry("NL");
```
