# org.ballotready.constituent.endorsement

> Published by [ballotready.org](https://lexicon.garden/identity/did:plc:tctahrvhb37udyarpqahggnv)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:tctahrvhb37udyarpqahggnv/org.ballotready.constituent.endorsement)
- [Documentation](https://lexicon.garden/lexicon/did:plc:tctahrvhb37udyarpqahggnv/org.ballotready.constituent.endorsement/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:tctahrvhb37udyarpqahggnv/org.ballotready.constituent.endorsement/examples)

## Definitions

### `org.ballotready.constituent.endorsement#candidacy`

**Type**: `object`

A candidate in the running for a specific office in a specific election.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `civicEngineId` | `string` | Yes | CivicEngine API identifier for the candidacy. |
| `election` | `string` | No | Election name. |
| `name` | `string` | No | Candidate name. |
| `position` | `string` | No | Position name. |

### `org.ballotready.constituent.endorsement`

**Type**: `record`

An endorsement of a candidate for office declared by a constituent.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `candidacy` | `ref` → `#candidacy` | No |  |
| `comment` | `string` | No | Custom comment regarding this endorsement. |
| `createdAt` | `string` (datetime) | Yes | Timestamp when this record was originally created. |
| `organization` | `ref` → `#organization` | No |  |

### `org.ballotready.constituent.endorsement#organization`

**Type**: `object`

An organization with verified endorsements.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `civicEngineId` | `string` | Yes | CivicEngine API identifier for the candidacy. |
| `name` | `string` | No | Organization name. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "candidacy": {
      "description": "A candidate in the running for a specific office in a specific election.",
      "properties": {
        "civicEngineId": {
          "description": "CivicEngine API identifier for the candidacy.",
          "type": "string"
        },
        "election": {
          "description": "Election name.",
          "type": "string"
        },
        "name": {
          "description": "Candidate name.",
          "type": "string"
        },
        "position": {
          "description": "Position name.",
          "type": "string"
        }
      },
      "required": [
        "civicEngineId"
      ],
      "type": "object"
    },
    "main": {
      "description": "An endorsement of a candidate for office declared by a constituent.",
      "key": "tid",
      "record": {
        "properties": {
          "candidacy": {
            "ref": "#candidacy",
            "type": "ref"
          },
          "comment": {
            "description": "Custom comment regarding this endorsement.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp when this record was originally created.",
            "format": "datetime",
            "type": "string"
          },
          "organization": {
            "ref": "#organization",
            "type": "ref"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "organization": {
      "description": "An organization with verified endorsements.",
      "properties": {
        "civicEngineId": {
          "description": "CivicEngine API identifier for the candidacy.",
          "type": "string"
        },
        "name": {
          "description": "Organization name.",
          "type": "string"
        }
      },
      "required": [
        "civicEngineId"
      ],
      "type": "object"
    }
  },
  "id": "org.ballotready.constituent.endorsement",
  "lexicon": 1
}
```
