## Restore a contact

`contact.restore(strid, ContactRestoreParams**kwargs)  -> ContactRestoreResponse`

**post** `/v1/contacts/{id}/restore`

Restores a trashed contact, bringing it back to active. Find trashed contacts via `GET /v1/contacts?status=trashed`.

Calling restore on a contact that is not trashed is a no-op and returns the existing record.

**[Required scope](/using-the-api/scopes/):** `contacts:restore`

**[Rate limit category](/using-the-api/rate-limits/):** Write

### Parameters

- `id: str`

  Unique identifier of the contact to restore.

- `body: Optional[Body]`

### Returns

- `class ContactRestoreResponse: …`

  - `id: str`

    Unique identifier for the entity.

  - `created_at: str`

    ISO 8601 timestamp of when the entity was created.

  - `fields: Dict[str, Fields]`

    Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug.

    - `value: Optional[FieldsValue]`

      The field value, or null if unset.

      - `str`

      - `float`

      - `bool`

      - `List[str]`

      - `class FieldsValueAddress: …`

        - `city: Optional[str]`

          City name.

        - `country: Optional[str]`

          2-letter ISO 3166-1 alpha-2 country code.

        - `latitude: Optional[float]`

          Latitude coordinate.

        - `longitude: Optional[float]`

          Longitude coordinate.

        - `postal_code: Optional[str]`

          Postal or ZIP code.

        - `state: Optional[str]`

          State or province.

        - `street: Optional[str]`

          Street address line 1.

        - `street2: Optional[str]`

          Street address line 2.

      - `class FieldsValueFullName: …`

        - `first_name: Optional[str]`

          The contact's first name.

        - `last_name: Optional[str]`

          The contact's last name.

    - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]`

      The data type of the field.

      - `"ADDRESS"`

      - `"CHECKBOX"`

      - `"CURRENCY"`

      - `"DATETIME"`

      - `"EMAIL"`

      - `"FULL_NAME"`

      - `"MARKDOWN"`

      - `"MULTI_SELECT"`

      - `"NUMBER"`

      - `"SINGLE_SELECT"`

      - `"SOCIAL_HANDLE"`

      - `"TELEPHONE"`

      - `"TEXT"`

      - `"URL"`

      - `"HTML"`

  - `http_link: Optional[str]`

    URL to view the entity in the Lightfield web app, or null.

  - `relationships: Dict[str, Relationships]`

    Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`).

    - `cardinality: str`

      Whether the relationship is `has_one` or `has_many`.

    - `object_type: str`

      The type of the related object (e.g. `account`, `contact`).

    - `values: List[str]`

      IDs of the related entities.

  - `updated_at: Optional[str]`

    ISO 8601 timestamp of when the entity was last updated, or null.

  - `external_id: Optional[str]`

    External identifier for the entity, or null if unset.

### Example

```python
from lightfield import Lightfield

client = Lightfield(
    api_key="My API Key",
)
contact_restore_response = client.contact.restore(
    id="id",
)
print(contact_restore_response.id)
```

#### Response

```json
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ]
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}
```
