# Contact metadata

## Table of contents

[Locations](#locations-addresses)

[Phone numbers](#phone-numbers)

[Email addresses](#email-addresses)

[Relationships](#contact-relationships)

[Tags](#tags)

[Expertise tags](#expertise-tags)

[Pets](#pets)

[Gifts](#gifts)

[Notes](#notes)

## Locations / addresses

### View a contact's locations

## Fetch a list of contact's addresses

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses`

Returns a list of an contact's locations/addresses.

#### Query Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Create a location for a contact

## Create a contact's address

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses`

#### Request Body

| Name                                                         | Type   | Description |
| ------------------------------------------------------------ | ------ | ----------- |
| address\[address\_line\_1]<mark style="color:red;">\*</mark> | String |             |
| address\[address\_line\_2]                                   | String |             |
| address\[address\_line\_3]                                   | String |             |
| address\[locality]<mark style="color:red;">\*</mark>         | String |             |
| address\[region]<mark style="color:red;">\*</mark>           | String |             |
| address\[postcode]<mark style="color:red;">\*</mark>         | String |             |
| address\[country]<mark style="color:red;">\*</mark>          | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'address[address_line_1]=742 Evergreen Terrace' \
    -d 'address[locality]=Springfield' \
    -d 'address[region]=Illinois' \
    -d 'address[postcode]=54321' \
    -d 'address[country]=United States of America'
```

{% endtab %}
{% endtabs %}

### Update a contact's location

## Update an address

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses/:address_id`

#### Request Body

| Name                                                 | Type   | Description |
| ---------------------------------------------------- | ------ | ----------- |
| address\[address\_line\_1]                           | String |             |
| address\[address\_line\_2]                           | String |             |
| address\[address\_line\_3]                           | String |             |
| address\[locality]<mark style="color:red;">\*</mark> | String |             |
| address\[region]<mark style="color:red;">\*</mark>   | String |             |
| address\[postcode]<mark style="color:red;">\*</mark> | String |             |
| address\[country]<mark style="color:red;">\*</mark>  | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses/:address_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'address[address_line_2]=Attn: Bart'
```

{% endtab %}
{% endtabs %}

### Delete a location/address

## Delete an address

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses/:address_id`

#### Path Parameters

| Name                                           | Type   | Description |
| ---------------------------------------------- | ------ | ----------- |
| :contact\_id<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name         | Type   | Description                                                                   |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| soft\_delete | String | [Learn more about deleting records](/api/introduction/deleting-resources.md). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/addresses/:address_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Phone numbers

### View a contact's phone numbers

## Fetch a list of a contact's phone numbers

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers`

Returns a paginated list of a contact's phone numbers.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| include\[] | Boolean | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### View a phone number

## Fetch a single phone number

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id`

#### Path Parameters

| Name                                         | Type | Description |
| -------------------------------------------- | ---- | ----------- |
| :phone\_id<mark style="color:red;">\*</mark> | UUID |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Add a phone number to a contact record

## Create a phone number

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id`

#### Request Body

| Name                                                            | Type | Description                                                  |
| --------------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| phone\_number\[phone\_number]<mark style="color:red;">\*</mark> | UUID | Accepts a phone string with an extension. See example below. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'phone_number[phone_number]=800-555-5555 ext. 123'
```

{% endtab %}
{% endtabs %}

### Update a phone number

## Update a phone number

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id`

#### Path Parameters

| Name                                         | Type | Description |
| -------------------------------------------- | ---- | ----------- |
| :phone\_id<mark style="color:red;">\*</mark> | UUID |             |

#### Request Body

| Name                          | Type    | Description                                                         |
| ----------------------------- | ------- | ------------------------------------------------------------------- |
| phone\_number\[phone\_number] | String  |                                                                     |
| phone\_number\[deleted]       | Boolean | If set to `false` this will 'undelete' a previously deleted record. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'phone_number[phone_number]=8004445555'
```

{% endtab %}
{% endtabs %}

### Delete a phone number

## Delete a phone number

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id`

#### Path Parameters

| Name                                         | Type | Description |
| -------------------------------------------- | ---- | ----------- |
| :phone\_id<mark style="color:red;">\*</mark> | UUID |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/phone-numbers/:phone_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Email addresses

### View a contact's email addresses

## Fetch a list of a contact's email addresses

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/email-addresses`

Returns a paginated list of a contact's email addresses.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| include\[] | Boolean | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### View a email address

## Fetch a single email address

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id`

#### Path Parameters

| Name                                         | Type | Description |
| -------------------------------------------- | ---- | ----------- |
| :email\_id<mark style="color:red;">\*</mark> | UUID |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Add a contact's email address

## Create an email address

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails`

#### Request Body

| Name                                                     | Type   | Description |
| -------------------------------------------------------- | ------ | ----------- |
| email\[email\_address]<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'email[email_address]=marge@springfieldcity.gov'
```

{% endtab %}
{% endtabs %}

### Update an email address

## Update an email address

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id`

#### Request Body

| Name                                                     | Type   | Description |
| -------------------------------------------------------- | ------ | ----------- |
| email\[email\_address]<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'email[email_address]=marge@example.com'
```

{% endtab %}
{% endtabs %}

### Delete an email address

## Delete an email address

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id`

#### Path Parameters

| Name                                         | Type | Description |
| -------------------------------------------- | ---- | ----------- |
| :email\_id<mark style="color:red;">\*</mark> | UUID |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/emails/:email_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Contact relationships

### View contact relationships

{% hint style="danger" %}
Please note this endpoint returns a list of relationships **you create** with your contact(s). This does not return your entire contact list. If you'd like to retrieve all your contacts [visit this page](/api/prm-resources/contacts.md).
{% endhint %}

## Fetch a list of a contact's relationships

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships`

Returns a list of relationships created for a given contact.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| include\[] | String  | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### View an individual relationship

## Fetch an individual contact relationship record

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id`

#### Path Parameters

| Name                                                         | Type   | Description |
| ------------------------------------------------------------ | ------ | ----------- |
| :contact\_relationship\_id<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Create a relationship

## Create a contact relationship record

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships`

Creates a relationship record between two contacts. The [relationship](/api/account-resources/relationships.md) is assumed from the position of the contact included in the path.

#### Request Body

| Name                                                                          | Type   | Description                                                                            |
| ----------------------------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------- |
| contact\_relationship\[second\_contact\_id]<mark style="color:red;">\*</mark> | String | UUID for [the contact](/api/prm-resources/contacts.md) in the relationship.            |
| contact\_relationship\[anniversary\_date]                                     |        | yyyy-mm-dd format. [Learn more](/api/introduction/getting-started.md#dates-and-times). |
| contact\_relationship\[relationship\_id]<mark style="color:red;">\*</mark>    | String | ID of the type of relationship. [Learn more](/api/account-resources/relationships.md). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'contact_relationship[second_contact_id]=17659d00-8866-44b7-bde3-ec9816652da9' \
    -d 'contact_relationship[anniversary_date]=2020-07-22' \
    -d 'contact_relationship[relationship_id]=85fb935d-1601-4695-9e88-3e63ff019f68'
```

{% endtab %}
{% endtabs %}

### Update a relationship

## Update a relationship record

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id`

#### Path Parameters

| Name                                                         | Type   | Description                                                  |
| ------------------------------------------------------------ | ------ | ------------------------------------------------------------ |
| :contact\_relationship\_id<mark style="color:red;">\*</mark> | String | When editing the UUID should be included as a path parameter |

#### Request Body

| Name                                                                     | Type | Description                                                                            |
| ------------------------------------------------------------------------ | ---- | -------------------------------------------------------------------------------------- |
| user\_relationship\[anniversary\_date]<mark style="color:red;">\*</mark> |      | yyyy-mm-dd format. [Learn more](/api/introduction/getting-started.md#dates-and-times). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'contact_relationship[anniversary_date]=2019-07-22' \
```

{% endtab %}
{% endtabs %}

### Delete a relationship connection

## Delete a relationship record

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id`

#### Path Parameters

| Name                                                         | Type   | Description                             |
| ------------------------------------------------------------ | ------ | --------------------------------------- |
| :contact\_relationship\_id<mark style="color:red;">\*</mark> | String | UUID of the relationship to be deleted. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contact_relationships/:contact_relationship_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Tags

### View a contact's tags

## Fetch a list of a contact's tags

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags`

Returns a paginated list of an contact's tags.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| include\[] | String  | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Attach a tag to a contact

## Create a contact tag link

<mark style="color:orange;">`PUT`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags/:tag_id`

#### Path Parameters

| Name                                           | Type   | Description                                           |
| ---------------------------------------------- | ------ | ----------------------------------------------------- |
| :contact\_id<mark style="color:red;">\*</mark> | String | The [contact](/api/prm-resources/contacts.md)'s UUID. |
| :tag\_id<mark style="color:red;">\*</mark>     | String | The UUID for the [tags](/api/prm-resources/tags.md).  |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags/:tag_id \
    -X PUT \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Delete an contact tag connection

## Delete the link between a contact and a tag

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags/:tag_id`

#### Path Parameters

| Name                                           | Type   | Description |
| ---------------------------------------------- | ------ | ----------- |
| :contact\_id<mark style="color:red;">\*</mark> | String |             |
| :tag\_id<mark style="color:red;">\*</mark>     | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/tags/:tag_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Expertise tags

### View a contact's expertise tags

## Fetch a list of a contact's expertise tags

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises`

Returns a paginated list of an contact's expertise tags.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| include\[] | String  | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Attach an expertise tag to a contact

## Create a contact expertise tag link

<mark style="color:orange;">`PUT`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises/:expertise_id`

#### Path Parameters

| Name                                             | Type   | Description                                                             |
| ------------------------------------------------ | ------ | ----------------------------------------------------------------------- |
| :contact\_id<mark style="color:red;">\*</mark>   | String | The [contact](/api/prm-resources/contacts.md)'s UUID.                   |
| :expertise\_id<mark style="color:red;">\*</mark> | String | The UUID for the [expertise tag](/api/prm-resources/expertise-tags.md). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises/:expertise_id \
    -X PUT \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Delete an contact expertise tag connection

## Delete the link between a contact and an expertise tag

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises/:expertise_id`

#### Path Parameters

| Name                                             | Type   | Description |
| ------------------------------------------------ | ------ | ----------- |
| :contact\_id<mark style="color:red;">\*</mark>   | String |             |
| :expertise\_id<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name         | Type   | Description                                                                   |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| soft\_delete | String | [Learn more about deleting records](/api/introduction/deleting-resources.md). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/expertises/:expertise_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Pets

### View a contact's pets

## Fetch a list of contact's pets

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets`

Returns a paginated list of a user's pets.

#### Query Parameters

| Name  | Type    | Description                                                                                                                                                        |
| ----- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page  | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### View a pet

## Fetch a single pet

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets`

#### Path Parameters

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| :pet\_id<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Create a pet related to a contact

## Create a contact's pet

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets`

#### Request Body

| Name                                         | Type   | Description                                                                           |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------- |
| pet\[type]                                   | String | Dog, cat, etc...                                                                      |
| pet\[name]<mark style="color:red;">\*</mark> | String |                                                                                       |
| pet\[date\_of\_birth]                        | String |                                                                                       |
| pet\[secondary\_contact\_id]                 | String | UUID of another [contact](/api/prm-resources/contacts.md), useful for co-pet parents. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'pet[name]=Snowball II'
```

{% endtab %}
{% endtabs %}

### Update a pet

## Update a pet

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets/:pet_id`

#### Path Parameters

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| :pet\_id<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name                         | Type   | Description |
| ---------------------------- | ------ | ----------- |
| pet\[name]                   | String |             |
| pet\[type]                   | String |             |
| pet\[date\_of\_birth]        | String |             |
| pet\[secondary\_contact\_id] | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets/:pet_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'pet[type]=Cat'
```

{% endtab %}
{% endtabs %}

### Delete a pet

## Delete a pet

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets/:pet_id`

#### Path Parameters

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| :pet\_id<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/pets/:pet_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Gifts

### View gifts associated with a contact

## Fetch a list of contact's gifts

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts`

Returns a paginated list of a user's gifts.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| include\[] | String  | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### View a gift

## Fetch a single gift

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gift/:gift_id`

#### Path Parameters

| Name                                        | Type   | Description |
| ------------------------------------------- | ------ | ----------- |
| :gift\_id<mark style="color:red;">\*</mark> | String |             |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

### Create a gift related to a contact

## Create a contact gift

<mark style="color:green;">`POST`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts`

#### Request Body

| Name                                            | Type   | Description                               |
| ----------------------------------------------- | ------ | ----------------------------------------- |
| gift\[name]<mark style="color:red;">\*</mark>   | String |                                           |
| gift\[link]                                     | String |                                           |
| gift\[status]<mark style="color:red;">\*</mark> | String | Options: `potential`, `given`, `received` |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts \
    -X POST \
    -H 'Authorization: Bearer <token>' \
    -d 'gift[name]=Vacuum' \
    -d 'gift[status]=potential'
```

{% endtab %}
{% endtabs %}

### Update a gift

## Update a gift

<mark style="color:purple;">`PATCH`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts/:gift_id`

#### Request Body

| Name          | Type   | Description                               |
| ------------- | ------ | ----------------------------------------- |
| gift\[name]   | String |                                           |
| gift\[link]   | String |                                           |
| gift\[status] | String | Options: `potential`, `given`, `received` |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts/:gift_id \
    -X PATCH \
    -H 'Authorization: Bearer <token>' \
    -d 'gift[status]=given'
```

{% endtab %}
{% endtabs %}

### Delete a gift

## Delete a gift

<mark style="color:red;">`DELETE`</mark> `https://web.r0app.com/api/v1/orgs/:org_id`

#### Path Parameters

| Name                                        | Type   | Description |
| ------------------------------------------- | ------ | ----------- |
| :gift\_id<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name         | Type   | Description                                                                   |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| soft\_delete | String | [Learn more about deleting records](/api/introduction/deleting-resources.md). |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/gifts/:gift_id \
    -X DELETE \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}

## Notes

### View a contact's notes

## Fetch a contact's notes

<mark style="color:blue;">`GET`</mark> `https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/notes`

Returns a paginated list of notes in your account.

#### Query Parameters

| Name       | Type    | Description                                                                                                                                                        |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page       | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| limit      | Integer | For more info, see the [pagination section ](/api/introduction/getting-started.md#pagination)in the [Getting started](/api/introduction/getting-started.md) guide. |
| include\[] | String  | If set to `deleted` all active and [deleted records](/api/introduction/deleting-resources.md) will be returned in the response.                                    |
| include\[] | String  | If set to `tags` the first few tags associated with a note will be included in the response.                                                                       |

#### Example request

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

```sh
curl https://web.r0app.com/api/v1/orgs/:org_id/contacts/:contact_id/notes \
    -X GET \
    -H 'Authorization: Bearer <token>'
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

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

```
GET https://docs.r0app.com/api/prm-resources/contact-metadata.md?ask=<question>
```

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

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