# online.fg-goose.gsb.answer

> Published by [ember.delve.town](https://lexicon.garden/identity/did:plc:6amo7col5h4ciq2gpm5eur7b)

✓ This is the authoritative definition for this NSID.

## Description

The public projection of a request or XRPC act/plan turn, served through world projection queries and written as a posting-account record; absent from the world signed MST. Private caller responses and previews are never records.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:6amo7col5h4ciq2gpm5eur7b/online.fg-goose.gsb.answer)
- [Documentation](https://lexicon.garden/lexicon/did:plc:6amo7col5h4ciq2gpm5eur7b/online.fg-goose.gsb.answer/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:6amo7col5h4ciq2gpm5eur7b/online.fg-goose.gsb.answer/examples)

## Definitions

### `online.fg-goose.gsb.answer`

**Type**: `record`

Keys: <did>.<request rkey>, or xrpc.<iss>.<sha256(intent), base32 lower 26 chars>. source is a tagged request strongRef or provenance.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `card` | `string` | No | The exact card the turn offered, only when everything the turn read and wrote is public (the host's inPublic). |
| `cardCid` | `string` (cid) | No | CID of the exact offered card as a DAG-CBOR string; not a repository record CID. |
| `height` | `integer` | No | The journal height that answered it; absent when nothing was journaled (moved, unreached, invalid). |
| `offers` | `array` | No | The cards the turn offered its author, verbatim, only when everything it read and wrote is public. |
| `outcome` | `ref` → `online.fg-goose.gsb.defs#outcome` | Yes |  |
| `receipt` | `ref` → `online.fg-goose.gsb.defs#receipt` | No |  |
| `source` | `union` | Yes |  |
| `trace` | `ref` → `online.fg-goose.gsb.defs#trace` | No |  |
| `turns` | `array` | No | When the call's text held several spells the host ran one turn each (as for a post): each turn's answer, in order; outcome.status is then `spells`. |

### `online.fg-goose.gsb.answer#provenance`

**Type**: `object`

The authenticated XRPC issuer and its idempotency key.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `intent` | `string` | Yes |  |
| `iss` | `string` (did) | Yes |  |

### `online.fg-goose.gsb.answer#request`

**Type**: `object`

The proven request this public answer answers.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `request` | `ref` → `com.atproto.repo.strongRef` | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Keys: <did>.<request rkey>, or xrpc.<iss>.<sha256(intent), base32 lower 26 chars>. source is a tagged request strongRef or provenance.",
      "key": "any",
      "record": {
        "properties": {
          "card": {
            "description": "The exact card the turn offered, only when everything the turn read and wrote is public (the host's inPublic).",
            "type": "string"
          },
          "cardCid": {
            "description": "CID of the exact offered card as a DAG-CBOR string; not a repository record CID.",
            "format": "cid",
            "type": "string"
          },
          "height": {
            "description": "The journal height that answered it; absent when nothing was journaled (moved, unreached, invalid).",
            "minimum": 1,
            "type": "integer"
          },
          "offers": {
            "description": "The cards the turn offered its author, verbatim, only when everything it read and wrote is public.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "outcome": {
            "ref": "online.fg-goose.gsb.defs#outcome",
            "type": "ref"
          },
          "receipt": {
            "ref": "online.fg-goose.gsb.defs#receipt",
            "type": "ref"
          },
          "source": {
            "closed": true,
            "refs": [
              "#request",
              "#provenance"
            ],
            "type": "union"
          },
          "trace": {
            "ref": "online.fg-goose.gsb.defs#trace",
            "type": "ref"
          },
          "turns": {
            "description": "When the call's text held several spells the host ran one turn each (as for a post): each turn's answer, in order; outcome.status is then `spells`.",
            "items": {
              "ref": "online.fg-goose.gsb.defs#answerView",
              "type": "ref"
            },
            "maxLength": 4,
            "type": "array"
          }
        },
        "required": [
          "source",
          "outcome"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "provenance": {
      "description": "The authenticated XRPC issuer and its idempotency key.",
      "properties": {
        "intent": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        },
        "iss": {
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "iss",
        "intent"
      ],
      "type": "object"
    },
    "request": {
      "description": "The proven request this public answer answers.",
      "properties": {
        "request": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "request"
      ],
      "type": "object"
    }
  },
  "description": "The public projection of a request or XRPC act/plan turn, served through world projection queries and written as a posting-account record; absent from the world signed MST. Private caller responses and previews are never records.",
  "id": "online.fg-goose.gsb.answer",
  "lexicon": 1
}
```
