# Tax Declarations

Get tax declaration records for a company.

Returns a paginated list of tax declarations and accruals for the specified company.

## Endpoint

```text
GET /api/v1/companies/:company_id/tax_declarations
```

## Parameters

| Parameter | Type | In | Description |
| --- | --- | --- | --- |
| `company_id` | `integer` | path | The unique identifier of the company. |
| `page` | `integer` | query | Page number (default: 1). |
| `limit` | `integer` | query | Records per page (default: 100). |

## Code Examples

**Get tax declarations**

**Python**

```python
import requests

url = 'https://statsnet.co/api/v1/companies/12345/tax_declarations'
headers = {
  'Authorization': 'Bearer sk_live_YOUR_KEY',
  'Content-Type': 'application/json'
}

response = requests.get(url, headers=headers).json()
print(response)
```

**TypeScript**

```typescript
const url = 'https://statsnet.co/api/v1/companies/12345/tax_declarations';

const response = await fetch(url, {
headers: {
  'Authorization': 'Bearer sk_live_YOUR_KEY',
  'Content-Type': 'application/json',
},
});

const data = await response.json();
console.log(data);
```

**Go**

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {
	url := "https://statsnet.co/api/v1/companies/12345/tax_declarations"

	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Set("Authorization", "Bearer sk_live_YOUR_KEY")
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()

	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
```

## Response

**Success response**

```json
{
  "tax_regime": "Общеустановленный режим",
  "tax_declarations": [
    {
      "amount": 1250000.5,
      "doc_type": "VAT Declaration",
      "doc_num": "TD-2024-Q1",
      "date": "2024-03-31"
    },
    {
      "amount": 980000,
      "doc_type": "CIT Declaration",
      "doc_num": "TD-2023-Q4",
      "date": "2023-12-31"
    }
  ]
}
```

## Error Handling

**Error response**

```json
{
  "status": 403,
  "message": "access denied"
}
```

This is a paid endpoint. It can also respond with `402` — `{"status": 402, "message": "payment required"}` — when the subscription is expired, canceled, or past due, and `429` — `{"status": 429, "message": "quota exhausted"}` — when the plan’s report quota for the current period is used up.
