# Contacts

## Get a Contact

<mark style="color:blue;">`GET`</mark> `https://api.tiny.plus/v2/contacts/{{id}}`

This endpoint allows you to get a full Contact record.

#### Path Parameters

| Name | Type   | Description       |
| ---- | ------ | ----------------- |
| id   | number | ID of the contact |

#### Query Parameters

| Name          | Type    | Description                                                                                                                                                                                                                                                                                                             |
| ------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| with\_related | boolean | <p>Can be either <code>1</code> or <code>0</code>. Default is <code>1</code>. When passed, information about the related records to the requested record are also returned, in a <code>'related'</code> object.<br>If you don't need the related records, set this to <code>0</code> for a performance improvement.</p> |

#### Headers

| Name          | Type   | Description        |
| ------------- | ------ | ------------------ |
| Authorization | string | Your access token. |

{% tabs %}
{% tab title="200 Contact successfully retrieved." %}

```javascript
{
    "id": 1241
    "name": "Adam Adamson",
    "first_name": "Adam",
    "last_name": "Adamson",
    "email_address": "adam@adamson.com",
    "primary_company": 1237,
    "title": "CEO",
    "assigned_user": 1231,
    ...
}
```

{% endtab %}

{% tab title="404 Could not find a contact matching the provided ID." %}

```javascript
{
    "message": "Contact not found."
}
```

{% endtab %}
{% endtabs %}

#### Example Usage

{% tabs %}
{% tab title="jQuery" %}

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/contacts/{{id}}",
  "method": "GET",
  "headers": {
    "Authorization": "{{user_access_token}}"
  }
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.tiny.plus/v2/contacts/{{id}}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: {{user_access_token}}"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
} ?>
```

{% endtab %}
{% endtabs %}

## List Contacts

<mark style="color:blue;">`GET`</mark> `https://api.tiny.plus/v2/contacts`

This endpoint allows you to get a paginated list of Contacts, optionally filtered by criteria.

#### Query Parameters

| Name            | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| {{field\_name}} | string  | <p>You can provide any <code>{{field\_name}}</code> listed in the <strong>Fields Reference</strong> as a filter to the projects returned. <br><br>You can also provide a minimum or maximum value by prepending a <code><</code> or <code>></code> before your value, which is useful for returning records modified or created after a certain datetime stamp.<br><br><em>To return all contacts for user 1232:</em><br><code>/contacts/?assigned\_user=1232</code><br><br><em>To return all contacts modified after a date:</em><br><code>/contacts/?modified\_date=>2019-01-01 14:00:00</code></p> |
| me              | boolean | If this key is present, it will limit the  results to only records where the user associated with the API key is the `assigned_user` or is in the Related Team Members.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| subscribed      | boolean | Similar to the `me` parameter, this parameter when present returns all records for the user associated with the API key is the `assigned_user`, or is in the Related Team Members, *or is a subscriber to the record.*                                                                                                                                                                                                                                                                                                                                                                                |
| limit           | number  | Used for pagination. Limit is the number of records to return from the full resultset. The default is `15`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| start           | number  | Used for pagination. Set this value to the cursor position into the total resultset to return this time. eg. to receive the 101st to the 115th record, set this to `100` and the limit parameter to `15`.  Default is `0`.                                                                                                                                                                                                                                                                                                                                                                            |
| sort            | string  | <p>Provide a field name and optionally a direction separated by a space to sort the returned results. For example, <code>modified\_date desc</code> to return the most recently modified records. The two directions available are <code>asc</code> and <code>desc</code>. If you do not provide a direction <code>asc</code> is assumed. You can sort by any Number, Date or Text field in the <strong>Fields Reference</strong> below.<br>The default sort is <code>name asc</code>.</p>                                                                                                            |
| return\_format  | string  | <p>Can be either <code>array</code> or <code>object</code>.  The default is <code>object</code>.<br>When set to array, you will receive a simply array of records inside the 'records' key of the returned parent JSON object. </p>                                                                                                                                                                                                                                                                                                                                                                   |
| with\_related   | boolean | <p>Can be either <code>1</code> or <code>0</code>. Default is <code>1</code>. When passed, related records to the main returned record are also returned, in a <code>'related'</code> object.<br>If you don't need the related records, set this to <code>0</code> for a performance improvement.</p>                                                                                                                                                                                                                                                                                                 |

#### Headers

