# Welcome

Here you can find support resources, guides and documentation on tiny+, a relationship management app for design firms.

![](/files/-LoSX_PuYilnV838XgVZ)


# Our pitch

Why is tiny+ the ideal CRM tool for design firms?

## Collaboration first

tiny+ puts collaboration first as the key to solving business development challenges in a professional services firm.&#x20;

It’s designed to be used by everyone in the business, not just those who are nominally responsible for marketing and business development.

By their nature, social collaboration tools are inherently more engaging than reporting platforms. Because of this, we have found users far more engaged in both the structured and unstructured processes built into tiny+ over a more traditional CRM. The other benefit of this focus on collaboration is the fundamental impact this approach can have on a business’s culture; its shared understanding of its projects and its relationships with its clients.&#x20;

tiny+ works by creating a central collaboration space, called the news feed, that’s seen by everyone in the business. The news feed gives your team members a place to share their work, their thoughts and the business development processes.&#x20;

Because it is a CRM, tiny+ focuses the conversation on your relationships; the companies, contacts and projects you’re working on.&#x20;

The news feed becomes a central watering hole, a place that provides updates on changes it learns about such as when a new project is added, and unstructured feedback and stories from your team about their interactions with clients and projects in the market.

tiny+ invites everyone in the business to take some responsibility for business development and client relationship management.

## Team engagement

The benefit of using tiny+ as a collaboration tool is that you capture a much broader range of information than just structured data in fields. The less structured stories that are absolutely crucial to the health and development of your business’s relationships are placed front and centre in tiny+.

So rather than reviewing a monthly report showing the 100 new clients you’ve contacted in the past 30 days, your organisation and management gets access to a real-time interactive news feed story about each meeting, documenting and sharing the discussions that took place and sharing the business development process across the team.&#x20;

This benefit is, to some extent, less tangible than the ability to generate a report. However, the impact this approach can have on your organisation’s culture can be profound.

## Who is tiny+ for?

Firms that:

1. value openness and collaboration, and want to remove silos of information
2. believe in looking outward; being focused on the client
3. have long term partnerships with their clients and industry, rather than transactional relationships


# Getting started

Help and advice for getting started with tiny+

## Welcome to tiny+!&#x20;

We're glad to have you as part of the tiny+ family.

We invite you to take some time to review the information in this Getting Started section of our Knowledge Base, which should help you get your tiny+ account up and running in no time.&#x20;

## First steps for a new tiny+ account

Here are some quick first step suggestions to help you on your way to setting up your tiny+ account.

