# Contact details

`GET /v1/contact/@id` · scope `profile:read`

Details and permissions of a contact.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/v1/contact/@id` |
| Method | `GET` |
| Scope | `profile:read` |
| Header | `Authorization: Bearer <token>` |
| Content-Type | — (no body) |
| Tokens that can call it | app tokens (`tinoat_`), personal API tokens (`tinopat_`) |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Contact ID |

## Example request

```bash
curl "https://api.tino.vn/v1/contact/12" \
  -H "Authorization: Bearer $TINO_TOKEN"
```

`$TINO_TOKEN` is a token with the scope `profile:read`. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): Python `client.account.get_contact(id)`, Node.js `await client.account.getContact(id);`, PHP `$client->account->getContact($id);`.

## Example response

```json
{
 "privileges": {
  "billing": [
   "emails",
   "newinvoices",
   "… 11 more item(s)"
  ],
  "support": [
   "newticket",
   "tickets",
   "… 3 more item(s)"
  ],
  "disabled_support_departments": [
   2,
   3,
   "… 5 more item(s)"
  ],
  "misc": [
   "editmain",
   "manageservicegroups",
   "… 9 more item(s)"
  ],
  "services": {
   "full": 1,
   "100001": [
    "basic",
    "billing",
    "… 18 more item(s)"
   ],
   "100002": [
    "basic",
    "billing",
    "… 23 more item(s)"
   ],
   "100003": [
    "basic",
    "billing",
    "… 5 more item(s)"
   ]
  },
  "domains": {
   "full": 1,
   "200001": [
    "basic",
    "renew",
  … 25 more line(s)
```

Live sample from a test account with personal data masked; long arrays and strings are trimmed (`… N more item(s)`, `… N more line(s)`).