| Name          | Type   | Description        |
| ------------- | ------ | ------------------ |
| Authorization | string | Your access token. |

{% tabs %}
{% tab title="200 You will receive a JSON object containing all the relevant company fields." %}

```
{
    total_records: 31,
    returned_records: 31,
    records: [
        {
            id: 1237,
            name: 'Auchenflower Aged Care',
            ...
        },
        ...
        {
            id: 849,
            name: 'ZZ Top Homes for the Aged',
            ...
        }
    ]
}
```

{% endtab %}
{% endtabs %}

#### Example Usage

{% tabs %}
{% tab title="jQuery" %}

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/contacts?me&return_format=array",
  "method": "GET",
  "headers": {
    "Authorization": "{{user_access_token}}"
  }
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.tiny.plus/v2/contacts?me&return_format=array",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: {{user_access_token}}"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
} ?>
```

{% endtab %}
{% endtabs %}

## Create a Contact

<mark style="color:green;">`POST`</mark> `https://api.tiny.plus/v2/contacts`

You can create a new tiny+ contact with this endpoint. The only required field to create a Contact in tiny+ is `name`, however we recommend you provide as much information as possible.&#x20;

#### Query Parameters

| Name           | Type    | Description                                                                         |
| -------------- | ------- | ----------------------------------------------------------------------------------- |
| return\_record | boolean | Add this parameter to get a copy of the newly created record. Save yourself a call! |

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Accepts       | string | Use `application/json` |
| Content-Type  | string | Use `application/json` |
| Authorization | string | Your access token.     |

#### Request Body

| Name        | Type   | Description                                                                                                                                                                                                                                                                                                     |
| ----------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| JSON object | object | <p><code>{</code><br>    <code>"name": "Alex Amorosi",</code><br>    <code>"assigned\_user": 27110,</code><br>    <code>"title": "Founder",</code><br>    <code>"direct\_tel": "02 9911 0222",</code><br>    <code>"email\_address": "<alex@company.com>"</code><br>    <code>....</code><br><code>}</code></p> |

{% tabs %}
{% tab title="200 A JSON object is returned with your new tiny+ record ID." %}

```
{
    id: [your new ID]
}
```

{% endtab %}

{% tab title="400 If there was a problem adding the record, you'll receive a 400 response." %}

```
{
    error: 'Error adding the record.'
}
```

{% endtab %}

{% tab title="403 If you do not have permission to add the record, you'll receive a 403 response." %}

```
```

{% endtab %}
{% endtabs %}

## Update a Contact

<mark style="color:purple;">`PATCH`</mark> `https://api.tiny.plus/v2/contacts/{{id}}`

You can edit a tiny+ Contact with this endpoint. \
\
Note: you only need to pass the field(s) you wish to change.

#### Path Parameters

| Name | Type   | Description        |
| ---- | ------ | ------------------ |
| id   | number | ID of the contact. |

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Accepts       | string | Use `application/json` |
| Content-Type  | string | Use `application/json` |
| Authorization | string | Your access token.     |

#### Request Body

| Name        | Type   | Description                                                                                                                            |
| ----------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| JSON object | object | <p><code>{</code><br>    <code>"assigned\_user": 27111,</code><br>    <code>"direct\_tel": "02 9999 1020"</code><br><code>}</code></p> |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Delete a Contact

<mark style="color:red;">`DELETE`</mark> `https://api.tiny.plus/v2/contacts/{{id}}`

Delete a Company record.

#### Path Parameters

| Name | Type   | Description        |
| ---- | ------ | ------------------ |
| id   | string | ID of the contact. |

#### Headers

| Name          | Type   | Description        |
| ------------- | ------ | ------------------ |
| Authorization | string | Your access token. |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}

{% tab title="400 " %}

```
```

{% endtab %}
{% endtabs %}

## Contacts Field Reference

