# pub.chive.claiming.getSuggestions

> 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.claiming.getSuggestions)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.claiming.getSuggestions/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.claiming.getSuggestions/examples)

## Definitions

### `pub.chive.claiming.getSuggestions`

**Type**: `query`

Get suggested papers for the authenticated user to claim based on their profile

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `limit` | `integer` | No | Maximum number of suggestions to return |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `papers` | `array` | Yes | Suggested papers sorted by match score |
| `profileUsed` | `ref` → `#profileMetadata` | Yes |  |

#### Errors

- **AuthenticationRequired**

### `pub.chive.claiming.getSuggestions#externalAuthor`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Author name |
| `email` | `string` | No | Email address |
| `orcid` | `string` | No | ORCID identifier |
| `affiliation` | `string` | No | Institution affiliation |

### `pub.chive.claiming.getSuggestions#suggestedPaper`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `doi` | `string` | No | DOI if assigned |
| `url` | `string` (uri) | Yes | Full URL to the eprint |
| `title` | `string` | Yes | Eprint title |
| `pdfUrl` | `string` (uri) | No | URL to PDF |
| `source` | `string` | Yes | Source system |
| `authors` | `array` | Yes | Author list |
| `abstract` | `string` | No | Abstract text |
| `chiveUri` | `string` | No | AT-URI of the paper in Chive's index (present when source is 'chive') |
| `categories` | `array` | No | Subject categories |
| `externalId` | `string` | Yes | Source-specific identifier |
| `matchScore` | `integer` | Yes | Match confidence score (0-100) |
| `matchReason` | `string` | Yes | Human-readable match reason |
| `publicationDate` | `string` (datetime) | No | Publication date |

### `pub.chive.claiming.getSuggestions#profileMetadata`

**Type**: `object`

Profile data used for matching

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `hasOrcid` | `boolean` | Yes | Whether user has ORCID linked |
| `displayName` | `string` | No | User display name |
| `nameVariants` | `array` | Yes | Name variants used for matching |
| `hasExternalIds` | `boolean` | Yes | Whether user has external authority IDs |

## Raw Schema

```json
{
  "id": "pub.chive.claiming.getSuggestions",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "AuthenticationRequired"
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "papers",
            "profileUsed"
          ],
          "properties": {
            "papers": {
              "type": "array",
              "items": {
                "ref": "#suggestedPaper",
                "type": "ref"
              },
              "description": "Suggested papers sorted by match score"
            },
            "profileUsed": {
              "ref": "#profileMetadata",
              "type": "ref"
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "default": 20,
            "maximum": 50,
            "minimum": 1,
            "description": "Maximum number of suggestions to return"
          }
        }
      },
      "description": "Get suggested papers for the authenticated user to claim based on their profile"
    },
    "externalAuthor": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Author name"
        },
        "email": {
          "type": "string",
          "description": "Email address"
        },
        "orcid": {
          "type": "string",
          "description": "ORCID identifier"
        },
        "affiliation": {
          "type": "string",
          "description": "Institution affiliation"
        }
      }
    },
    "suggestedPaper": {
      "type": "object",
      "required": [
        "externalId",
        "url",
        "title",
        "authors",
        "source",
        "matchScore",
        "matchReason"
      ],
      "properties": {
        "doi": {
          "type": "string",
          "description": "DOI if assigned"
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Full URL to the eprint"
        },
        "title": {
          "type": "string",
          "description": "Eprint title"
        },
        "pdfUrl": {
          "type": "string",
          "format": "uri",
          "description": "URL to PDF"
        },
        "source": {
          "type": "string",
          "description": "Source system"
        },
        "authors": {
          "type": "array",
          "items": {
            "ref": "#externalAuthor",
            "type": "ref"
          },
          "description": "Author list"
        },
        "abstract": {
          "type": "string",
          "description": "Abstract text"
        },
        "chiveUri": {
          "type": "string",
          "description": "AT-URI of the paper in Chive's index (present when source is 'chive')"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Subject categories"
        },
        "externalId": {
          "type": "string",
          "description": "Source-specific identifier"
        },
        "matchScore": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Match confidence score (0-100)"
        },
        "matchReason": {
          "type": "string",
          "description": "Human-readable match reason"
        },
        "publicationDate": {
          "type": "string",
          "format": "datetime",
          "description": "Publication date"
        }
      }
    },
    "profileMetadata": {
      "type": "object",
      "required": [
        "nameVariants",
        "hasOrcid",
        "hasExternalIds"
      ],
      "properties": {
        "hasOrcid": {
          "type": "boolean",
          "description": "Whether user has ORCID linked"
        },
        "displayName": {
          "type": "string",
          "description": "User display name"
        },
        "nameVariants": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name variants used for matching"
        },
        "hasExternalIds": {
          "type": "boolean",
          "description": "Whether user has external authority IDs"
        }
      },
      "description": "Profile data used for matching"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1
}
```
