# social.colibri.beta.emoji.putFollow

> Published by [colibri.social](https://lexicon.garden/identity/did:plc:mprdjqjluoswa7awzggaggj3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.emoji.putFollow)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.emoji.putFollow/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.emoji.putFollow/examples)

## Definitions

### `social.colibri.beta.emoji.putFollow`

**Type**: `procedure`

Pushes one social.colibri.beta.emoji.follow record to the AppView, so it takes effect immediately instead of waiting for a sync notification. The client writes or deletes the record in its own preferences space first, then calls this. The AppView starts tracking the subject's owner and answers with the followed item as the picker shows it.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | No | The record's createdAt. Defaults to the time of the call when subject is present. |
| `rkey` | `string` (record-key) | Yes | The follow record's key. |
| `subject` | `string` (at-uri) | No | The followed pack or emoji. Absent means the record was deleted. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `follow` | `ref` → `social.colibri.beta.emoji.defs#followView` | No | The followed item. Absent after an unfollow. |

#### Errors

- **AuthRequired**: The request has no valid service auth.
- **EmojiNotFound**: The subject is an emoji that does not exist.
- **PackNotFound**: The subject is a pack that does not exist.
- **UnsupportedProvider**: The subject's collection belongs to no supported emoji provider.
- **OwnEmoji**: The subject is in the requesting user's own repo.
- **UpstreamFailure**: The subject owner's repo could not be read.

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Pushes one social.colibri.beta.emoji.follow record to the AppView, so it takes effect immediately instead of waiting for a sync notification. The client writes or deletes the record in its own preferences space first, then calls this. The AppView starts tracking the subject's owner and answers with the followed item as the picker shows it.",
      "errors": [
        {
          "description": "The request has no valid service auth.",
          "name": "AuthRequired"
        },
        {
          "description": "The subject is an emoji that does not exist.",
          "name": "EmojiNotFound"
        },
        {
          "description": "The subject is a pack that does not exist.",
          "name": "PackNotFound"
        },
        {
          "description": "The subject's collection belongs to no supported emoji provider.",
          "name": "UnsupportedProvider"
        },
        {
          "description": "The subject is in the requesting user's own repo.",
          "name": "OwnEmoji"
        },
        {
          "description": "The subject owner's repo could not be read.",
          "name": "UpstreamFailure"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "createdAt": {
              "description": "The record's createdAt. Defaults to the time of the call when subject is present.",
              "format": "datetime",
              "type": "string"
            },
            "rkey": {
              "description": "The follow record's key.",
              "format": "record-key",
              "type": "string"
            },
            "subject": {
              "description": "The followed pack or emoji. Absent means the record was deleted.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "rkey"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "follow": {
              "description": "The followed item. Absent after an unfollow.",
              "ref": "social.colibri.beta.emoji.defs#followView",
              "type": "ref"
            }
          },
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "social.colibri.beta.emoji.putFollow",
  "lexicon": 1
}
```
