# social.colibri.beta.community.registerCredentials

> 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.community.registerCredentials)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.community.registerCredentials/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.community.registerCredentials/examples)

## Definitions

### `social.colibri.beta.community.registerCredentials`

**Type**: `procedure`

Hands the AppView credentials for a community hosted elsewhere, so it can administer a community it did not create. The password is stored encrypted at rest.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `password` | `string` | Yes | The password or app password used to authenticate with the community's PDS. |
| `community` | `string` (did) | Yes | The community the credentials belong to. |
| `identifier` | `string` | Yes | The identifier used to authenticate with the community's PDS, such as its handle or DID. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|

#### Errors

- **AuthRequired**: The request is missing, malformed, or unverifiable service auth.
- **Forbidden**: The requesting user lacks permission to register credentials for this community.
- **InvalidRequest**: The arguments are inconsistent or malformed beyond schema validation.
- **CredentialsRejected**: The PDS refused the identifier and password.
- **UpstreamFailure**: A PDS or third-party call the AppView depends on failed.

## Raw Schema

```json
{
  "id": "social.colibri.beta.community.registerCredentials",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "community",
            "identifier",
            "password"
          ],
          "properties": {
            "password": {
              "type": "string",
              "description": "The password or app password used to authenticate with the community's PDS."
            },
            "community": {
              "type": "string",
              "format": "did",
              "description": "The community the credentials belong to."
            },
            "identifier": {
              "type": "string",
              "description": "The identifier used to authenticate with the community's PDS, such as its handle or DID."
            }
          }
        },
        "encoding": "application/json"
      },
      "errors": [
        {
          "name": "AuthRequired",
          "description": "The request is missing, malformed, or unverifiable service auth."
        },
        {
          "name": "Forbidden",
          "description": "The requesting user lacks permission to register credentials for this community."
        },
        {
          "name": "InvalidRequest",
          "description": "The arguments are inconsistent or malformed beyond schema validation."
        },
        {
          "name": "CredentialsRejected",
          "description": "The PDS refused the identifier and password."
        },
        {
          "name": "UpstreamFailure",
          "description": "A PDS or third-party call the AppView depends on failed."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [],
          "properties": {}
        },
        "encoding": "application/json"
      },
      "description": "Hands the AppView credentials for a community hosted elsewhere, so it can administer a community it did not create. The password is stored encrypted at rest."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