| Field              |                                  Type                                  | Details                                                                                                                                                                                                                                                                                                                                                                                                                               | Permission |
| ------------------ | :--------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------: |
| id                 |                                 Number                                 | Unique record identifier.                                                                                                                                                                                                                                                                                                                                                                                                             |  Read-only |
| name               | <p>String (up to 200 characters).</p><p><strong>REQUIRED.</strong></p> | Contact Name. eg. `Andrew Anderson`                                                                                                                                                                                                                                                                                                                                                                                                   |    Full    |
| first\_name        |                                 String                                 | Optionally, you can create / edit a contact as First Name and Last Name instead of the **name** field. If you do not provide this field, we will generate this value based on the name field.                                                                                                                                                                                                                                         |    Full    |
| last\_name         |                                 String                                 | (As above)                                                                                                                                                                                                                                                                                                                                                                                                                            |    Full    |
| description        |                                 String                                 | Description.                                                                                                                                                                                                                                                                                                                                                                                                                          |    Full    |
| created\_date      |                      String (YYYY-MM-DD hh:mm:ss)                      | Date record was first created.                                                                                                                                                                                                                                                                                                                                                                                                        |  Read-only |
| modified\_date     |                      String (YYYY-MM-DD hh:mm:ss)                      | Date record was last modified.                                                                                                                                                                                                                                                                                                                                                                                                        |  Read-only |
| created\_user      |                                 Number                                 | ID of user who made the record.                                                                                                                                                                                                                                                                                                                                                                                                       |  Read-only |
| modified\_user     |                                 Number                                 | ID of user who last edited the record.                                                                                                                                                                                                                                                                                                                                                                                                |  Read-only |
| assigned\_user     |                                 Number                                 | ID of assigned user.                                                                                                                                                                                                                                                                                                                                                                                                                  |    Full    |
| is\_synced         |                                 Boolean                                | Whether the record has been synced from another source.                                                                                                                                                                                                                                                                                                                                                                               |    Full    |
| sync\_origin       |                      String (up to 50 characters)                      | A simple string that you supply to let tiny+ users know where the record is synced from.                                                                                                                                                                                                                                                                                                                                              |    Full    |
| remote\_id         |                      String (up to 200 characters)                     | A remote identifier for this record.                                                                                                                                                                                                                                                                                                                                                                                                  |    Full    |
| record\_url        |                                 String                                 | The fully qualified URI of the record.                                                                                                                                                                                                                                                                                                                                                                                                |  Read-only |
| title              |                                 String                                 | The title or position of this contact. eg. `Development Director`.                                                                                                                                                                                                                                                                                                                                                                    |    Full    |
| email\_address     |                         String (Email Address)                         | Must be a valid email address in RFC 822 syntax. Invalid entries are ignored.                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| linkedin           |                                 String                                 | A URL to the contact's LinkedIn page.                                                                                                                                                                                                                                                                                                                                                                                                 |    Full    |
| twitter            |                                 String                                 | A Twitter @handle.                                                                                                                                                                                                                                                                                                                                                                                                                    |    Full    |
| mobile             |                                 String                                 | Mobile telephone number.                                                                                                                                                                                                                                                                                                                                                                                                              |    Full    |
| office\_tel        |                                 String                                 | Office telephone number.                                                                                                                                                                                                                                                                                                                                                                                                              |    Full    |
| direct\_tel        |                                 String                                 | Direct Line telephone number.                                                                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| physical\_address1 |                                 String                                 | Address - Line 1                                                                                                                                                                                                                                                                                                                                                                                                                      |    Full    |
| physical\_address2 |                                 String                                 | Address - Line 2                                                                                                                                                                                                                                                                                                                                                                                                                      |    Full    |
| physical\_town     |                                 String                                 | Address - the Town/City/Locality.                                                                                                                                                                                                                                                                                                                                                                                                     |    Full    |
| physical\_state    |                                 String                                 | Address - the State or Province.                                                                                                                                                                                                                                                                                                                                                                                                      |    Full    |
| physical\_postcode |                                 String                                 | Address - the Postal Code or Region Code.                                                                                                                                                                                                                                                                                                                                                                                             |    Full    |
| physical\_country  |                                 String                                 | Address - the Country.                                                                                                                                                                                                                                                                                                                                                                                                                |    Full    |
| external\_url      |                          String or JSON object                         | <p>A link to this contact in another system. Helpful when used with <strong>sync\_origin</strong>. This can hold a simple string URL. However some records may exist in multiple systems, so we recommend you namespace your external URL by providing a JSON object like so:</p><p><code>{ "MyApp": "<https://app.example.com/135>" }</code></p><p>This will make sure that other integrations will not interfere with your URL.</p> |    Full    |
| notes              |                                 String                                 | A space for extra notes about this contact.                                                                                                                                                                                                                                                                                                                                                                                           |    Full    |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tiny.plus/api/endpoints/contacts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
