# town.delve.contact.defs

> Published by [delve.town](https://lexicon.garden/identity/did:plc:qzqct2rrq4u2gmy5g3mjxske)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.contact.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.contact.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.contact.defs/examples)

## Definitions

### `town.delve.contact.defs#matchAndContactIndex`

**Type**: `object`

Associates a profile with the positional index of the contact import input in the call to `app.bsky.contact.importContacts`, so clients can know which phone caused a particular match.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `contactIndex` | `integer` | Yes | The index of this match in the import contact input. |
| `match` | `ref` → `town.delve.actor.defs#profileView` | Yes | Profile of the matched user. |

### `town.delve.contact.defs#notification`

**Type**: `object`

A stash object to be sent via bsync representing a notification to be created.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `from` | `string` (did) | Yes | The DID of who this notification comes from. |
| `to` | `string` (did) | Yes | The DID of who this notification should go to. |

### `town.delve.contact.defs#syncStatus`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `matchesCount` | `integer` | Yes | Number of existing contact matches resulting of the user imports and of their imported contacts having imported the user. Matches stop being counted when the user either follows the matched contact or dismisses the match. |
| `syncedAt` | `string` (datetime) | Yes | Last date when contacts where imported. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "matchAndContactIndex": {
      "description": "Associates a profile with the positional index of the contact import input in the call to `app.bsky.contact.importContacts`, so clients can know which phone caused a particular match.",
      "properties": {
        "contactIndex": {
          "description": "The index of this match in the import contact input.",
          "maximum": 999,
          "minimum": 0,
          "type": "integer"
        },
        "match": {
          "description": "Profile of the matched user.",
          "ref": "town.delve.actor.defs#profileView",
          "type": "ref"
        }
      },
      "required": [
        "match",
        "contactIndex"
      ],
      "type": "object"
    },
    "notification": {
      "description": "A stash object to be sent via bsync representing a notification to be created.",
      "properties": {
        "from": {
          "description": "The DID of who this notification comes from.",
          "format": "did",
          "type": "string"
        },
        "to": {
          "description": "The DID of who this notification should go to.",
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "from",
        "to"
      ],
      "type": "object"
    },
    "syncStatus": {
      "properties": {
        "matchesCount": {
          "description": "Number of existing contact matches resulting of the user imports and of their imported contacts having imported the user. Matches stop being counted when the user either follows the matched contact or dismisses the match.",
          "minimum": 0,
          "type": "integer"
        },
        "syncedAt": {
          "description": "Last date when contacts where imported.",
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "syncedAt",
        "matchesCount"
      ],
      "type": "object"
    }
  },
  "id": "town.delve.contact.defs",
  "lexicon": 1
}
```
