# games.atplay.player.putProfile

> Published by [atplay.games](https://lexicon.garden/identity/did:plc:xawtkr77srkxlwhxjf7whbml)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:xawtkr77srkxlwhxjf7whbml/games.atplay.player.putProfile)
- [Documentation](https://lexicon.garden/lexicon/did:plc:xawtkr77srkxlwhxjf7whbml/games.atplay.player.putProfile/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:xawtkr77srkxlwhxjf7whbml/games.atplay.player.putProfile/examples)

## Definitions

### `games.atplay.player.putProfile`

**Type**: `procedure`

Create or replace the calling player's own profile. The appview writes it to their repo on their behalf.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` | Yes | The profile's own AT-URI. Only its record key is used — which is always 'self', since a player has one profile — and the DID is ignored in favour of the caller's. |
| `displayName` | `string` | No | The player's display name. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` | No |  |
| `uri` | `string` | Yes |  |

## Raw Schema

```json
{
  "id": "games.atplay.player.putProfile",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "uri"
          ],
          "properties": {
            "uri": {
              "type": "string",
              "maxLength": 512,
              "description": "The profile's own AT-URI. Only its record key is used — which is always 'self', since a player has one profile — and the DID is ignored in favour of the caller's."
            },
            "displayName": {
              "type": "string",
              "maxLength": 640,
              "description": "The player's display name.",
              "maxGraphemes": 64,
              "minGraphemes": 1
            }
          }
        },
        "encoding": "application/json"
      },
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "uri"
          ],
          "properties": {
            "cid": {
              "type": "string",
              "maxLength": 256
            },
            "uri": {
              "type": "string",
              "maxLength": 512
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "Create or replace the calling player's own profile. The appview writes it to their repo on their behalf."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
