# Get contact

**GET /contacts/{id}**

The complete picture of one contact: details, tags, nurture, emailability and why, Scout Score and its trend, alert preferences, alert families, saved profile and activity counts.

Requires the `contacts:read` scope. Rate budget: 300 calls per 1 minute per credential (the `read` class).


## Servers
- https://www.realscout.com/api/agent/v1: https://www.realscout.com/api/agent/v1 ()


## Authentication methods
- Bearer auth


## Parameters

### Path parameters

- **id** (string)
  The contact id.


### Query parameters

- **window_days** (integer)
  Look-back window in days for the activity counts, 1 to 90.



## Responses
### 200
OK
#### Headers

- **X-RateLimit-Limit** (integer)
  Calls allowed in the current window.

- **X-RateLimit-Remaining** (integer)
  Calls left in the current window.

- **X-RateLimit-Reset** (integer)
  Epoch seconds at which the window resets.


#### Body: application/json (object)
- **id** (string)

- **first_name** (string | null)

- **last_name** (string | null)

- **email** (string)

- **primary_mobile_phone** (string | null)

- **lead_source** (string | null)

- **external_user_key** (string | null)

- **tags** (array[string] | null)

- **external_tags** (array[string] | null)

- **realscout_tags** (array[string] | null)

- **favorite** (boolean)

- **emailable** (boolean)

- **email_issue** (string | null)

- **status** (object)

- **auto_nurture** (object)

- **created_at** (string(date-time) | null)

- **updated_at** (string(date-time) | null)

- **archived_at** (string(date-time) | null)

- **last_active_at** (string(date-time) | null)

- **last_login_at** (string(date-time) | null)

- **sign_up_source** (string | null)

- **primary_home_phone** (string | null)

- **primary_work_phone** (string | null)

- **additional_first_name** (string | null)

- **additional_last_name** (string | null)

- **additional_mobile_phone** (string | null)

- **additional_home_phone** (string | null)

- **additional_work_phone** (string | null)

- **additional_emails** (array[string])

- **street** (string | null)

- **city** (string | null)

- **state** (string | null)

- **zipcode** (string | null)

- **contact_type** (string | null)

- **price_status_alerts_enabled** (boolean)

- **exclusives_alerts_enabled** (boolean)

- **scout_score** (integer | null)

- **scout_score_change_7d** (integer | null)

- **scout_score_change_30d** (integer | null)

- **scout_score_calculated_on** (string(date) | null)

- **realscout_url** (string(uri))

- **scout_score_summary_7d** (string | null)

- **scout_score_summary_30d** (string | null)

- **first_email_received_at** (string(date-time) | null)

- **alerts** (object)

- **activity** (object | null)

- **commutes** (object | null)

- **feature_preferences** (array[object] | null)

- **notes** (object | null)

- **buying_timeline** (object | null)

- **selling_timeline** (object | null)

- **residence** (object | null)


### 400
The request is invalid; `field` names the offending input when there is one. A body that is not valid JSON is refused before the API runs, as a bare 400 with no body.

#### Body: application/json (object)
- **error** (object)


### 401
Invalid or missing bearer token.

#### Body: application/json (object)
- **error** (object)


### 403
The credential was not granted the scope this call requires.

#### Body: application/json (object)
- **error** (object)


### 404
Not found, or not yours: the two are indistinguishable on purpose.

#### Body: application/json (object)
- **error** (object)


### 429
Rate limit exceeded; `Retry-After` says when to try again.
#### Headers

- **Retry-After** (integer)
  Seconds until the budget refills.


#### Body: application/json (object)
- **error** (object)


### 500
Something went wrong on our side.

#### Body: application/json (object)
- **error** (object)



[Powered by Bump.sh](https://bump.sh)
