# id.sifa.getProfileView

> Published by [sifa.id](https://lexicon.garden/identity/did:plc:2f2ahswozqy4v5lvu676375y)

✓ This is the authoritative definition for this NSID.

## Description

Get the aggregated public professional profile for an actor, as computed by a Sifa AppView. This view joins a user's id.sifa.* records across all sections (positions, education, skills, endorsements received, and more) plus AppView-computed aggregates (follower/connection counts, active apps, verification state). Raw records remain readable directly from the user's PDS; this method exposes the enriched, joined view that only exists in the AppView. Public projection: viewer-specific and internal fields are not included.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:2f2ahswozqy4v5lvu676375y/id.sifa.getProfileView)
- [Documentation](https://lexicon.garden/lexicon/did:plc:2f2ahswozqy4v5lvu676375y/id.sifa.getProfileView/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:2f2ahswozqy4v5lvu676375y/id.sifa.getProfileView/examples)

## Definitions

### `id.sifa.getProfileView`

**Type**: `query`

Get the aggregated public profile view for an actor.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `actor` | `string` (at-identifier) | Yes | The handle or DID of the profile to fetch. |

#### Output

**Encoding**: `application/json`

#### Errors

- **ProfileNotFound**: No profile exists for the given actor, or the actor could not be resolved.

### `id.sifa.getProfileView#honorView`

**Type**: `object`

An honor or award.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `date` | `string` | No | Date received. Partial date. |
| `rkey` | `string` | Yes | Record key of the honor record. |
| `title` | `string` | Yes | Honor or award title. |
| `issuer` | `string` | No | Issuing organization. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved issuer entity. |
| `description` | `string` | No | Description. |

### `id.sifa.getProfileView#skillView`

**Type**: `object`

A skill entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Skill name. |
| `rkey` | `string` | Yes | Record key of the skill record. |
| `category` | `ref` → `id.sifa.defs#skillCategory` | No | Broad category. |
| `positionRkeys` | `array` | No | Record keys of positions this skill is linked to. |

### `id.sifa.getProfileView#atfundLink`

**Type**: `object`

A contribution or funding link.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | Contribution URL. |
| `label` | `string` | No | Optional display label. |

### `id.sifa.getProfileView#courseView`

**Type**: `object`

A course entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Course name. |
| `rkey` | `string` | Yes | Record key of the course record. |
| `number` | `string` | No | Course number or code. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved institution entity. |
| `institution` | `string` | No | Institution name. |
| `credentialRkey` | `string` | No | Record key of a linked certification, when present. |

### `id.sifa.getProfileView#profileView`

**Type**: `object`

The aggregated public professional profile view.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes | The account DID. Stable identifier for the profile. |
| `about` | `string` | No | Longer professional summary or bio. |
| `langs` | `array` | No | BCP-47 language tags the user has indicated. |
| `avatar` | `string` (uri) | No | URL of the profile avatar image. |
| `handle` | `string` (handle) | Yes | The current handle for the account. |
| `honors` | `array` | No | Honors and awards. |
| `openTo` | `array` | No | The kinds of opportunities the user is open to. |
| `skills` | `array` | No | Skills, optionally linked to positions. |
| `claimed` | `boolean` | No | Whether the profile has been claimed by its owner on Sifa. |
| `courses` | `array` | No | Courses, optionally linked to a credential. |
| `website` | `string` (uri) | No | Primary personal or professional website. |
| `headline` | `string` | No | Short professional headline. |
| `location` | `string` | No | Assembled human-readable primary location string. |
| `projects` | `array` | No | Personal or professional projects. |
| `pronouns` | `string` | No | Self-described pronouns. |
| `createdAt` | `string` (datetime) | No | When the profile record was created. |
| `education` | `array` | No | Education history entries. |
| `givenName` | `string` | No | Given (first) name, when provided. |
| `languages` | `array` | No | Spoken/written languages with proficiency. |
| `locations` | `array` | No | All professional locations on the profile. |
| `positions` | `array` | No | Work history entries. |
| `activeApps` | `array` | No | AT Protocol apps this account has recently created records in. |
| `familyName` | `string` | No | Family (last) name, when provided. |
| `industries` | `array` | No | Industry/domain pairs the user works in. |
| `countryCode` | `string` | No | ISO 3166-1 alpha-2 country code for the primary location. |
| `displayName` | `string` | No | Display name shown on the profile. |
| `involvement` | `array` | No | Community, open-source, charity, and civic involvement. |
| `pdsProvider` | `ref` → `#pdsProviderView` | No | The account PDS provider. |
| `publications` | `array` | No | Publications, merged from Sifa records and linked ORCID works. |
| `volunteering` | `array` | No | Legacy volunteering entries. New entries are surfaced under involvement. |
| `presentations` | `array` | No | Talks and sessions (content), each with its deliveries grouped underneath. |
| `availableToUtc` | `integer` | No | End of an availability window, as a UTC offset, if set. |
| `certifications` | `array` | No | Certifications and licenses. |
| `followersCount` | `integer` | No | Number of Sifa graph followers. |
| `followingCount` | `integer` | No | Number of accounts this profile follows on the Sifa graph. |
| `locationRegion` | `string` | No | Primary location region, state, or province. |
| `blueskyVerified` | `boolean` | No | Whether the account holds a Bluesky verification. |
| `locationCountry` | `string` | No | Primary location country name. |
| `atfundContribute` | `ref` → `#atfundLink` | No | Optional contribution/funding link. |
| `availableFromUtc` | `integer` | No | Start of an availability window, as a UTC offset, if set. |
| `connectionsCount` | `integer` | No | Number of confirmed professional connections. |
| `externalAccounts` | `array` | No | Linked external accounts, with verification state. |
| `locationLocality` | `string` | No | Primary location city or locality. |
| `metInPersonCount` | `integer` | No | Number of confirmed in-person meetings. |
| `blueskyVerifiedAt` | `string` (datetime) | No | When the Bluesky verification was issued. |
| `preferredWorkplace` | `array` | No | Preferred workplace arrangements. |
| `atprotoFollowersCount` | `integer` | No | Number of app.bsky.graph followers. |
| `presentationDeliveries` | `array` | No | Standalone deliveries that reference no owned presentation. |

### `id.sifa.getProfileView#projectView`

**Type**: `object`

A project entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | No | Project URL. |
| `name` | `string` | Yes | Project name. |
| `rkey` | `string` | Yes | Record key of the project record. |
| `endDate` | `string` | No | End date. Partial date. |
| `startDate` | `string` | No | Start date. Partial date. |
| `description` | `string` | No | Project description. |

### `id.sifa.getProfileView#durationView`

**Type**: `object`

A duration range in minutes.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `maxMinutes` | `integer` | No | Maximum duration in minutes. |
| `minMinutes` | `integer` | Yes | Minimum duration in minutes. |

### `id.sifa.getProfileView#languageView`

**Type**: `object`

A language with proficiency.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the language record. |
| `language` | `string` | Yes | Language name or BCP-47 tag. |
| `proficiency` | `ref` → `id.sifa.defs#proficiency` | No | Proficiency level. |

### `id.sifa.getProfileView#locationView`

**Type**: `object`

A professional location on the profile.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the location record. |
| `type` | `ref` → `id.sifa.defs#locationType` | No | The role this location plays. |
| `label` | `string` | No | Optional custom label. |
| `location` | `string` | No | Assembled human-readable location string. |
| `isPrimary` | `boolean` | No | Whether this is the primary location. |
| `countryCode` | `string` | No | ISO 3166-1 alpha-2 country code. |
| `locationRegion` | `string` | No | Region, state, or province. |
| `locationCountry` | `string` | No | Country name. |
| `locationLocality` | `string` | No | City or locality. |

### `id.sifa.getProfileView#positionView`

**Type**: `object`

A work-history entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the position record. |
| `title` | `string` | Yes | Job title or role. |
| `company` | `string` | No | Company or organization name. |
| `endedAt` | `string` | No | End date. Partial date, absent if current. |
| `primary` | `boolean` | No | Whether this is the user's primary current position. |
| `location` | `string` | No | Assembled human-readable location string. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved company entity. |
| `startedAt` | `string` | No | Start date. Partial date (YYYY, YYYY-MM, or YYYY-MM-DD). |
| `companyDid` | `string` (did) | No | DID of the company, when known. |
| `entityName` | `string` | No | Resolved canonical company name. |
| `onBehalfOf` | `string` | No | Party this role is held on behalf of, when the person represents someone else — most often a fund whose board seat this is. A disclosure, not a role type. Absent for independent roles. |
| `skillRkeys` | `array` | No | Record keys of skills linked to this position. |
| `countryCode` | `string` | No | ISO 3166-1 alpha-2 country code. |
| `description` | `string` | No | Role description. |
| `onBehalfOfDid` | `string` (did) | No | DID of the represented party, when known. May be an organization or a person. |
| `workplaceType` | `ref` → `id.sifa.defs#workplaceType` | No | Workplace arrangement. |
| `employmentType` | `ref` → `id.sifa.defs#employmentType` | No | Employment arrangement. |
| `locationRegion` | `string` | No | Region, state, or province. |
| `locationCountry` | `string` | No | Country name. |
| `locationLocality` | `string` | No | City or locality. |
| `onBehalfOfEntityRef` | `string` (uri) | No | Pointer URI to the resolved entity for the represented party. |
| `onBehalfOfEntityName` | `string` | No | Resolved canonical name for the represented party. Present only when the reference resolves; clients render onBehalfOf otherwise, never the raw URI. |

### `id.sifa.getProfileView#activeAppView`

**Type**: `object`

An AT Protocol app the account has recently created records in.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | Yes | App identifier. |
| `name` | `string` | Yes | App display name. |
| `category` | `string` | No | App category. |
| `recentCount` | `integer` | No | Recent record count. |
| `latestRecordAt` | `string` (datetime) | No | Timestamp of the latest record. |

### `id.sifa.getProfileView#coSpeakerView`

**Type**: `object`

A co-speaker on a presentation delivery.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No | DID of the co-speaker, when linked to a Sifa profile. |
| `name` | `string` | No | Free-text co-speaker name, when not linked. |
| `avatar` | `string` (uri) | No | Avatar URL, when linked. |
| `handle` | `string` (handle) | No | Handle, when linked. |
| `displayName` | `string` | No | Display name, when linked. |

### `id.sifa.getProfileView#educationView`

**Type**: `object`

An education-history entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the education record. |
| `degree` | `string` | No | Degree earned. |
| `endedAt` | `string` | No | End date. Partial date. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved institution entity. |
| `startedAt` | `string` | No | Start date. Partial date. |
| `activities` | `string` | No | Activities and societies. |
| `description` | `string` | No | Additional description. |
| `institution` | `string` | No | Institution name. |
| `fieldOfStudy` | `string` | No | Field of study. |
| `institutionDid` | `string` (did) | No | DID of the institution, when known. |

### `id.sifa.getProfileView#contributorView`

**Type**: `object`

A linked publication contributor.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No | Sifa/AT Protocol DID, when linked. |
| `name` | `string` | Yes | Contributor name. |
| `handle` | `string` (handle) | No | Handle, when linked. |
| `orcidId` | `string` | No | ORCID identifier. |

### `id.sifa.getProfileView#involvementView`

**Type**: `object`

A community, open-source, charity, or civic involvement.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `ref` → `id.sifa.defs#involvementKind` | Yes | The nature of the involvement. |
| `rkey` | `string` | Yes | Record key of the involvement (or legacy volunteering) record. |
| `role` | `string` | No | Role in the involvement. |
| `links` | `array` | Yes | Public artifact links proving the work. |
| `legacy` | `boolean` | Yes | True if mapped from a legacy volunteering record. |
| `endedAt` | `string` | No | End date. Partial date. |
| `upstream` | `string` | No | Name of the community, org, or person the involvement is with. |
| `startedAt` | `string` | No | Start date. Partial date. |
| `description` | `string` | No | Description. |
| `upstreamDid` | `string` (did) | No | DID of the upstream, when known. |
| `upstreamUrl` | `string` (uri) | No | URL of the upstream, when provided. |

### `id.sifa.getProfileView#pdsProviderView`

**Type**: `object`

A PDS provider descriptor.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `host` | `string` | No | PDS hostname. |
| `name` | `string` | Yes | Human-readable provider name. |

### `id.sifa.getProfileView#publicationView`

**Type**: `object`

A publication, merged from Sifa and linked ORCID works.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `doi` | `string` | No | Digital Object Identifier. |
| `url` | `string` (uri) | No | Publication URL. |
| `date` | `string` | No | Publication date. Partial date. |
| `rkey` | `string` | Yes | Record key, or a synthetic key for ORCID-only works. |
| `type` | `string` | No | Publication type token. |
| `image` | `string` (uri) | No | Cover or preview image URL. |
| `title` | `string` | Yes | Publication title. |
| `subtitle` | `string` | No | Subtitle. |
| `verified` | `boolean` | Yes | Whether the publication is verified (e.g. via ORCID). |
| `publisher` | `string` | No | Publisher or journal. |
| `typeLabel` | `string` | No | Human-readable publication type. |
| `description` | `string` | No | Description or abstract. |
| `verifiedVia` | `string` | No | Verification source, when verified. |
| `contributors` | `array` | No | Linked contributors (co-authors). |
| `publicationUri` | `string` (at-uri) | No | AT-URI of the source publication record, when present. |
| `publicationUrl` | `string` (uri) | No | Canonical publication URL, when present. |
| `publicationName` | `string` | No | Name of the source publication venue, when present. |
| `orcidCorroborated` | `boolean` | No | Whether an ORCID work corroborates a Sifa record. |

### `id.sifa.getProfileView#presentationView`

**Type**: `object`

A talk or session (content), with its deliveries grouped underneath.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the presentation record. |
| `links` | `array` | No | Related links (slides, recording, etc.). |
| `title` | `string` | Yes | Presentation title. |
| `duration` | `ref` → `#durationView` | No | Duration range in minutes. |
| `deliveries` | `array` | Yes | Deliveries of this presentation. |
| `writeupUri` | `string` (at-uri) | No | AT-URI of a linked write-up record. |
| `description` | `string` | No | Presentation description. |
| `intendedAudiences` | `array` | No | Intended audiences. |

### `id.sifa.getProfileView#volunteeringView`

**Type**: `object`

A legacy volunteering entry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `rkey` | `string` | Yes | Record key of the volunteering record. |
| `role` | `string` | No | Role held. |
| `cause` | `string` | No | Cause supported. |
| `endDate` | `string` | No | End date. Partial date. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved organization entity. |
| `startDate` | `string` | No | Start date. Partial date. |
| `description` | `string` | No | Description. |
| `organization` | `string` | Yes | Organization name. |

### `id.sifa.getProfileView#certificationView`

**Type**: `object`

A certification or license.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Certification name. |
| `rkey` | `string` | Yes | Record key of the certification record. |
| `entityRef` | `string` (uri) | No | Pointer URI to the resolved issuer entity. |
| `issueDate` | `string` | No | Issue date. Partial date. |
| `expiryDate` | `string` | No | Expiry date. Partial date. |
| `issuingOrg` | `string` | No | Issuing organization. |
| `credentialUrl` | `string` (uri) | No | URL of the credential. |

### `id.sifa.getProfileView#externalAccountView`

**Type**: `object`

A linked external account with verification state.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | Account URL. |
| `rkey` | `string` | Yes | Record key of the external account record. |
| `label` | `string` | No | Optional custom label. |
| `feedUrl` | `string` (uri) | No | Feed URL (RSS/Atom), when applicable. |
| `primary` | `boolean` | No | Whether this is the primary external account. |
| `platform` | `ref` → `id.sifa.defs#externalPlatform` | No | Platform type. |
| `verified` | `boolean` | No | Whether the account is verified. |
| `verifiable` | `boolean` | No | Whether the account can be verified. |
| `verifiedVia` | `string` | No | Verification method, when verified. |

### `id.sifa.getProfileView#involvementLinkView`

**Type**: `object`

A proof link on an involvement.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | Artifact URL. |
| `kind` | `string` | No | What the link points to (e.g. pull-request, talk, article). |
| `label` | `string` | No | Optional human-readable label. |
| `verified` | `boolean` | No | True if the link host matches a verified external account. |
| `verifiedPlatform` | `string` | No | Platform token of the verified host, when verified. |

### `id.sifa.getProfileView#presentationDeliveryView`

**Type**: `object`

A single delivery of a presentation at an occasion.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `date` | `string` | No | Delivery date. Partial date. |
| `mode` | `string` | No | Delivery mode (e.g. in-person, remote, hybrid). |
| `rkey` | `string` | Yes | Record key of the delivery record. |
| `role` | `ref` → `id.sifa.defs#presentationRole` | No | The user's role in the delivery. |
| `links` | `array` | No | Related links for this delivery. |
| `title` | `string` | No | Delivery title (may differ from the presentation title). |
| `status` | `string` | No | Delivery status. |
| `eventUri` | `string` (at-uri) | No | AT-URI of a linked event record. |
| `location` | `string` | No | Event location. |
| `eventName` | `string` | No | Name of the event or occasion. |
| `coSpeakers` | `array` | No | Co-speakers on this delivery. |
| `presentationRkey` | `string` | No | Record key of the parent presentation, when grouped. |

## Raw Schema

```json
{
  "id": "id.sifa.getProfileView",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "ProfileNotFound",
          "description": "No profile exists for the given actor, or the actor could not be resolved."
        }
      ],
      "output": {
        "schema": {
          "ref": "#profileView",
          "type": "ref"
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "actor"
        ],
        "properties": {
          "actor": {
            "type": "string",
            "format": "at-identifier",
            "description": "The handle or DID of the profile to fetch."
          }
        }
      },
      "description": "Get the aggregated public profile view for an actor."
    },
    "honorView": {
      "type": "object",
      "required": [
        "rkey",
        "title"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Date received. Partial date."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the honor record."
        },
        "title": {
          "type": "string",
          "description": "Honor or award title."
        },
        "issuer": {
          "type": "string",
          "description": "Issuing organization."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved issuer entity."
        },
        "description": {
          "type": "string",
          "description": "Description."
        }
      },
      "description": "An honor or award."
    },
    "skillView": {
      "type": "object",
      "required": [
        "rkey",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Skill name."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the skill record."
        },
        "category": {
          "ref": "id.sifa.defs#skillCategory",
          "type": "ref",
          "description": "Broad category."
        },
        "positionRkeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Record keys of positions this skill is linked to."
        }
      },
      "description": "A skill entry."
    },
    "atfundLink": {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Contribution URL."
        },
        "label": {
          "type": "string",
          "description": "Optional display label."
        }
      },
      "description": "A contribution or funding link."
    },
    "courseView": {
      "type": "object",
      "required": [
        "rkey",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Course name."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the course record."
        },
        "number": {
          "type": "string",
          "description": "Course number or code."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved institution entity."
        },
        "institution": {
          "type": "string",
          "description": "Institution name."
        },
        "credentialRkey": {
          "type": "string",
          "description": "Record key of a linked certification, when present."
        }
      },
      "description": "A course entry."
    },
    "profileView": {
      "type": "object",
      "required": [
        "did",
        "handle"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "The account DID. Stable identifier for the profile."
        },
        "about": {
          "type": "string",
          "maxLength": 50000,
          "description": "Longer professional summary or bio.",
          "maxGraphemes": 5000
        },
        "langs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "BCP-47 language tags the user has indicated."
        },
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "URL of the profile avatar image."
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "The current handle for the account."
        },
        "honors": {
          "type": "array",
          "items": {
            "ref": "#honorView",
            "type": "ref"
          },
          "description": "Honors and awards."
        },
        "openTo": {
          "type": "array",
          "items": {
            "ref": "id.sifa.defs#openToWorkStatus",
            "type": "ref"
          },
          "description": "The kinds of opportunities the user is open to."
        },
        "skills": {
          "type": "array",
          "items": {
            "ref": "#skillView",
            "type": "ref"
          },
          "description": "Skills, optionally linked to positions."
        },
        "claimed": {
          "type": "boolean",
          "description": "Whether the profile has been claimed by its owner on Sifa."
        },
        "courses": {
          "type": "array",
          "items": {
            "ref": "#courseView",
            "type": "ref"
          },
          "description": "Courses, optionally linked to a credential."
        },
        "website": {
          "type": "string",
          "format": "uri",
          "description": "Primary personal or professional website."
        },
        "headline": {
          "type": "string",
          "maxLength": 3000,
          "description": "Short professional headline.",
          "maxGraphemes": 300
        },
        "location": {
          "type": "string",
          "description": "Assembled human-readable primary location string."
        },
        "projects": {
          "type": "array",
          "items": {
            "ref": "#projectView",
            "type": "ref"
          },
          "description": "Personal or professional projects."
        },
        "pronouns": {
          "type": "string",
          "maxLength": 640,
          "description": "Self-described pronouns.",
          "maxGraphemes": 64
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the profile record was created."
        },
        "education": {
          "type": "array",
          "items": {
            "ref": "#educationView",
            "type": "ref"
          },
          "description": "Education history entries."
        },
        "givenName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Given (first) name, when provided.",
          "maxGraphemes": 128
        },
        "languages": {
          "type": "array",
          "items": {
            "ref": "#languageView",
            "type": "ref"
          },
          "description": "Spoken/written languages with proficiency."
        },
        "locations": {
          "type": "array",
          "items": {
            "ref": "#locationView",
            "type": "ref"
          },
          "description": "All professional locations on the profile."
        },
        "positions": {
          "type": "array",
          "items": {
            "ref": "#positionView",
            "type": "ref"
          },
          "description": "Work history entries."
        },
        "activeApps": {
          "type": "array",
          "items": {
            "ref": "#activeAppView",
            "type": "ref"
          },
          "description": "AT Protocol apps this account has recently created records in."
        },
        "familyName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Family (last) name, when provided.",
          "maxGraphemes": 128
        },
        "industries": {
          "type": "array",
          "items": {
            "ref": "id.sifa.defs#industryDomain",
            "type": "ref"
          },
          "description": "Industry/domain pairs the user works in."
        },
        "countryCode": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code for the primary location."
        },
        "displayName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Display name shown on the profile.",
          "maxGraphemes": 128
        },
        "involvement": {
          "type": "array",
          "items": {
            "ref": "#involvementView",
            "type": "ref"
          },
          "description": "Community, open-source, charity, and civic involvement."
        },
        "pdsProvider": {
          "ref": "#pdsProviderView",
          "type": "ref",
          "description": "The account PDS provider."
        },
        "publications": {
          "type": "array",
          "items": {
            "ref": "#publicationView",
            "type": "ref"
          },
          "description": "Publications, merged from Sifa records and linked ORCID works."
        },
        "volunteering": {
          "type": "array",
          "items": {
            "ref": "#volunteeringView",
            "type": "ref"
          },
          "description": "Legacy volunteering entries. New entries are surfaced under involvement."
        },
        "presentations": {
          "type": "array",
          "items": {
            "ref": "#presentationView",
            "type": "ref"
          },
          "description": "Talks and sessions (content), each with its deliveries grouped underneath."
        },
        "availableToUtc": {
          "type": "integer",
          "description": "End of an availability window, as a UTC offset, if set."
        },
        "certifications": {
          "type": "array",
          "items": {
            "ref": "#certificationView",
            "type": "ref"
          },
          "description": "Certifications and licenses."
        },
        "followersCount": {
          "type": "integer",
          "description": "Number of Sifa graph followers."
        },
        "followingCount": {
          "type": "integer",
          "description": "Number of accounts this profile follows on the Sifa graph."
        },
        "locationRegion": {
          "type": "string",
          "description": "Primary location region, state, or province."
        },
        "blueskyVerified": {
          "type": "boolean",
          "description": "Whether the account holds a Bluesky verification."
        },
        "locationCountry": {
          "type": "string",
          "description": "Primary location country name."
        },
        "atfundContribute": {
          "ref": "#atfundLink",
          "type": "ref",
          "description": "Optional contribution/funding link."
        },
        "availableFromUtc": {
          "type": "integer",
          "description": "Start of an availability window, as a UTC offset, if set."
        },
        "connectionsCount": {
          "type": "integer",
          "description": "Number of confirmed professional connections."
        },
        "externalAccounts": {
          "type": "array",
          "items": {
            "ref": "#externalAccountView",
            "type": "ref"
          },
          "description": "Linked external accounts, with verification state."
        },
        "locationLocality": {
          "type": "string",
          "description": "Primary location city or locality."
        },
        "metInPersonCount": {
          "type": "integer",
          "description": "Number of confirmed in-person meetings."
        },
        "blueskyVerifiedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the Bluesky verification was issued."
        },
        "preferredWorkplace": {
          "type": "array",
          "items": {
            "ref": "id.sifa.defs#workplaceType",
            "type": "ref"
          },
          "description": "Preferred workplace arrangements."
        },
        "atprotoFollowersCount": {
          "type": "integer",
          "description": "Number of app.bsky.graph followers."
        },
        "presentationDeliveries": {
          "type": "array",
          "items": {
            "ref": "#presentationDeliveryView",
            "type": "ref"
          },
          "description": "Standalone deliveries that reference no owned presentation."
        }
      },
      "description": "The aggregated public professional profile view."
    },
    "projectView": {
      "type": "object",
      "required": [
        "rkey",
        "name"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Project URL."
        },
        "name": {
          "type": "string",
          "description": "Project name."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the project record."
        },
        "endDate": {
          "type": "string",
          "description": "End date. Partial date."
        },
        "startDate": {
          "type": "string",
          "description": "Start date. Partial date."
        },
        "description": {
          "type": "string",
          "description": "Project description."
        }
      },
      "description": "A project entry."
    },
    "durationView": {
      "type": "object",
      "required": [
        "minMinutes"
      ],
      "properties": {
        "maxMinutes": {
          "type": "integer",
          "description": "Maximum duration in minutes."
        },
        "minMinutes": {
          "type": "integer",
          "description": "Minimum duration in minutes."
        }
      },
      "description": "A duration range in minutes."
    },
    "languageView": {
      "type": "object",
      "required": [
        "rkey",
        "language"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the language record."
        },
        "language": {
          "type": "string",
          "description": "Language name or BCP-47 tag."
        },
        "proficiency": {
          "ref": "id.sifa.defs#proficiency",
          "type": "ref",
          "description": "Proficiency level."
        }
      },
      "description": "A language with proficiency."
    },
    "locationView": {
      "type": "object",
      "required": [
        "rkey"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the location record."
        },
        "type": {
          "ref": "id.sifa.defs#locationType",
          "type": "ref",
          "description": "The role this location plays."
        },
        "label": {
          "type": "string",
          "description": "Optional custom label."
        },
        "location": {
          "type": "string",
          "description": "Assembled human-readable location string."
        },
        "isPrimary": {
          "type": "boolean",
          "description": "Whether this is the primary location."
        },
        "countryCode": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code."
        },
        "locationRegion": {
          "type": "string",
          "description": "Region, state, or province."
        },
        "locationCountry": {
          "type": "string",
          "description": "Country name."
        },
        "locationLocality": {
          "type": "string",
          "description": "City or locality."
        }
      },
      "description": "A professional location on the profile."
    },
    "positionView": {
      "type": "object",
      "required": [
        "rkey",
        "title"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the position record."
        },
        "title": {
          "type": "string",
          "description": "Job title or role."
        },
        "company": {
          "type": "string",
          "description": "Company or organization name."
        },
        "endedAt": {
          "type": "string",
          "description": "End date. Partial date, absent if current."
        },
        "primary": {
          "type": "boolean",
          "description": "Whether this is the user's primary current position."
        },
        "location": {
          "type": "string",
          "description": "Assembled human-readable location string."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved company entity."
        },
        "startedAt": {
          "type": "string",
          "description": "Start date. Partial date (YYYY, YYYY-MM, or YYYY-MM-DD)."
        },
        "companyDid": {
          "type": "string",
          "format": "did",
          "description": "DID of the company, when known."
        },
        "entityName": {
          "type": "string",
          "description": "Resolved canonical company name."
        },
        "onBehalfOf": {
          "type": "string",
          "description": "Party this role is held on behalf of, when the person represents someone else — most often a fund whose board seat this is. A disclosure, not a role type. Absent for independent roles."
        },
        "skillRkeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Record keys of skills linked to this position."
        },
        "countryCode": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code."
        },
        "description": {
          "type": "string",
          "description": "Role description."
        },
        "onBehalfOfDid": {
          "type": "string",
          "format": "did",
          "description": "DID of the represented party, when known. May be an organization or a person."
        },
        "workplaceType": {
          "ref": "id.sifa.defs#workplaceType",
          "type": "ref",
          "description": "Workplace arrangement."
        },
        "employmentType": {
          "ref": "id.sifa.defs#employmentType",
          "type": "ref",
          "description": "Employment arrangement."
        },
        "locationRegion": {
          "type": "string",
          "description": "Region, state, or province."
        },
        "locationCountry": {
          "type": "string",
          "description": "Country name."
        },
        "locationLocality": {
          "type": "string",
          "description": "City or locality."
        },
        "onBehalfOfEntityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved entity for the represented party."
        },
        "onBehalfOfEntityName": {
          "type": "string",
          "description": "Resolved canonical name for the represented party. Present only when the reference resolves; clients render onBehalfOf otherwise, never the raw URI."
        }
      },
      "description": "A work-history entry."
    },
    "activeAppView": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "App identifier."
        },
        "name": {
          "type": "string",
          "description": "App display name."
        },
        "category": {
          "type": "string",
          "description": "App category."
        },
        "recentCount": {
          "type": "integer",
          "description": "Recent record count."
        },
        "latestRecordAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp of the latest record."
        }
      },
      "description": "An AT Protocol app the account has recently created records in."
    },
    "coSpeakerView": {
      "type": "object",
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "DID of the co-speaker, when linked to a Sifa profile."
        },
        "name": {
          "type": "string",
          "description": "Free-text co-speaker name, when not linked."
        },
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "Avatar URL, when linked."
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "Handle, when linked."
        },
        "displayName": {
          "type": "string",
          "description": "Display name, when linked."
        }
      },
      "description": "A co-speaker on a presentation delivery."
    },
    "educationView": {
      "type": "object",
      "required": [
        "rkey"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the education record."
        },
        "degree": {
          "type": "string",
          "description": "Degree earned."
        },
        "endedAt": {
          "type": "string",
          "description": "End date. Partial date."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved institution entity."
        },
        "startedAt": {
          "type": "string",
          "description": "Start date. Partial date."
        },
        "activities": {
          "type": "string",
          "description": "Activities and societies."
        },
        "description": {
          "type": "string",
          "description": "Additional description."
        },
        "institution": {
          "type": "string",
          "description": "Institution name."
        },
        "fieldOfStudy": {
          "type": "string",
          "description": "Field of study."
        },
        "institutionDid": {
          "type": "string",
          "format": "did",
          "description": "DID of the institution, when known."
        }
      },
      "description": "An education-history entry."
    },
    "contributorView": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Sifa/AT Protocol DID, when linked."
        },
        "name": {
          "type": "string",
          "description": "Contributor name."
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "Handle, when linked."
        },
        "orcidId": {
          "type": "string",
          "description": "ORCID identifier."
        }
      },
      "description": "A linked publication contributor."
    },
    "involvementView": {
      "type": "object",
      "required": [
        "rkey",
        "kind",
        "links",
        "legacy"
      ],
      "properties": {
        "kind": {
          "ref": "id.sifa.defs#involvementKind",
          "type": "ref",
          "description": "The nature of the involvement."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the involvement (or legacy volunteering) record."
        },
        "role": {
          "type": "string",
          "description": "Role in the involvement."
        },
        "links": {
          "type": "array",
          "items": {
            "ref": "#involvementLinkView",
            "type": "ref"
          },
          "description": "Public artifact links proving the work."
        },
        "legacy": {
          "type": "boolean",
          "description": "True if mapped from a legacy volunteering record."
        },
        "endedAt": {
          "type": "string",
          "description": "End date. Partial date."
        },
        "upstream": {
          "type": "string",
          "description": "Name of the community, org, or person the involvement is with."
        },
        "startedAt": {
          "type": "string",
          "description": "Start date. Partial date."
        },
        "description": {
          "type": "string",
          "description": "Description."
        },
        "upstreamDid": {
          "type": "string",
          "format": "did",
          "description": "DID of the upstream, when known."
        },
        "upstreamUrl": {
          "type": "string",
          "format": "uri",
          "description": "URL of the upstream, when provided."
        }
      },
      "description": "A community, open-source, charity, or civic involvement."
    },
    "pdsProviderView": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "host": {
          "type": "string",
          "description": "PDS hostname."
        },
        "name": {
          "type": "string",
          "description": "Human-readable provider name."
        }
      },
      "description": "A PDS provider descriptor."
    },
    "publicationView": {
      "type": "object",
      "required": [
        "rkey",
        "title",
        "verified"
      ],
      "properties": {
        "doi": {
          "type": "string",
          "description": "Digital Object Identifier."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Publication URL."
        },
        "date": {
          "type": "string",
          "description": "Publication date. Partial date."
        },
        "rkey": {
          "type": "string",
          "description": "Record key, or a synthetic key for ORCID-only works."
        },
        "type": {
          "type": "string",
          "description": "Publication type token."
        },
        "image": {
          "type": "string",
          "format": "uri",
          "description": "Cover or preview image URL."
        },
        "title": {
          "type": "string",
          "description": "Publication title."
        },
        "subtitle": {
          "type": "string",
          "description": "Subtitle."
        },
        "verified": {
          "type": "boolean",
          "description": "Whether the publication is verified (e.g. via ORCID)."
        },
        "publisher": {
          "type": "string",
          "description": "Publisher or journal."
        },
        "typeLabel": {
          "type": "string",
          "description": "Human-readable publication type."
        },
        "description": {
          "type": "string",
          "description": "Description or abstract."
        },
        "verifiedVia": {
          "type": "string",
          "description": "Verification source, when verified."
        },
        "contributors": {
          "type": "array",
          "items": {
            "ref": "#contributorView",
            "type": "ref"
          },
          "description": "Linked contributors (co-authors)."
        },
        "publicationUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the source publication record, when present."
        },
        "publicationUrl": {
          "type": "string",
          "format": "uri",
          "description": "Canonical publication URL, when present."
        },
        "publicationName": {
          "type": "string",
          "description": "Name of the source publication venue, when present."
        },
        "orcidCorroborated": {
          "type": "boolean",
          "description": "Whether an ORCID work corroborates a Sifa record."
        }
      },
      "description": "A publication, merged from Sifa and linked ORCID works."
    },
    "presentationView": {
      "type": "object",
      "required": [
        "rkey",
        "title",
        "deliveries"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the presentation record."
        },
        "links": {
          "type": "array",
          "items": {
            "ref": "id.sifa.defs#presentationLink",
            "type": "ref"
          },
          "description": "Related links (slides, recording, etc.)."
        },
        "title": {
          "type": "string",
          "description": "Presentation title."
        },
        "duration": {
          "ref": "#durationView",
          "type": "ref",
          "description": "Duration range in minutes."
        },
        "deliveries": {
          "type": "array",
          "items": {
            "ref": "#presentationDeliveryView",
            "type": "ref"
          },
          "description": "Deliveries of this presentation."
        },
        "writeupUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of a linked write-up record."
        },
        "description": {
          "type": "string",
          "description": "Presentation description."
        },
        "intendedAudiences": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Intended audiences."
        }
      },
      "description": "A talk or session (content), with its deliveries grouped underneath."
    },
    "volunteeringView": {
      "type": "object",
      "required": [
        "rkey",
        "organization"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "description": "Record key of the volunteering record."
        },
        "role": {
          "type": "string",
          "description": "Role held."
        },
        "cause": {
          "type": "string",
          "description": "Cause supported."
        },
        "endDate": {
          "type": "string",
          "description": "End date. Partial date."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved organization entity."
        },
        "startDate": {
          "type": "string",
          "description": "Start date. Partial date."
        },
        "description": {
          "type": "string",
          "description": "Description."
        },
        "organization": {
          "type": "string",
          "description": "Organization name."
        }
      },
      "description": "A legacy volunteering entry."
    },
    "certificationView": {
      "type": "object",
      "required": [
        "rkey",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Certification name."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the certification record."
        },
        "entityRef": {
          "type": "string",
          "format": "uri",
          "description": "Pointer URI to the resolved issuer entity."
        },
        "issueDate": {
          "type": "string",
          "description": "Issue date. Partial date."
        },
        "expiryDate": {
          "type": "string",
          "description": "Expiry date. Partial date."
        },
        "issuingOrg": {
          "type": "string",
          "description": "Issuing organization."
        },
        "credentialUrl": {
          "type": "string",
          "format": "uri",
          "description": "URL of the credential."
        }
      },
      "description": "A certification or license."
    },
    "externalAccountView": {
      "type": "object",
      "required": [
        "rkey",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Account URL."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the external account record."
        },
        "label": {
          "type": "string",
          "description": "Optional custom label."
        },
        "feedUrl": {
          "type": "string",
          "format": "uri",
          "description": "Feed URL (RSS/Atom), when applicable."
        },
        "primary": {
          "type": "boolean",
          "description": "Whether this is the primary external account."
        },
        "platform": {
          "ref": "id.sifa.defs#externalPlatform",
          "type": "ref",
          "description": "Platform type."
        },
        "verified": {
          "type": "boolean",
          "description": "Whether the account is verified."
        },
        "verifiable": {
          "type": "boolean",
          "description": "Whether the account can be verified."
        },
        "verifiedVia": {
          "type": "string",
          "description": "Verification method, when verified."
        }
      },
      "description": "A linked external account with verification state."
    },
    "involvementLinkView": {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Artifact URL."
        },
        "kind": {
          "type": "string",
          "description": "What the link points to (e.g. pull-request, talk, article)."
        },
        "label": {
          "type": "string",
          "description": "Optional human-readable label."
        },
        "verified": {
          "type": "boolean",
          "description": "True if the link host matches a verified external account."
        },
        "verifiedPlatform": {
          "type": "string",
          "description": "Platform token of the verified host, when verified."
        }
      },
      "description": "A proof link on an involvement."
    },
    "presentationDeliveryView": {
      "type": "object",
      "required": [
        "rkey"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Delivery date. Partial date."
        },
        "mode": {
          "type": "string",
          "description": "Delivery mode (e.g. in-person, remote, hybrid)."
        },
        "rkey": {
          "type": "string",
          "description": "Record key of the delivery record."
        },
        "role": {
          "ref": "id.sifa.defs#presentationRole",
          "type": "ref",
          "description": "The user's role in the delivery."
        },
        "links": {
          "type": "array",
          "items": {
            "ref": "id.sifa.defs#presentationLink",
            "type": "ref"
          },
          "description": "Related links for this delivery."
        },
        "title": {
          "type": "string",
          "description": "Delivery title (may differ from the presentation title)."
        },
        "status": {
          "type": "string",
          "description": "Delivery status."
        },
        "eventUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of a linked event record."
        },
        "location": {
          "type": "string",
          "description": "Event location."
        },
        "eventName": {
          "type": "string",
          "description": "Name of the event or occasion."
        },
        "coSpeakers": {
          "type": "array",
          "items": {
            "ref": "#coSpeakerView",
            "type": "ref"
          },
          "description": "Co-speakers on this delivery."
        },
        "presentationRkey": {
          "type": "string",
          "description": "Record key of the parent presentation, when grouped."
        }
      },
      "description": "A single delivery of a presentation at an occasion."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Get the aggregated public professional profile for an actor, as computed by a Sifa AppView. This view joins a user's id.sifa.* records across all sections (positions, education, skills, endorsements received, and more) plus AppView-computed aggregates (follower/connection counts, active apps, verification state). Raw records remain readable directly from the user's PDS; this method exposes the enriched, joined view that only exists in the AppView. Public projection: viewer-specific and internal fields are not included."
}
```
