# .net.tr

> Rules for .net.tr domains: terms, transfer, extra registry fields and ready-to-send JSON for register, renew and transfer.

Registration terms: 1–5 years. Transfers in are supported with an authorisation code. Registration waits for registry documents. 4 extra registry fields (0 required).

- **Registry documents are required.** The domain waits in a pending state until you [upload documents](https://www.domainnameapi.com/docs/domains/documents/) and the registry approves them.
- **This extension has extra registry fields** — see [Extra fields](#extra-fields-tldattributes) below. Which ones you must send can depend on the value of another field.

## At a glance

| Property | Value |
| --- | --- |
| Registration terms | 1–5 years |
| Renewal terms | 1–5 years |
| Transfer in | Supported · authorisation code required · pre-transfer check not available |
| Transfer lock | Can be turned on and off |
| Extra registry fields | 4 — see [below](#extra-fields-tldattributes) |
| Registry documents | Required |
| Trustee service | Not available |
| WHOIS privacy | Available |
| DNSSEC | Supported |
| IDN (non-ASCII names) | Supported |
| Name servers under the domain | Not allowed |
| Contact change by handle | Not available — send full details |
| Registry checks name servers | No |
| Test environment | Available |

What each property means and which error you get if you ignore it: [TLD catalogue](https://www.domainnameapi.com/docs/catalogue/#every-field-and-what-to-do-with-it).

## Lifecycle

In calendar days. `—` means the registry does not publish the period.

| Period | Days | What happens |
| --- | --- | --- |
| Add grace | — | Deleting a new registration within this window is refunded. |
| Auto-renew grace | 20 | After expiry the registry renews automatically; a second renewal in this window is refused with `10020`. |
| Redemption | — | After deletion, `POST /api/v1/domains/restore` still works. |
| Deletion hold | — | After redemption, before the name is released to the public. Nothing can be done. |

## Extra fields (`tldAttributes`)

Send these as a flat key/value object named `tldAttributes` on register requests. See [Extra registry fields](https://www.domainnameapi.com/docs/domains/#extra-registry-fields-tldattributes).

| Key | Required | Type | Description | Allowed values |
| --- | --- | --- | --- | --- |
| `TRABISCITIZENID` | optional | Text | Citizen ID | Free text |
| `TRABISTAXNUMBER` | optional | Text | Tax Number | Free text |
| `TRABISDOMAINCATEGORY` | optional | DropdownList | TrabisDropdown | `Corporate`, `Owner` |
| `TRABISTAXOFFICE` | optional | Text | Tax Office | Free text |

## Ready-to-send requests

Each request below is built from this extension's catalogue entry. Replace the domain, the handles and any value in `<angle brackets>`.

### Register

`POST /api/v1/domains/register` with contact handles you created with `POST /api/v1/contacts`. To send contact details inline instead, use [`POST /api/v1/domains/register-with-contacts`](https://www.domainnameapi.com/docs/domains/register/#registering-with-contact-details) with the same `tldAttributes`.

`tldAttributes` lists every field this extension defines. Send the ones that apply: the table above says which are required, and some become required only for a particular value of another field.

```json
{
  "domainName": "apiname.net.tr",
  "period": 1,
  "nameServers": [
    "tr.apiname.com",
    "eu.apiname.com"
  ],
  "handles": [
    { "contactType": "Registrant", "handle": "D-174829301847" },
    { "contactType": "Admin", "handle": "D-174829301847" },
    { "contactType": "Tech", "handle": "D-174829301847" },
    { "contactType": "Billing", "handle": "D-174829301847" }
  ],
  "tldAttributes": {
    "TRABISCITIZENID": "<Citizen ID>",
    "TRABISTAXNUMBER": "<Tax Number>",
    "TRABISDOMAINCATEGORY": "Corporate",
    "TRABISTAXOFFICE": "<Tax Office>"
  }
}
```

### Renew

`POST /api/v1/domains/renew` — call `POST /api/v1/domains/renew/check` with the same body first. See [Renew a domain](https://www.domainnameapi.com/docs/domains/renew/).

```json
{
  "domainName": "apiname.net.tr",
  "period": 1
}
```

### Transfer in

`POST /api/v1/domains/transfer`. This registry has no pre-transfer check, so call it directly. See [Transfer a domain in](https://www.domainnameapi.com/docs/domains/transfer/).

```json
{
  "domainName": "apiname.net.tr",
  "authCode": "aB3!xY9-kL2pQ7",
  "period": 1
}
```

*From the TLD catalogue on 2026-11-02. For live values call `GET /api/v1/products/tlds?filterText=net.tr`.*
