# pub.chive.actor.getDiscoverySettings

> Published by [chive.pub](https://lexicon.garden/identity/did:plc:7natp5xae72bddaqlkef2t4e)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.actor.getDiscoverySettings)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.actor.getDiscoverySettings/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.actor.getDiscoverySettings/examples)

## Definitions

### `pub.chive.actor.getDiscoverySettings`

**Type**: `query`

Get the authenticated user's discovery settings from their PDS

#### Parameters

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

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `followedFieldUris` | `array` | No | Field URIs the user follows for discovery |
| `trendingPreferences` | `ref` → `#trendingPreferences` | No | Preferences for the trending feed |
| `relatedPapersSignals` | `ref` → `#relatedPapersSignals` | Yes | Signals to use for related papers |
| `relatedPapersWeights` | `ref` → `#relatedPapersWeights` | No | Relative weights for related papers signals |
| `enablePersonalization` | `boolean` | Yes | Enable personalized recommendations based on profile |
| `citationNetworkDisplay` | `string` | Yes | How to display citation network |
| `recommendationDiversity` | `string` | No | How diverse recommendations should be relative to user's fields |
| `relatedPapersThresholds` | `ref` → `#relatedPapersThresholds` | No | Thresholds for related papers filtering |
| `showRecommendationReasons` | `boolean` | Yes | Show explanations for why papers are recommended |
| `minimumEndorsementThreshold` | `integer` | No | Minimum number of endorsements for a paper to appear in recommendations |
| `followingTabIncludesWorkFields` | `boolean` | No | Whether the Following tab also includes the user's work fields |

#### Errors

- **AuthenticationRequired**
- **PDSNotFound**

### `pub.chive.actor.getDiscoverySettings#trendingPreferences`

**Type**: `object`

Preferences for the trending feed

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `defaultLimit` | `integer` | No | Default number of trending results to show |
| `defaultWindow` | `string` | No | Default time window for trending |

### `pub.chive.actor.getDiscoverySettings#relatedPapersSignals`

**Type**: `object`

Configuration for related papers panel signals

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `topics` | `boolean` | No | Show topic/concept-based relationships |
| `authors` | `boolean` | No | Show papers by overlapping authors |
| `semantic` | `boolean` | No | Show semantically similar papers (SPECTER2 / MLT) |
| `citations` | `boolean` | No | Show citation-based relationships |
| `coCitation` | `boolean` | No | Show papers frequently cited together |
| `collaborative` | `boolean` | No | Show collaborative filtering recommendations |
| `bibliographicCoupling` | `boolean` | No | Show papers that cite the same references |

### `pub.chive.actor.getDiscoverySettings#relatedPapersWeights`

**Type**: `object`

Relative importance of each related papers signal (0-100, auto-normalized)

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `semantic` | `integer` | No | Weight for SPECTER2 / MLT semantic similarity |
| `coCitation` | `integer` | No | Weight for co-citation and bibliographic coupling |
| `authorNetwork` | `integer` | No | Weight for co-author network proximity |
| `collaborative` | `integer` | No | Weight for collaborative filtering signal |
| `conceptOverlap` | `integer` | No | Weight for OpenAlex concept/topic overlap |

### `pub.chive.actor.getDiscoverySettings#relatedPapersThresholds`

**Type**: `object`

Thresholds for related papers filtering

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `minScore` | `integer` | No | Minimum combined score to include a paper (0-100, maps to 0.0-1.0) |
| `maxResults` | `integer` | No | Maximum number of related papers to show |

## Raw Schema

```json
{
  "id": "pub.chive.actor.getDiscoverySettings",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "AuthenticationRequired"
        },
        {
          "name": "PDSNotFound"
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "enablePersonalization",
            "relatedPapersSignals",
            "citationNetworkDisplay",
            "showRecommendationReasons"
          ],
          "properties": {
            "followedFieldUris": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "at-uri"
              },
              "description": "Field URIs the user follows for discovery"
            },
            "trendingPreferences": {
              "ref": "#trendingPreferences",
              "type": "ref",
              "description": "Preferences for the trending feed"
            },
            "relatedPapersSignals": {
              "ref": "#relatedPapersSignals",
              "type": "ref",
              "description": "Signals to use for related papers"
            },
            "relatedPapersWeights": {
              "ref": "#relatedPapersWeights",
              "type": "ref",
              "description": "Relative weights for related papers signals"
            },
            "enablePersonalization": {
              "type": "boolean",
              "description": "Enable personalized recommendations based on profile"
            },
            "citationNetworkDisplay": {
              "type": "string",
              "description": "How to display citation network",
              "knownValues": [
                "hidden",
                "preview",
                "expanded"
              ]
            },
            "recommendationDiversity": {
              "type": "string",
              "description": "How diverse recommendations should be relative to user's fields",
              "knownValues": [
                "low",
                "medium",
                "high"
              ]
            },
            "relatedPapersThresholds": {
              "ref": "#relatedPapersThresholds",
              "type": "ref",
              "description": "Thresholds for related papers filtering"
            },
            "showRecommendationReasons": {
              "type": "boolean",
              "description": "Show explanations for why papers are recommended"
            },
            "minimumEndorsementThreshold": {
              "type": "integer",
              "description": "Minimum number of endorsements for a paper to appear in recommendations"
            },
            "followingTabIncludesWorkFields": {
              "type": "boolean",
              "description": "Whether the Following tab also includes the user's work fields"
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "properties": {}
      },
      "description": "Get the authenticated user's discovery settings from their PDS"
    },
    "trendingPreferences": {
      "type": "object",
      "properties": {
        "defaultLimit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 5,
          "description": "Default number of trending results to show"
        },
        "defaultWindow": {
          "type": "string",
          "description": "Default time window for trending",
          "knownValues": [
            "24h",
            "7d",
            "30d"
          ]
        }
      },
      "description": "Preferences for the trending feed"
    },
    "relatedPapersSignals": {
      "type": "object",
      "properties": {
        "topics": {
          "type": "boolean",
          "description": "Show topic/concept-based relationships"
        },
        "authors": {
          "type": "boolean",
          "description": "Show papers by overlapping authors"
        },
        "semantic": {
          "type": "boolean",
          "description": "Show semantically similar papers (SPECTER2 / MLT)"
        },
        "citations": {
          "type": "boolean",
          "description": "Show citation-based relationships"
        },
        "coCitation": {
          "type": "boolean",
          "description": "Show papers frequently cited together"
        },
        "collaborative": {
          "type": "boolean",
          "description": "Show collaborative filtering recommendations"
        },
        "bibliographicCoupling": {
          "type": "boolean",
          "description": "Show papers that cite the same references"
        }
      },
      "description": "Configuration for related papers panel signals"
    },
    "relatedPapersWeights": {
      "type": "object",
      "properties": {
        "semantic": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Weight for SPECTER2 / MLT semantic similarity"
        },
        "coCitation": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Weight for co-citation and bibliographic coupling"
        },
        "authorNetwork": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Weight for co-author network proximity"
        },
        "collaborative": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Weight for collaborative filtering signal"
        },
        "conceptOverlap": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Weight for OpenAlex concept/topic overlap"
        }
      },
      "description": "Relative importance of each related papers signal (0-100, auto-normalized)"
    },
    "relatedPapersThresholds": {
      "type": "object",
      "properties": {
        "minScore": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Minimum combined score to include a paper (0-100, maps to 0.0-1.0)"
        },
        "maxResults": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Maximum number of related papers to show"
        }
      },
      "description": "Thresholds for related papers filtering"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1
}
```
