# social.coves.aggregator.authorization

> Published by [coves.social](https://lexicon.garden/identity/did:web:coves.social)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.aggregator.authorization)
- [Documentation](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.aggregator.authorization/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.aggregator.authorization/examples)

## Definitions

### `social.coves.aggregator.authorization`

**Type**: `record`

Authorization for an aggregator to post to a community with specific configuration. Published in the community's repository by moderators. The record key MUST be the authorized aggregator's DID, guaranteeing at most one authorization per (community, aggregator) pair. Similar to social.coves.actor.subscription.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `config` | `unknown` | No | Aggregator-specific configuration. Must conform to the aggregator's configSchema. |
| `enabled` | `boolean` | Yes | Whether this aggregator is currently active. Can be toggled without deleting the record. |
| `createdAt` | `string` (datetime) | Yes |  |
| `createdBy` | `string` (did) | Yes | DID of moderator who authorized this aggregator |
| `disabledAt` | `string` (datetime) | No | When this authorization was disabled (if enabled=false) |
| `disabledBy` | `string` (did) | No | DID of moderator who disabled this aggregator |
| `communityDid` | `string` (did) | Yes | DID of the community granting access (must match repo DID) |
| `aggregatorDid` | `string` (did) | Yes | DID of the authorized aggregator |

## Raw Schema

```json
{
  "id": "social.coves.aggregator.authorization",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "aggregatorDid",
          "communityDid",
          "enabled",
          "createdAt",
          "createdBy"
        ],
        "properties": {
          "config": {
            "type": "unknown",
            "description": "Aggregator-specific configuration. Must conform to the aggregator's configSchema."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether this aggregator is currently active. Can be toggled without deleting the record."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "createdBy": {
            "type": "string",
            "format": "did",
            "description": "DID of moderator who authorized this aggregator"
          },
          "disabledAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this authorization was disabled (if enabled=false)"
          },
          "disabledBy": {
            "type": "string",
            "format": "did",
            "description": "DID of moderator who disabled this aggregator"
          },
          "communityDid": {
            "type": "string",
            "format": "did",
            "description": "DID of the community granting access (must match repo DID)"
          },
          "aggregatorDid": {
            "type": "string",
            "format": "did",
            "description": "DID of the authorized aggregator"
          }
        }
      },
      "description": "Authorization for an aggregator to post to a community with specific configuration. Published in the community's repository by moderators. The record key MUST be the authorized aggregator's DID, guaranteeing at most one authorization per (community, aggregator) pair. Similar to social.coves.actor.subscription."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