* [ ] [Create an account](https://www.tiny.plus/register) and log in for the first time
* [ ] Review and configure your [project pipeline](/guides/getting-started/designing-your-project-pipeline)
* [ ] Review and configure your [client relationship pipeline](/guides/getting-started/designing-your-client-relationship-pipeline)
* [ ] Working with a team? [Invite them to join you](/guides/getting-started/adding-your-team) in tiny+
* [ ] Switch on some scheduled email reports

## First steps for a new tiny+ user

Here are some quick first steps to getting tiny+ set up just for you.&#x20;

* [ ] Review our [Guides](/guides/guides) to understand some of the fundamental concepts in tiny+
* [ ] Add your most important leads on the [Projects](https://crm.tiny.plus/projects) page
* [ ] Add your most important clients on the [Companies](https://crm.tiny.plus/companies) page
* [ ] Make your first [news feed post](/guides/guides/news-feed) about a company or a project
* [ ] Install our [iOS](https://apps.apple.com/us/app/tiny/id1450941555?ls=1) or [Android](https://play.google.com/store/apps/details?id=plus.tiny.app) app
* [ ] Using Outlook? Sync your contacts and activities with our [Office 365 integration](/guides/integrations/office-365).


# Designing your project pipeline

Customise your firm's project pipeline.

{% hint style="success" %}
tl;dr - add your own *phases* under the proposed/won/active *states* to customise your *project pipeline*.
{% endhint %}

## What is a project pipeline?

How do you talk about winning a project at your firm? Each firm is different, and tiny+ lets you design your project pipeline to match how your firm already thinks about proposed projects.&#x20;

Why configure your project pipeline? Well, it's the fundamental structure for your project-based business development activity in your firm. Once you get it right, you can generate powerful reports for each pipeline stage, and give your whole firm a shared language around the process of winning a project.&#x20;

## Understanding project states and phases

In tiny+ there are six umbrella *states* that a project will always exist in:

* **Proposed** - We have not yet been awarded the project.
* **Won** - We have been awarded this project. Work has not yet commenced.
* **Active** - The project is currently being delivered.
* **Completed** - The project is complete.
* **Lost** - We were not awarded the project.
* **Cancelled** - The project was cancelled or did not proceed.

These six *states* remain constant and cannot be changed, with the exception of the 'Won' state, which can be disabled in **Account Settings** -> **App Settings**.

Underneath these six *states* you can define any number of *phases* to suit your business development process and reporting requirements. Together, these *states* and *phases* define your *Project Pipeline*.

![An example Project Pipeline configuration.](/files/-LoT6pRsRvnRD16x9vzq)

## How to configure your Project Pipeline

{% hint style="info" %}
You must be an Account Admin to configure the Project Pipeline.
{% endhint %}

To get started, navigate to **Account Settings** -> **Project Phases**.

From this page, you can create, edit, re-order and remove *phases*.

## Some example Project Pipeline configurations

Looking for inspiration? Here are some common project pipeline configurations which you may like to steal!&#x20;

#### Example #1 - Very simple

| Phase                 | Description                                                    |
| --------------------- | -------------------------------------------------------------- |
| Proposed - Lead       | A potential project starting at least three months from now.   |
| Proposed - Submission | A potential project which will start in the next three months. |
| Won                   | (no phases reqd)                                               |
| Active                | (no phases reqd)                                               |

#### Example #2 - More complex

| Phase                 | Description                                                    |
| --------------------- | -------------------------------------------------------------- |
| Proposed - Long Term  | A potential project starting at least three months from now.   |
| Proposed - Short Term | A potential project which will start in the next three months. |
| Proposed - Bidding    | We are currently preparing a Proposal for this project.        |
| Proposed - Submitted  | We have submitted our Proposal and are awaiting feedback.      |
| Won                   | (no phases reqd)                                               |
| Active - Delivering   | Currently delivering the project.                              |
| Active - On Hold      | On hold at client request.                                     |


# Designing your client relationship pipeline

Design a business development process for your firm with a client relationship pipeline.

## What is a client relationship pipeline?

In tiny+ all companies can be assigned a *Relationship Status*. This status is intended as a method to help identify the important client companies you and your team are managing.&#x20;

There are four main states a company's *Relationship Status* may be:

| Relationship Status | Description                                                                                                          |
| ------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `Prospect`          | A company that you would like to be working with, but are not yet an active client.                                  |
| `Active`            | An active client.                                                                                                    |
| `Latent`            | Either a client that is no longer giving you work, or a relationship which has gone quiet for one reason or another. |
| `(not set)`         | Any company that is not a client, for example an industry partner or competitor.                                     |

The *Client Relationship Pipeline* is intended for tracking and nurturing clients. Therefore, not every company that you know and which may appear in your tiny+ database fits into a `Prospect`, `Active` or `Latent` state. These companies should be saved as `(not set)`.&#x20;

Once a Relationship Status is set, each client company will appear in *Client Relationship Pipeline* views on the *Companies* page.&#x20;

## Configuring your client relationship pipeline

{% hint style="info" %}
You must be an Account Admin to configure the Client Relationship Pipeline.
{% endhint %}

Similar to your [*Project Pipeline*](/guides/getting-started/designing-your-project-pipeline), you can expand each of the three major Relationship Status states with phases. This allows you to identify a common business development process for winning new client and nurturing existing client relationships.

For example, under the `Prospect` state you might define phases of `Uncontacted`, `Nurturing` and `Active Opportunity`.

To get started, navigate to **Account Settings** -> **Pipelines** -> [**Configure Standard Company Pipeline**](https://crm.tiny.plus/account/pipelines/companies).

From this page, you can create, edit, re-order and remove *phases*.


# Setting up categories and tags

Sort your projects, companies and contacts into logical groups with Categories and Tags.

## What are Categories and Tags?

Categories and Tags are the way you can logically group and classify records in tiny+. A Category is a logical collection of related Tags.&#x20;

For example, a Category could be `Location` and its related Tags could be `Sydney`, `London` and `New York`.

Categories and Tags can be set up and related to all types of records in tiny+, unlocking powerful reporting and data organisation capabilities.

Also, Categories can be applied to different types of records. For example, the Location category above could be applicable to both Companies and Projects.&#x20;

## Creating your first Category

Categories are set up from the **Account Admin** -> **Categories** page.

1. Click the **+ new category** button.
2. Give the new Category a name. Some examples are included below for inspiration.
3. Select the types of records that a category can belong to.
4. Choose other options as displayed and then choose a display colour.&#x20;

![An example for creating a Location category for Projects.](/files/-LpW60Tak9-5JRqB5Prq)

## Adding new tags

Once you've created your category, you can add tags on the following screen.

Click **+ add new tag** and type the name in the field that appears. Then click **Save**.

![Example tags for a Location category.](/files/-LpW6_FeqvJRqfQyKm6O)

## Examples

Looking for ideas on the best ways to categorise your records? Here are some commonly used categories.&#x20;

| Category        | Tags                                           | Relevant To                   |
| --------------- | ---------------------------------------------- | ----------------------------- |
| Managing Office | Sydney, London, New York                       | Projects, Companies, Contacts |
| Client Type     | Developer, Owner Operator, Builder, Government | Companies, Contacts           |
| Service Type    | Architecture, Urban Design, Interior Design    | Projects, Companies           |
| Market Sector   | Aged Care, Commercial, Education, Residential  | Projects, Companies, Contacts |
| Priority        | High, Medium, Low                              | Projects, Contacts            |
| Region          | North-East, South, West                        | Projects, Companies, Contacts |


# Importing your content

Bring your contacts, client and projects into tiny+

## Importing from a spreadsheet

{% hint style="success" %}
Before you begin, take the time to review your data carefully. A few minutes in Excel cleaning up before you import it into tiny+ can save you some headaches down the track.
{% endhint %}

All your data currently in spreadsheets? No sweat... tiny+ lets you import all your contacts, projects and company records directly from your .xlsx or .csv file.&#x20;

### Finding the Import tool

{% hint style="info" %}
You must be an Account Admin to import records.
{% endhint %}

**For Projects:** from the home screen, navigate to **Projects** -> **All Projects**. *Import Projects* will be an option on the right hand menu.

**For Companies:** from the home screen, navigate to **Companies** -> **All Companies**. *Import companies* will be an option on the right hand menu.

**For Contacts:** from the home screen, navigate to **Contacts**. *Import contacts* will be an option on the right hand menu.

### Custom categories

Do you have categories or tags in your spreadsheet that you would like to import into tiny+?&#x20;

For example, you might have a column in your spreadsheet which identifies if a contact is a Client/Supplier/Consultant.&#x20;

If so, before you begin your import it's worth [setting up these categories](/guides/getting-started/setting-up-categories) in tiny+ first.&#x20;

Once the categories are set up, make sure the tags are set up in your spreadsheet correctly. One column per category, and multiple tags separated by a semi-colon (;).&#x20;

Then, simply match the category in tiny+ to the correct column during your import.

### Importing a Team list for a project, company or contact

You can provide a semi-colon-separated list of team members in a column to import multiple related team members to a project, company or contact.

### Managing duplicates during import

Planning to do several imports? Or maybe your spreadsheet has some double-ups with records already in tiny+? Don't stress, tiny+ can reduce duplicates wherever possible by doing smart field matching. For example, for Contacts we will check for matches on:&#x20;

* email address + full name
* company name + full name
* mobile phone number

We have similar sensible duplicate checks for Projects and Companies.

If we detect a duplicate, we will attempt to fill in any fields from your import that are not currently in the existing record, and attach the 'Assigned To' user you specify to the record's Team list.

You can disable this feature by unchecking 'Reduce duplicates?' before you start your import.

![](/files/-LoSsp0AtWpKZeJT5Gra)

### Got a single spreadsheet that contains both Contact and Company data?

Easy. We recommend that you do TWO imports using the same spreadsheet file.&#x20;

1. First import the companies, and ignore any contact-specific fields when field-matching during the import.&#x20;
2. Then import the contacts, and ignore all company-specific fields, except for matching the *Company Name* field in your spreadsheet to the *Related Company* tiny+ field.
3. That's it!


# Adding your team

Understand users, team members and your subscription.

In tiny+ all users are known as Team Members. You can add Team Members with Active accounts, which will affect your subscription, or as Ghost accounts, which will not.

## Adding a new Team Member

Navigate to the Team Members page from the main menu. On the right hand side, select the blue **+ new team member** button.

![](/files/-Lpf9S5mgv9YkXGpd4kO)

Fill in the user's full name, title and company email address. When you click **Create team member**, an invitation will be sent to their company email address if you set their account type to `Active`. No email invitation is sent if `Ghost` is selected.

And that's it!

## Understanding user account types

When managing Team Members, there are three possible states a user account can be in.&#x20;

| Account Type  | Incurs Billing? | Description                                                                                                                                                                                                             |
| ------------- | :-------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Active`      |       Yes       | An active user is granted access to log into and use tiny+.                                                                                                                                                             |
| `Ghost`       |        No       | A ghost user can be assigned projects, companies and other records, but cannot log into or access tiny+. Their record is visible in staff member lists.                                                                 |
| `Deactivated` |        No       | A deactivated account can not be assigned to projects, companies and other records, and cannot log into or access tiny+. Their record is obscured from staff member lists but remains visible for historical reference. |

The `Ghost` user is especially useful for setting up new accounts. You can create records for your team members, import content for their accounts and then change their status from Ghost to Active when you are ready for users to access tiny+.

## When a Team Member leaves

If a team member leaves the business you can change their role to `Deactivated`. This removes them from your Account's subscription so you are no longer charged for their account. And you can still reference their associated projects, companies and contacts.&#x20;

You can re-activate a Deactivated team member by changing their status back to `Active`. This will send them a new invitation email.

When you're ready, you can also choose to delete the team member record entirely.

## The Account Admin role

By default, all users have limited permissions to access tiny+. You can grant particular users Account Admin status after you have created their Team Member record, either from the *Account Settings -> Users* screen, or on the individual Team Member page, by selecting **Make an account admin** from the **\[...]** menu button.

![](/files/-LpfBcq7fqFbST6IdT6q)

Account Admins have unrestricted access to your account, including access to all records, and user and subscription management.

You can revoke the Account Admin role at any time in the same location.


# Guides


# News Feed

Some tips for how you can best use the tiny+ news feed

Day-to-day you’ll use tiny+ to share your news and follow what’s happening with your colleagues via the *News Feed*. The *News Feed* is a central place for you to keep up with what’s going on in your firm.&#x20;

You can share posts, comments, pictures and documents to the *News Feed* to keep everyone in the loop about your work, your projects and your clients. You can interact with other people’s posts via a **Like**, or **Comment** to add your own information to a thread where you can help.

Some examples of things which are great to share on tiny+

* [ ] Met a potential new client? Post the story.
* [ ] Seen a client in the news? Share the link.
* [ ] Won the job? Celebrate with a quick update.
* [ ] Been out on site? Upload a few photos from your visit.
* [ ] Found an interesting project online? Share the link with the team.


# For Me

Your dashboard view of your projects, companies, contacts and events.

On the **For Me** page you gain a birds-eye view of all your **projects**, **companies**, **contacts**, **tasks**, **meetings** and **marketing activities**.

&#x20;A calendar view will show you everything happening in the current month – all tasks, meetings, marketing activities; and projects’ expected close dates.


# Projects

From lead to portfolio piece, tiny+ keeps track of all your projects.

tiny+ keeps track of all your **Projects** from lead through to completion.&#x20;

Share news and milestones about each **Project** with the company, get design feedback, and wins and losses with each other on each project’s **News Feed**.&#x20;

Once the job gets going, tiny+ can build a **portfolio of experience** for inclusion in fee proposals and tenders. You can also store your **Marketing Images** like concept sketches, site photos and architectural photography with each **Project**.&#x20;

You can define **Tasks** with due dates for each **Project**, such as ‘Prepare the Fee Proposal’ or ‘Review and sign Client Contract’.

Your project news is shared via **weekly email updates** to your team.


# Companies

Get a full view of all your firm's relationships.

Get a clearer picture of your relationships with your clients, prospective clients and industry connections.&#x20;

You can set out **business development tasks** for every company to identify activities to be done to grow the relationship, or remind yourself to follow up.&#x20;

Share news and interactions you have about each Company on their **News Feed**.&#x20;

And draw an **Org Chart** of your key clients to visualise their structure and your relationships with them better.


# Contacts

A central collection of your and your firm’s Contacts.

tiny+ allows you to keep track of **Contacts** you know and gives you a **News Feed** for each, so you can share information about your interactions with them.&#x20;

Keep track of who knows who. And when one of your colleagues makes a change to a **Contact** you know; or interacts with them, you can stay in the loop through **Emails** and **Alerts**.&#x20;

Track a Contact as they move around in the industry with the **Relationships** view.&#x20;

Attach contacts to **Projects** they are working on with you.

Build lists of your Contacts to create invite lists for client **Events** and **email contact lists**.


# Assessments

Use tiny+’s Ratings + Assessments tool to develop short questionnaires in tiny+ that can be undertaken against a company or project.

## Initial setup

### Step One - Set up your first Assessment

Navigate to **Account Settings -> Ratings + Assessments**.

![](/files/-Lpeu-x5w2IjKIFFY1Fs)

Then for an assessment you’d like completed against companies select **create new company assessment** or against projects **create new project assessment**. After you’ve created the assessment, click on the link to open it.

### Step Two - Set up your questions

On the Assessment page, navigate to the *Questions* tab. Here you can set up your assessment questions, which your users will complete. Each question consists of a Title, and explanatory notes, both of which are shown to your users when they are completing the assessment.

You must also specify a response type – this can be:&#x20;

* Rating (between 0 and 5)
* Rating + Text Response
* Text response only

![](/files/-Lpeu43ZI7aIr9pdyJnd)

You must have at least one question, and you may have as many as you’d like.

### Step Three - Activate the assessment

{% hint style="warning" %}
Once you change your assessment to ‘Active’ you will no longer be able to edit the questions.
{% endhint %}

Once you have set up the questions to your satisfaction, you should change your assessment status under the *Overview* tab from `Inactive` to `Active` to allow your users to begin completing assessments. You can also take this opportunity to rename the assessment.

![](/files/-Lpeu88dPx_lfp9mPmyl)

## Completing an assessment

Once you have activated your assessment, these can be completed by you and your users in a few ways:

* Under the newly visible *Assessments* tab for the company or project
* Under the \[...] button next to a company or project in their pipeline view (pictured below)
*

![](/files/-LpeuJ0Fg4iOb8PWGAHx)

## How ratings are generated by assessments

Once assessments are completed against a company or project, if you have asked at least one question which asks for a Rating response, the assessment will generate an average rating number from all the questions which ask for a rating. This number will be between 1.0 and 5.0.

## Admin tools available

On an individual company or project, you can create an assessment to be completed at a later date by choosing **Request a Client Assessment from another team member**.

You can review / edit / delete assessment responses by navigating to **Account Settings -> Ratings + Assessments -> \[Your Assessment name]**. Then going to the *Responses* tab.

This tab also offers you and export facility for all assessments.


# User Permissions & Roles

Set different levels of access to tiny+ for your team members.

tiny+ provides a range of built-in roles to give you fine-grained control over the way your team members can use and access the app.

The available roles and a description of what they provide are set out in the table below.

Account Admins are the only role that can assign or remove roles to other users.&#x20;

Assigned roles can be viewed and edited by Account Admins in tiny+ at the [Account Settings -> Users](https://crm.tiny.plus/account/users) screen.

| Role            | Description                                                                                                                                                                                                                                                                                                                       |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Standard User   | A standard user can create new projects, companies, contacts and enquiries, and they can edit and delete those records which they are associated with. They may see financial information only for projects they are associated with. They may not import or export data or add other users to tiny+.                             |
| Account Admin   | This role has complete access to all areas of tiny+. As well as all the permissions set out in all the other roles below, an Account Admin can change all account settings; make changes to the firm's tiny+ subscription; and administer all other users.                                                                        |
| Records Admin   | A Records Admin is given full read, edit and delete permissions for all project, company, contact, enquiry and event records in tiny+. Records Admins can also import records from spreadsheets.                                                                                                                                  |
| Reports Admin   | A Reports Admin can create, edit and delete reports for all records, rather than just the records that are related directly to them. For Pro-account plans, the Reports Admin will also have access to the Custom Reports feature. Note that in order to export a Custom Report the user will also need the 'Allow Exports' role. |
| News Feed Admin | A News Feed Admin can administer all news feed posts and comments, and create/edit news feed channels.                                                                                                                                                                                                                            |
| Allow Exports   | This role allows access to the export features in tiny+, giving permission to export any view to Excel; or any custom report to Excel, Work or PDF format. Note that this role on its own is enough to allow a user to export all project, company and contact data.                                                              |


# How Tos


# Merging duplicate records

Found some duplicate records? Here's how to combine them.

To merge two or more records, find them in any list view, select the duplicate records using the selection check boxes, and then in the blue bar that appears at the bottom of the page, choose 'Merge ...'

![Select two or more records, then choose 'Merge ...' in the blue bar that appears.](/files/-LrpZn6T3LDGz9RQqHFK)

On the following page, you will have the opportunity to adjust fields that the records have in common with the correct values. Review these, then choose 'Merge!' at the bottom of the page.

![](/files/-Lrp_TXiubWkB26NJWKL)

If you receive the error message *There was a problem merging the records* then it's likely that you do not have the right permissions to edit each record. Make sure that you are listed on the team or are the assigned owner of all records you are attempting to merge in order to perform the merge. Or ask an Account Admin user to perform the merge for you.


# Subscribing to a news feed

Beyond the main **News Feed** on tiny+, every company, contact and project has its own **News Feed** that **team members** within your organisation can subscribe to.

When a **team member** subscribes to a feed of a company, contact or project they will be notified of new information that has been added to the **News Feed** specific to those companies, contacts and projects.


# Enabling Two Factor Authentication

Add extra security to your tiny+ user account.

Two factor authentication (also known as 2FA) is a highly recommended security feature that adds an extra layer of protection to your tiny+ user account.&#x20;

Enabling two factor authentication means that tiny+ will require a seven digit security code (in addition to your password) when you sign in to your account from a new browser, phone or tablet.

In order for two-step verification to work correctly, you'll need a mobile device capable of receiving SMS messages and running the [Authy](https://authy.com/download/) iOS or Android app.

## How to enable Two Factor Authentication

1. Sign in to [crm.tiny.plus](https://crm.tiny.plus/).
2. Click the settings cog in the top right of the screen.
3. Choose **User Settings**.
4. Select the **Security** tab.
5. Under the Two Factor Authentication section, verify your **Country Code** and **Mobile Number**, then click **Register**.
6. You will **receive an SMS** message with instructions to install the [Authy ](https://authy.com/download)app on your phone.
7. Install the Authy app, then enter the seven digit security code in the **Verification** field back in tiny+.

## How to change your Two Factor Authentication phone number

1. Sign in to [crm.tiny.plus](https://crm.tiny.plus/).
2. Click the settings cog in the top right of the screen.
3. Choose **User Settings**.
4. Select the **Security** tab.
5. Under the Two Factor Authentication section, toggle the **master switch** to turn off Two Factor Authentication.
6. Then follow the steps above to enable Two Factor Authentication on a new device.


# Building Lists

Lists let you build and sort catalogues of projects, companies or contacts

## What is a List in tiny+?

Just that... you can build lists of contacts, lists of projects, lists of companies that relate to a part of your business, a marketing initiative --- anything you need!

## Setting up a List in tiny+

### Standard Lists vs Target Lists

When you first create a list you will note there are two types of list available in tiny+... a **Standard List** and a **Target List**.&#x20;

The key difference between these two types of list is that a target list has extra reporting capabilities attached to it, but has a limit of 100 items that can be added to it. Choose the **Target List** option if you are building a list of key prospects or target clients.&#x20;

### List visibility

The other important option when creating a List in tiny+ is the Visibility setting. You can create lists that are visible just for you, or lists which is visible to all users.

### Adding items to Lists

Once you have created your list you can add items to your List in three ways.&#x20;

Note that if you have made the list visible to all users, other tiny+ users can also add to and modify your list -- so you can collaboratively build a list of contacts, projects or companies using any of the following methods.

#### Method 1 - from the List page

Click the 'Change Items' button, then type the name of the project, company or contact you wish to add to the list.

![](/files/-MEZfTcSbf7HUtNDKr58)

#### Method 2 - from any multi-record tabular view

Select the record(s) you wish to add to the List, then in the blue bar at the bottom of your screen, find the '+ to List' option.&#x20;

![](/files/-MEZgZSPbM6AiyqZ2gNd)

#### Method 3 - from a project, company or contact's page

On any record's page, look for the 'Lists' section, and then choose '+ Add to a List'.

![](/files/-MEZghBlEASROXakWXpC)

## Target Lists - reporting capabilities

When you create a special **Target List**, you can access extra reporting capabilities with the records associated with that list.&#x20;

* The *Project Pipeline* report can be generated against a Target List of Projects
* A *Recent Activity* report can be generated against of a Target List of Projects or Companies
* A *Related Projects* report can be generated against a Target List of Companies.

## Contact Lists for Marketing purposes

Once you have built a List of Contacts, you can use this list to connect with marketing platforms like Mailchimp and Campaign Monitor. These integrations can be found in the Account Settings -> Integrations page.

## Exporting your Lists to Excel

You can extract your list data to Excel by clicking the 'Export to .xlsx' button.&#x20;

Additionally, if you have build a list of Companies, you can also export the related Contacts for those Companies by clicking the 'Export related Contacts to .xlsx' button.

![](/files/-MEZjEMtPB6LkHS_oOhi)


# Integrations


# SharePoint / Intranet

You can embed certain tiny+ views into your SharePoint or other intranet platform

Using iframes you can embed certain views from tiny+ into your intranet platform.

## Embedding the News Feed

Use this URI: <https://crm.tiny.plus/embedded>

#### An example implementation

```markup
<iframe src="https://crm.tiny.plus/embedded" width="800" height="700"></iframe>
```

## Embedding a News Feed Channel

Use this URI structure: <https://crm.tiny.plus/embedded/?channel=[channel_id]>

You can locate the Channel ID required in the tiny+ address bar when you have the channel page open.

#### An example implementation

```markup
<iframe src="https://crm.tiny.plus/embedded/?channel=[channel_id]" width="800" height="700"></iframe>
```

## Embedding the Event Calendar

Use this URI: <https://crm.tiny.plus/embed_calendar>

#### An example implementation

```markup
<iframe src="https://crm.tiny.plus/embed_calendar" width="800" height="700"></iframe>
```

## Embedding a single project or company pipeline column

Use this URI structure: <https://crm.tiny.plus/embed/pipeline_part/[projects_or_companies]/[phase_id_or_status_name]/[pipeline_id_or_type]>

#### Explanation of URI components

`projects_or_companies` - which pipeline to show -- use `projects` for the project pipeline or `companies` for the client relationship pipeline.

`phase_id_or_status_name` - a valid pipeline phase ID. These IDs can be found in the Project Pipeline and Client Pipeline sections in your Account Settings. If you have not set up phases under a particular status (proposed, won, active, lost, cancelled) you can use the status name instead.

`pipeline_id_or_type` - *optional*. Leave this blank or use the phrase `all` to show ALL records, or insert either the `ID of a custom pipeline` or the phrase `assigned` to show the user's individually assigned pipeline.

#### For example...

To embed your list of Active projects: <https://crm.tiny.plus/embed/pipeline_part/projects/active>

To embed a projects pipeline column with phase id of 1234, <https://crm.tiny.plus/embed/pipeline_part/projects/1234>&#x20;

#### An example implementation

```markup
<iframe src="https://crm.tiny.plus/embed/pipeline_part/projects/1234" width="300" height="800"></iframe>
```


# Office 365

You can use tiny+ to synchronise your contacts and calendar items between your Office 365 Outlook mail account and tiny+.

## Prerequisites

1. An active Office 365 Exchange-Online mailbox. (This sync does not work directly with any Outlook mail account, it needs a Microsoft-hosted Office 365 or Outlook.com account)
2. (sometimes) Domain Administrator approval to grant tiny+ permissions to your Microsoft account. This will depend on how your mail server and Active Directory permissions have been configured.

## Connecting your tiny+ account to Office 365

In tiny+, click on the settings cog in the top right, and select *User Settings*. From the left side menu, select *Linked Accounts*. Then select **sign in** (pictured below). You will be taken through a Microsoft authentication process; where you will also be asked to grant tiny+ permission to access your mail account.

![](/files/-Lpf3qvLONjz5wOVRsMq)

## Performing an initial Contacts sync

Navigate back to *User settings* -> *Contacts Sync*.&#x20;

With your Office 365 account connected, you can now perform an **initial sync**. Depending on the number of contacts associated with your account this may take several minutes.&#x20;

Performing an initial sync will create a new subfolder in your Outlook contacts called ‘tiny+’. Any new contacts added to this folder will be synchronised with tiny+, and any new contacts associated with your user in tiny+ will be sent to this Outlook folder.&#x20;

## Sync options

Once you’ve performed the initial sync, your contacts will remain in two-way sync. Changes made in one system may take a few minutes to appear in the other. You can also manually perform a sync in either direction using the controls on the *User Settings* -> *Contacts Sync* page (pictured).

![](/files/-Lpf4FH555FdV_nrDCkT)

## Disabling / deleting the sync

If you would like to turn off the sync, you can use the **Delete this sync** button on the *Contacts Sync* page. Note that this will **not** delete the contacts either in Outlook or tiny+, and you should do this yourself if you need to.&#x20;

## Calendar Sync

{% hint style="info" %}
As of November 2019, our Calendar integration is one-way only, from tiny+ to Office 365.&#x20;
{% endhint %}

Once you have connected your tiny+ account to Office 365, you can also enable a sync of calendar items, such as Tasks, Meetings and Events.&#x20;

1. Navigate to *User Settings -> Calendar Sync*.
2. Choose *Enable Sync*.


# Synergy

Setting up and managing our integration with Synergy practice management software from Total Synergy.

{% hint style="info" %}
You must be a tiny+ Account Admin to set up a Synergy integration. Additionally, you must have an Administrator account in Synergy to connect the applications together.
{% endhint %}

The purpose of this document is to detail the integration between [Synergy](https://totalsynergy.com/) and [tiny+.](https://www.tiny.plus/)&#x20;

This integration is intended for those customers using both systems to eliminate double data entry and ensure both systems hold the latest information about your projects, clients and contacts.

This documentation identifies how different records are synced between each system, which fields are kept in sync, and the direction of synchronisation.&#x20;

The following table represents which types of records are kept in sync, and how information flows between the two systems.

|   Synergy | Sync direction | tiny+        |
| --------: | :------------: | ------------ |
|  Projects |       <>       | Projects     |
|  Contacts |       <>       | Companies    |
| Personnel |       <>       | Contacts     |
|     Staff |        >       | Team Members |

## How does the integration work?

When enabled and given appropriate authorisation to access your Synergy account, tiny+ will periodically check with Synergy for new and updated records, and also will provide Synergy with changes made and new records in tiny+ for the same period.&#x20;

Changes and additions in one system will be reflected in the other system typically within 1-4 minutes.&#x20;

## Initial setup using the Setup Wizard

{% hint style="info" %}
This initial setup process may take you 5 minutes or up to a few hours, depending on the quantum of records in both tiny+ and Synergy which you need to initially sync. Please set aside some time to read these instructions carefully before proceeding.
{% endhint %}

Firstly, navigate to **Account Settings -> Synergy**.

![](/files/-MJd3VXjh8HXejRIqdJB)

Click **sign in to Synergy**, and log in with your Synergy credentials.

After you have successfully logged in and returned to tiny+, unless you have been advised not to, you should choose the **Option 1: Setup Wizard** to continue your integration setup.

On the next screen, you will be asked to synchronise your team members between Synergy and tiny+. Make sure that your user has been matched with your equivalent Synergy login in the table, then click **Save and continue**.

On the following screen, you'll be asked to synchronise your pipeline stages between tiny+ and Synergy. If you have not yet set up any pipeline stages in tiny+, you can simply click '**Save configuration**'.

You should then be presented with a '**begin import**' button.&#x20;

{% hint style="info" %}
**Please note** that depending on the number of projects/companies/contacts that tiny+ will be importing from Synergy these imports may take several hours. After you click 'begin import' you may safely navigate away from the import screen. You'll be notified by email when the import is complete.
{% endhint %}

## Sync reference

### Projects / Projects

* When enabled, all projects added in Synergy are automatically synced to tiny+.&#x20;
* When enabled, all projects added in tiny+ are automatically synced to Synergy.
* It is possible to lock certain project statuses in tiny+ so they are not synced to Synergy.
* For existing project records in either system, manual sync tools are provided.

#### **What fields are synced?**

Changes made to synchronised fields in either system and reflected in the other system. Arrows in the table below indicate the direction of sync for each field.

| Synergy         |      | tiny+           | Notes                                                                                                                                                                |
| --------------- | :--: | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name            |  <>  | Project Name    |                                                                                                                                                                      |
| Status          |  <>  | Project Status  |                                                                                                                                                                      |
| Project #       |   >  | Project Number  | Synergy generates this number automatically. If you set a project number in tiny+, the number will be overridden by Synergy.                                         |
| Client          | <>\* | Client Company  | Once set, this field can only be edited by Synergy. It will be locked in tiny+.                                                                                      |
| Project Type    |  <>  | Project Type    | Make sure you set up your linked Project Types before activating your syn&#x63;**.**                                                                                 |
| Project Manager |  <>  | Assigned To     | The team member must be a user synced with a matching Synergy staff member. Otherwise the user will default to the user who activated the tiny+/Synergy integration. |
| Project Address |  <>  | Project Address |                                                                                                                                                                      |
| Total Fee       | <>\* | Fee Value       | Once set, this field can only be edited by Synergy. It will be locked in tiny+. tiny+ will show the sum of all project stages fee values.                            |
| Scope           |  <>  | Description     |                                                                                                                                                                      |
|                 |   >  | External URL    | We automatically populate this field with a link to the project in Synergy.                                                                                          |

\* - initial sync can come from tiny+, after that only Synergy may change this field.

### Companies / Contacts

* When enabled, all ‘Contacts’ added in Synergy are automatically added as Companies in tiny+.&#x20;
* When enabled, all Companies added in tiny+ are automatically synced as ‘Contacts’ to Synergy.
* For existing company records in either system, manual sync tools are provided.

#### **What fields are synced?**

Changes made to synchronised fields in either system and reflected in the other system. Arrows in the table below indicate the direction of sync for each field.

| Synergy        |    | tiny+            |                                                                             |
| -------------- | -- | ---------------- | --------------------------------------------------------------------------- |
| Name           | <> | Company Name     |                                                                             |
| Office Address | <> | Physical Address |                                                                             |
| Email          | <> | Email            |                                                                             |
| Website        | <> | Website          |                                                                             |
| ABN            | <> | ABN              |                                                                             |
| Mobile         | <> | Mobile           |                                                                             |
| Phone          | <> | Office Phone     |                                                                             |
| Twitter        | <> | Twitter          |                                                                             |
|                | >  | External URL     | We automatically populate this field with a link to the company in Synergy. |

### Contacts / Personnel

* When enabled, all ‘Personnel’ added in Synergy are automatically added as ‘Contacts’ in tiny+.&#x20;
* When enabled, all Contacts added in tiny+ are automatically synced as ‘Personnel’ to Synergy, as long as they have a related company that is also synced to Synergy.
* For existing contact records in either system, manual sync tools are provided.

#### **What fields are synced?**

Changes made to synchronised fields in either system and reflected in the other system. Arrows in the table below indicate the direction of sync for each field.

| Synergy        |    | tiny+            | Notes                                                                                                                                                                                                                                                               |
| -------------- | -- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| First Name     | <> | Name             | The first name and last name fields in Synergy and merged in tiny+, and vice versa.                                                                                                                                                                                 |
| Last Name      | <> | Name             |                                                                                                                                                                                                                                                                     |
| Phone          | <> | Direct Telephone |                                                                                                                                                                                                                                                                     |
| Title          | <> | Role             |                                                                                                                                                                                                                                                                     |
| Email          | <> | Email            |                                                                                                                                                                                                                                                                     |
| Website        | <> | Website          |                                                                                                                                                                                                                                                                     |
| Mobile         | <> | Mobile           |                                                                                                                                                                                                                                                                     |
| Office Phone   | <> | Office Phone     |                                                                                                                                                                                                                                                                     |
| Twitter        | <> | Twitter          |                                                                                                                                                                                                                                                                     |
| Roles          | >  | Contact Roles    | You can *optionally* turn on a sync of all the different project roles a contact has been assigned in Synergy to a tag collection in tiny+. This can be helpful for sorting and categorising your contacts. Turn this on in the Synergy Account Settings dashboard. |
| Parent Contact | <> | Related Company  | If this field is blank in a contact added in tiny+, and/or the related company is not synced with Synergy, then the contact will not be synchronised from tiny+ to Synergy.                                                                                         |
|                | >  | External URL     | We automatically populate this field with a link to the contact in Synergy.                                                                                                                                                                                         |

### Team Members / Staff

* All ‘Staff’ added in Synergy are automatically added as Ghost Team Members in tiny+.  Ghost team members are not able to log in and do not incur a fee to your account. Ghost team members can be activated in tiny+ manually at any time.
* No changes made to staff members are synchronised back to Synergy. Fields controlled by Synergy are greyed out in tiny+.
* For existing staff records in Synergy, manual sync tools are provided to connect these with tiny+ staff accounts. These can be used without enabling a continuous sync.&#x20;

#### **What fields are synced?**

Changes made to synchronised fields in Synergy are reflected in tiny+. Arrows in the table below indicate the direction of sync for each field.

| Synergy   |   | tiny+         | Notes                                                                               |
| --------- | - | ------------- | ----------------------------------------------------------------------------------- |
| First     | > | Name          | The first name and last name fields in Synergy and merged in tiny+, and vice versa. |
| Last      | > | Name          |                                                                                     |
| Email     | > | Email Address |                                                                                     |
| Work      | > | Direct Phone  |                                                                                     |
| Mobile    | > | Mobile        |                                                                                     |
| Job title | > | Title         |                                                                                     |
|           | > | External URL  | We automatically populate this field with a link to the team member in Synergy.     |


# Mailchimp

Email campaign software integration between tiny+ and Mailchimp.


# Zapier

{% hint style="success" %}
Coming soon...
{% endhint %}


# Custom integrations

Looking to connect your custom business application to tiny+?

## Software developer in-house?

Take advantage of our [open API](/api/intro).

## Request a new integration

Use our [feature request form](https://crm.tiny.plus/feedback) and let us know what you're looking for!

## Maybe we can help...

We have built many custom integrations of practice management software and other business tools with tiny+ for our clients.&#x20;

Find out what we can do for you... Contact your tiny+ account manager or email <contact@tiny.plus>.


# Advanced topics


# Project date fields

Here we explain the purpose of each date field in tiny+ for projects.

This information is most useful to advanced administrators and system-integrators.

| Name                                                                | Field Type | Purpose                                                                                                                                   | Access     |
| ------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| <p>Created Date</p><p><code>created\_date</code></p>                | DateTime   | The datetime the record was first created.                                                                                                | Read-only  |
| <p>Modified Date</p><p><code>modified\_date</code></p>              | DateTime   | The datetime the record was most recently updated.                                                                                        | Read-only  |
| <p>Start Year</p><p><code>year\_start</code></p>                    | Integer    | An optional field which can hold the calendar year (eg 2019) that the project started.                                                    | Read/Write |
| <p>Start Date</p><p><code>start\_date</code></p>                    | DateTime   | An optional field that you can populate with the date the project began.                                                                  | Read/Write |
| <p>End Date</p><p><code>end\_date</code></p>                        | DateTime   | An optional field that you can populate with the date the project concluded.                                                              | Read/Write |
| <p>Close Date</p><p><code>close\_date</code></p>                    | DateTime   | This field is autopopulated with the datetime stamp a project is marked as Won, Active, Lost or Cancelled. It can be manually overridden. | Read/Write |
| <p>Completed Date</p><p><code>completed\_date</code></p>            | DateTime   | This field is autopopulated with the datetime stamp a project is marked as Completed. It can be manually overridden.                      | Read/Write |
| <p>Expected Start Date</p><p><code>expected\_start\_date</code></p> | Date       | <p>A user-entered date for when the project is expected to commence.                                                                      |            |

</p><p>This field, combined with <code>expected_duration</code> and <code>expected_finish_date</code> are presented together in the user interface and are semi-automatically populated based on related values. </p> | Read/Write |
| <p>Expected Duration</p><p><code>expected_duration</code></p>           | String (ISO 8601 Duration-only format) | <p>A user provided period identifying the expected length of time this project will run for.</p><p>(eg. P4M for 4 months, P14D for 2 weeks, P40D for 40 days).</p><p>This is parsed input so the user just selects days/weeks/months and enters a number.</p>                            | Read/Write |
| <p>Expected Finish Date</p><p><code>expected_finish_date</code></p>     | Date                                   | A user provided date for when the project is expected to conclude.                                                                                                                                                                                                                          | Read/Write |
| <p>Proposal Received Date</p><p><code>proposal_received_date</code></p> | Date                                   | A user provided date for managing proposals. This tracks when a fee proposal is received.                                                                                                                                                                                                   | Read/Write |
| <p>Proposal Due Date</p><p><code>proposal_due_date</code></p>           | Date                                   | A user provided date for managing proposals. This tracks when a fee proposal is due.                                                                                                                                                                                                        | Read/Write |


# Single Sign-On (Azure)

Allow your users to log in with your domain usernames and passwords.

{% hint style="success" %}
This is a Pro plan feature
{% endhint %}

## Prerequisites

This feature requires:

* An active [Azure Active Directory](https://azure.microsoft.com/en-us/services/active-directory/) tenant for your organisation containing all users attached to your domain
* Your tiny+ user account email address domains must match your Azure Active Directory domain enable them Single Sign-On. Sub-domains or variations on your email domain are not currently supported. For example if your tiny+ login is <jane.donaldson@mycompany.com>, and your Azure Active Directory login is <jane.donaldson@ad.mycompany.com> or <jane.donaldson@mycompany.net> then you will not be able to activate this feature.&#x20;
* Your tiny+ admin user account must use the same Azure domain.

## Enable Single Sign-On for your account

{% hint style="info" %}
You must be an Account Admin to enable this feature.
{% endhint %}

Navigate to [Account Settings -> Single Sign On](https://crm.tiny.plus/account/sso).

![](/files/-M4vIP5oh6vHOGFVmVbe)

Click *Enable SSO for \[your domain]*.

You will be asked to log in to Azure Active Directory. Please log in with an account capable of granting organisational consent on behalf of the directory.

![](/files/-M4vLx6rsk-jzIT2XfEN)

Accept the permissions and you will be redirected back to tiny+. Confirm that your domain has been added to the *Single Sign On enabled domains* list.

Once permissions are granted, all existing users with tiny+ logins for the domain added will now log in to tiny+ with their Active Directory username and password. If your user does not have an enabled Active Directory user account, they will be unable to log in to tiny+.

Please be aware, tiny+ will not communicate this change to your users on your behalf. You should prepare your own communications to your users regarding this change.

## What will my users see?

When logging in to an SSO-enabled domain, the login screen will hide the 'password' field once it detects a valid domain, and the 'Login' button will be replaced with a 'Continue' button. The user will be redirected to log in with their Azure Active Directory credentials. If the user is already logged in on their browser, this may happen with no user prompts.

![](/files/-M4vOfbCCrce3eoERBgJ)

## Account Provisioning / Deprovisioning

Your user account provisioning and management will still need to be handled in tiny+.

Note that any users whose Azure AD accounts are disabled will be unable to log in to tiny+.

## Notes and other considerations

* New users added to your tiny+ account will be required to set a tiny+ password when they first sign up, but all subsequent logins will use Azure Active Directory for authentication.
* Be wary of email address discrepancies between Active Directory and tiny+. For example, imagine user Jane Donaldson has two email addresses - <jdonaldson@mycompany.com> and <jane.donaldson@mycompany.com>. Her Active Directory email login is <jdonaldson@mycompany.com> however her tiny+ login uses the jane.donaldson@ address. Once Single Sign-On is enabled, Jane will no longer be able to access tiny+ until her tiny+ email address is changed to match her Active Directory login address.

## More questions?

If you have any queries or would like support in the use of this feature, please contact our [support team](https://crm.tiny.plus/help).


# Introduction

The information in this section of our site is intended for application builders and people with some programming experience, who are looking to build an integration with tiny+.


# Getting access

Which method you'll use to access our API will depend on what you're planning to build. Read on to find the best method for your use case.

## I'm a tiny+ customer building a marketing website to capture contacts and leads into tiny+

If you're a tiny+ customer and would like to capture enquiries, contacts or leads directly from your website, you can register for a [Javascript token](/api/getting-access/javascript-token). This token will allow you to create Projects, Enquiries and Contacts directly from your website.&#x20;

## I'm a tiny+ customer building an integration for my own organisation

If you're a tiny+ customer and would like to build an integration between tiny+ and another system your firm uses; such as an intranet, a practice management platform or a reporting service, you can generate a [Simple access token](/api/getting-access/getting-an-access-token).

## I'm building an integration for other tiny+ customers

If you are building an integration between tiny+ and your own application, and you want your customers to be able to access their tiny+ data in your application, you'll need to register for a [Client App](/api/getting-access/register-a-client-app).


# Javascript token

If you're a tiny+ customer and would like to capture enquiries, contacts or leads directly from your website, you need a Javascript token.

Javascript tokens differ from Simple access tokens in that they have limited permissions, can be locked to a single domain, and you can safely use them in a client-side Javascript script.&#x20;

A Javascript token allows you to create Projects, Enquiries and Contacts directly from your website using vanilla Javascript, jQuery or another Javascript framework.


# Simple access token

## Building an integration just for your company?

Are you building an integration to only access your own tiny+ data?&#x20;

Rather than registering for a [Client App](/api/getting-access/register-a-client-app), you can get a simple long-life access token by visiting [crm.tiny.plus/account/api\_access](https://crm.tiny.plus/account/api_access).

These tokens make accessing our API much simpler. However, they have some important caveats...

You'll need to be an *account admin* to access this page, and the access token will become invalidated if your user account is ever disabled or deleted.

## Important considerations...

{% hint style="info" %}
Treat your access token like a password. Anyone who has it can access your tiny+ account.
{% endhint %}

A couple of really important points about how to use your access token.

1. **Treat your access token like a password to your tiny+ account.** \
   This means that you should NEVER include it in a public Git repository, or in the Javascript code of a website you build.&#x20;
2. **Only use these access tokens in server-side code.** \
   These tokens should only ever be used in server-side code, such as in a PHP script.
3. **Actions performed when using our API with this access token will be in the context of your user account.**\
   It may be worthwhile creating a user account in tiny+ that belongs to the integration you are building.
4. **The access token will stop working if your user acconut is disabled or deleted.**\
   You will need another user to generate a new access token if your account is ever going to be deleted.

If you believe your access token has been compromised, you should go to  [crm.tiny.plus/account/api\_access](https://crm.tiny.plus/account/api_access) as soon as possible and revoke it, and generate a new one.


# Register a Client App

{% hint style="info" %}
&#x20;You only need a Client App if you're building an integration for other tiny+ customers, not just your organisation.
{% endhint %}

Are you building an integration with tiny+, and need a way to allow your customers to access their tiny+ data in your app? You'll need to register a Client App.

## Get in touch to register a client app

Currently the only way to register a client app is by emailing <support@tiny.plus>.&#x20;

Please provide a name for your app, a short paragraph describing your intended usage, and a callback URL.We will get back to you ASAP.


# oAuth Authorisation process

We use the oAuth 2.0 Implicit workflow to grant access tokens.

## Create the oAuth request

In your app, provide a Login button that makes a request, as follows.

## oAuth Authorisation

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

This will present a login screen and a permission screen to the user.

#### Query Parameters

| Name           | Type   | Description                                                                                                                                      |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| response\_type | string | Set this to `token`.                                                                                                                             |
| client\_id     | string | Your app's `client_id`, provided by tiny+.                                                                                                       |
| redirect\_uri  | string | Provide the full URI for redirection at the conclusion of the auth flow.                                                                         |
| scope          | string | Set this to `read` or `readwrite`, depending on your requirements.                                                                               |
| state          | string | Provide a CSRF token that we will provide back to you at the end of the auth flow. This helps protect your users from man in the middle attacks. |

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

```
https://[yoururl]?token_type=Bearer&expires_in=[TTL]&access_token=[your access token]&state=[your provided CSRF token]
```

{% endtab %}
{% endtabs %}


# Endpoints


# Projects

## Get a Project

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

This endpoint allows you to get a full Project record.

#### Path Parameters

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

#### 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 Project successfully retrieved." %}

```javascript
{
    "id": 1233
    "name": "RACF, Auchenflower",
    "record_status": "active",
    "description": "A new aged care facility.",
    "assigned_user": 1231,
    ...
}
```

{% endtab %}

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

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

{% endtab %}
{% endtabs %}

#### Example Usage

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

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/projects/{{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/projects/{{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 Projects

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

This endpoint allows you to get a paginated list of Projects, 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 projects for user 1232:</em><br><code>/projects/?assigned\_user=1232</code><br><br><em>To return all projects modified after a date:</em><br><code>/projects/?modified\_date=>2019-01-01 14:00:00</code><br><br><em>To return all Active projects:</em><br><code>/projects/?record\_status=active</code></p> |
| with\_health    | boolean | If this key is present, we will return a `health` key for each returned record, which is a score between 0 and 100 identifying the relative health of that Project record.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 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 Project Team.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 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 Project Team, *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  | Provide a field name and optionally a direction separated by a space to sort the returned results. For example, `modified_date desc` to return the most recently modified records. The two directions available are `asc` and `desc`. If you do not provide a direction `asc` is assumed. You can sort by any Number, Date or Text field in the **Fields Reference** below.                                                                                                                                                                                                                                                                                                                           |
| 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 project fields." %}

```
{
    total_records: 125,
    returned_records: 50,
    records: [
        {
            id: 1234,
            name: 'Example Project',
            ...
        },
        {
            id: 1235,
            name: 'Second Example Project',
            ...
        }
    ]
}
```

{% endtab %}
{% endtabs %}

#### Example Usage

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

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/projects?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/projects?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 Project

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

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

#### 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": "New RACF, Auchenflower",</code><br>    <code>"record\_status": "proposal",</code><br>    <code>"assigned\_user": 27110</code><br>    <code>"description": "A new aged care facility"</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 Project

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

You can edit a tiny+ Project with this endpoint. In the request body, you only need to provide the fields that you would like to change. These can be provided as either a JSON object or in `application/x-www-form-urlencoded` format.

#### Path Parameters

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

#### 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": "New RACF, Auchenflower",</code><br>    <code>"record\_status": "proposal",</code><br>    <code>"assigned\_user": 27110,</code><br>    <code>"description": "A new aged care facility"</code><br>    <code>....</code><br><code>}</code></p> |

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

```
```

{% endtab %}
{% endtabs %}

## Delete a Project

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

Delete a Project record.

#### Path Parameters

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

#### Headers

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

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

```
```

{% endtab %}

{% tab title="400 " %}

```
```

{% endtab %}
{% endtabs %}

## Projects 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> | Project Name.                                                                                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| description            |                                 String                                 | Description.                                                                                                                                                                                                                                                                                                                                                                                                                          |    Full    |
| created\_date          |                          String (Y-m-d h:i:s)                          | Date record was first created.                                                                                                                                                                                                                                                                                                                                                                                                        |  Read-only |
| modified\_date         |                          String (Y-m-d h:i:s)                          | 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\_status         |                                 String                                 | <p>The status of the Project. Values you can use: <code>proposal</code>, <code>won</code>, <code>active</code>, <code>completed</code>, <code>lost</code>, <code>cancelled</code>.</p><p><em>When adding or editing a project, if your account is using additional phases for project status, you must pass the correct phase ID here in place of the possible values.</em></p>                                                       |    Full    |
| record\_url            |                                 String                                 | The fully qualified URI of the record.                                                                                                                                                                                                                                                                                                                                                                                                |  Read-only |
| project\_number        |                                 String                                 | The user-friendly identifier for this project.                                                                                                                                                                                                                                                                                                                                                                                        |    Full    |
| primary\_company\_id   |                              String \| ID                              | <p>When reading this field, it will display the ID of the primary related company. </p><p></p><p>When adding or updating, you can provide EITHER an ID, or a string with the company name. If you provide a string, a company will be created with that name. If a company with that exact name already exists, it will be matched to that company.</p>                                                                               |    Full    |
| year\_start            |                                 Number                                 | A YYYY date. eg. 2019                                                                                                                                                                                                                                                                                                                                                                                                                 |    Full    |
| project\_value         |                                Currency                                | <p>The value of the project, to 2 decimal places. Do not include currency signs when adding or updating. eg provide </p><p><code>20000.00</code> for $20,000.</p>                                                                                                                                                                                                                                                                     |    Full    |
| fee\_value             |                                Currency                                | <p>The fee value, to 2 decimal places. Do not include currency signs when adding or updating. eg provide </p><p><code>20000.00</code> for $20,000.</p>                                                                                                                                                                                                                                                                                |    Full    |
| folder\_location       |                                 String                                 | A field to set a local or network folder location, for example to a network drive in a corporate network.                                                                                                                                                                                                                                                                                                                             |    Full    |
| testimonial            |                                 String                                 | A client testimonial provided by the user about this project.                                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| website\_link          |                                   URL                                  | An external URL that hosts information about this Project.                                                                                                                                                                                                                                                                                                                                                                            |    Full    |
| project\_address       |                                 String                                 | A project's physical address.                                                                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| close\_date            |                      String (YYYY-MM-DD hh:mm:ss)                      | The datetime stamp that the project was marked as won, lost or cancelled.                                                                                                                                                                                                                                                                                                                                                             |  Read-only |
| expected\_start\_date  |                           String (YYYY-MM-DD)                          | A user provided date for when the project is expected to commence.                                                                                                                                                                                                                                                                                                                                                                    |    Full    |
| expected\_duration     |                 String (ISO 8601 Duration-only format)                 | <p>A user provided period identifying the expected length of time this project will run for.</p><p>(eg. <code>P4M</code> for 4 months, <code>P14D</code> for 2 weeks, <code>P40D</code> for 40 days)</p>                                                                                                                                                                                                                              |    Full    |
| expected\_finish\_date |                           String (YYYY-MM-DD)                          | A user provided date for when the project is expected to conclude.                                                                                                                                                                                                                                                                                                                                                                    |    Full    |
| probability            |                             Number (0-100)                             | The percentage chance the project will close.                                                                                                                                                                                                                                                                                                                                                                                         |    Full    |
| completed\_date        |                      String (YYYY-MM-DD hh:mm:ss)                      | The datetime stamp the project was marked as completed.                                                                                                                                                                                                                                                                                                                                                                               |  Read-only |
| created\_date\_daysago |                                 Number                                 | How long since the project was created, in days.                                                                                                                                                                                                                                                                                                                                                                                      |  Read-only |
| start\_date            |                           String (YYYY-MM-DD)                          | The recorded date the project began.                                                                                                                                                                                                                                                                                                                                                                                                  |    Full    |
| end\_date              |                           String (YYYY-MM-DD)                          | The recorded date the project finished.                                                                                                                                                                                                                                                                                                                                                                                               |    Full    |
| photographer           |                                  Text                                  | The photographer used on the project.                                                                                                                                                                                                                                                                                                                                                                                                 |    Full    |
| awards                 |                                  Text                                  | The awards given to the project.                                                                                                                                                                                                                                                                                                                                                                                                      |    Full    |
| extra\_notes           |                                  Text                                  | An extra notes field.                                                                                                                                                                                                                                                                                                                                                                                                                 |    Full    |
| referee                |                                  Text                                  | The project referee.                                                                                                                                                                                                                                                                                                                                                                                                                  |    Full    |
| external\_url          |                          String or JSON object                         | <p>A link to this project 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    |


# Companies

## Get a Company

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

This endpoint allows you to get a full Company record.

#### Path Parameters

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

#### 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 Company successfully retrieved." %}

```javascript
{
    "id": 1237
    "name": "Auchenflower Aged Care",
    "record_status": "prospect",
    "description": "A large aged care provider based in Queensland, Australia.",
    "assigned_user": 1231,
    ...
}
```

{% endtab %}

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

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

{% endtab %}
{% endtabs %}

#### Example Usage

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

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/companies/{{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/companies/{{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 Companies

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

This endpoint allows you to get a paginated list of Companies, 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 projects for user 1232:</em><br><code>/projects/?assigned\_user=1232</code><br><br><em>To return all projects modified after a date:</em><br><code>/projects/?modified\_date=>2019-01-01 14:00:00</code><br><br><em>To return all Active projects:</em><br><code>/projects/?record\_status=active</code></p> |
| with\_health    | boolean | If this key is present, we will return a `health` key for each returned record, which is a score between 0 and 100 identifying the relative health of that Company record.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 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 Project Team.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 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 Project Team, *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/companies?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/companies?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 Company

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

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

#### 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": "Auchenflower Aged Care",</code><br>    <code>"record\_status": "prospect",</code><br>    <code>"assigned\_user": 27110,</code><br>    <code>"description": "A large aged care provider based in Queensland, Australia."</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 Company

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

You can edit a tiny+ Company with this endpoint. Note: you only need to pass the field you wish to change.

#### Path Parameters

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

#### 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>"record\_status": "active",</code><br>    <code>"assigned\_user": 27111</code><br>    <code>....</code><br><code>}</code></p> |

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

```
```

{% endtab %}
{% endtabs %}

## Delete a Company

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

Delete a Company record.

#### Path Parameters

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

#### Headers

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

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

```
```

{% endtab %}

{% tab title="400 " %}

```
```

{% endtab %}
{% endtabs %}

## Companies 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> | Company Name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |    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\_status |                                 String                                 | <p>The relationship status of the Company. Note that this status field is intended for client companies, so non-client companies should not recieve a relationship status. Values you can use: <code>prospect</code>, <code>active</code>, <code>latent</code>, <code>"" - ie blank</code>.</p><p><em>When adding or editing a company, if your account is using additional phases for company relationship status, you must pass the correct phase ID here in place of the possible values.</em></p> |    Full    |
| record\_url    |                                 String                                 | The fully qualified URI of the record.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |  Read-only |
| external\_url  |                          String or JSON object                         | <p>A link to this company 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    |


# 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    |


# Enquiries

## Get an Enquiry

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

This endpoint allows you to get a full Enquiry record.

#### Path Parameters

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

#### 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 Enquiry successfully retrieved." %}

```javascript
{
    "id": 1301
    "name": "New Project",
    "contact_name": "Adam Adamson",
    "contact_company": "Adamson Developments",
    "contact_email": "adam@adamson.com",
    "assigned_user": 1231,
    ...
}
```

{% endtab %}

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

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

{% endtab %}
{% endtabs %}

#### Example Usage

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

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/enquiries/{{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/enquiries/{{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 %}

## Create an Enquiry

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

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

#### 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": "New Project",</code><br>    <code>"assigned\_user": 27110,</code><br>    <code>"description": "A new aged care facility",</code><br>    <code>"contact\_name": "Andrew Xavier",</code><br>    <code>"contact\_company": "Xavier Developers"</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 %}

## Enquiries 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> | Identifying Name / Title.                                                                                                                                                                                                                                            |    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 |
| record\_status   |                 <p>String <br>(or ID for add/edit)</p>                 | The current status of this enquiry. Can be either `open` or `closed`. When adding/editing, you can pass a record\_phase ID here instead of the string if you have configured these.                                                                                  |    Full    |
| contact\_name    |                              String or ID                              | When reading, will display either a String if the contact has not been created separately in tiny+, or an ID of the primary related contact if they already exist in tiny+. When editing, you can provide a string, or provide an ID to link to an existing contact. |    Full    |
| contact\_company |                              String or ID                              | When reading, will display either a String if the company has not been created separately in tiny+, or an ID of the primary related company if they already exist in tiny+. When editing, you can provide a string, or provide an ID to link to an existing company. |    Full    |
| contact\_email   |                                 String                                 | The contact's email address.                                                                                                                                                                                                                                         |    Full    |
| contact\_phone   |                                 String                                 | The contact's phone number.                                                                                                                                                                                                                                          |    Full    |
| contact\_role    |                                 String                                 | The contact's role or position.                                                                                                                                                                                                                                      |    Full    |
| followup\_date   |                                  Date                                  | When the enquiry should be followed up. If left blank when adding a new enquiry, defaults to +2 business days.                                                                                                                                                       |    Full    |
| notes            |                                 String                                 | An extra area for notes.                                                                                                                                                                                                                                             |    Full    |
| location\_id     |                                 String                                 | A project's physical address. Will be parsed and geocoded after being added.                                                                                                                                                                                         |    Full    |


# Team Members

{% hint style="warning" %}
Full endpoint documentation coming soon.
{% endhint %}

## Team Members 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> | Name.                                                                                                                                   |    Full    |
| email               |                              Email Address                             | <p>The user's email address. </p><p>\*Cannot be edited when record\_status is set to <code>active</code>.</p>                           |   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 |
| record\_status      |                                 String                                 | The current status of this user account. Can be either `active` or `ghost` or `deactivated`.                                            |    Full    |
| notes               |                                 String                                 | An extra area for notes.                                                                                                                |    Full    |
| role                |                                 String                                 | The staff member's role or title.                                                                                                       |    Full    |
| extension           |                                 String                                 | Internal phone extension.                                                                                                               |    Full    |
| direct              |                                 String                                 | Direct telephone number.                                                                                                                |    Full    |
| mobile              |                                 String                                 | Mobile telephone number.                                                                                                                |    Full    |
| qualifications      |                                 String                                 | The user's post-nominals, if any. eg 'BBus(Mkt)'.                                                                                       |    Full    |
| twitter             |                                 String                                 | The user's Twitter handle.                                                                                                              |    Full    |
| linkedin            |                                 String                                 | The user's LinkedIn URL.                                                                                                                |    Full    |
| birthday            |                                  Date                                  | The user's date of birth. (Note, only the day and month will be visible to other users)                                                 |    Full    |
| last\_visit\_date   |                                Datetime                                | The last time the user accessed tiny+.                                                                                                  |  Read-only |
| timezone            |                                 String                                 | The user's timezone eg. Australia/Sydney. The timezone must be a supported [PHP timezone](https://www.php.net/manual/en/timezones.php). |    Full    |
| generate\_followups |                                 Boolean                                | Whether to show user follow-up messages about their records.                                                                            |    Full    |


# Tasks

Coming soon.


# Meetings

Coming soon.


# Posts

Known as 'Updates' in the API.

## Get a Post by ID

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

This endpoint allows you to get a single news feed post.

#### 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 Update 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 post matching the provided ID." %}

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

{% endtab %}
{% endtabs %}

#### Example Usage

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

```javascript
var settings = {
  "url": "https://api.tiny.plus/v2/updates/{{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/updates/{{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 Posts

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

This endpoint allows you to get a paginated list of News Feed Posts, 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 posts made by user 1232:</em><br><code>/updates/?created\_user=1232</code><br><br><em>To return all posts made after a date:</em><br><code>/updates/?created\_date=>2020-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`.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| subscribed      | string  | 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 for Posts is <code>id desc</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 <code>array</code>, you will receive a simple JSON array of records objects. When set to <code>object</code>, you will receive a JSON object containing record objects as properties keyed by each record's ID. </p>                                                                                                                                                                                                                                                        |

#### Headers

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

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

```
```

{% endtab %}
{% endtabs %}

#### Example Usage

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

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

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

{% endtab %}
{% endtabs %}

## Create a Post

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

You can create a new news feed post with this endpoint. &#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                                                                                                                                                                                                        |
| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| description   | string  | The content of the new post you want to make. Do not include HTML.                                                                                                                                                 |
| related\_id   | integer | A single record id of a project, company, contact or other tiny+ record which this post relates to.                                                                                                                |
| extra\_ids    | string  | <p>Pass optional extra ids, separated by a comma (,) of any supported record type(s) to also relate the post to these records. You may pass up to 5 record ids in this way.<br>eg: <code>2555,2264,2222</code></p> |
| created\_user | integer | The user id who should be attributed to this post. The default is the user related to the access token.                                                                                                            |

{% 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 %}

## Delete a Post

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

Delete a News Feed Post.

#### Path Parameters

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

#### Headers

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

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

```
```

{% endtab %}
{% endtabs %}

## Posts Field Reference

| Field                 |                      Type                     | Details                                                                                                                | Permission |
| --------------------- | :-------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------- | :--------: |
| id                    |                     Number                    | Unique record identifier.                                                                                              |  Read-only |
| name                  |             Auto-generated String             | This is an auto-generated shortening of the start of the description field, with all non-printable characters removed. |    Full    |
| description           | <p>String</p><p><strong>REQUIRED</strong></p> | The body of the post.                                                                                                  |    Full    |
| description\_HTML     |                     String                    | The description field but with certain HTML elements intact, such as embedded videos.                                  |  Read-only |
| 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    |
| record\_url           |                     String                    | The fully qualified URI of the record.                                                                                 |  Read-only |
| created\_user\_record |                     Object                    | An object containing details about the created\_user.                                                                  |  Read-only |
| attached              |                     Object                    | An array of objects containing all the related records attached to this post.                                          |  Read-only |
| images                |                     Object                    | An array of objects containing details of any images associated with this post.                                        |  Read-only |
| social                |                     Object                    | Refer below.                                                                                                           |  Read-only |
| broadcast             |                    Boolean                    | Whether to show this post in the main tiny+ news feed. Either `true` or `false`. Default is `true`.                    |    Full    |


