id.sifa.getProfileView

sifa.id

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

Validate Record

Validate a record against id.sifa.getProfileView

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2f2ahswozqy4v5lvu676375y
CID
bafyreibiig5xeyw3njo2gpxhlrvsuiuk4qrypnytz4buftiilnlwi4tgwy
Indexed At
2026-09-25 18:15 UTC
AT-URI
at://did:plc:2f2ahswozqy4v5lvu676375y/com.atproto.lexicon.schema/id.sifa.getProfileView

Version History (12 versions)

Referenced Schemas (13)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Get the detailed profile view of an actor by DID or handle.

  • Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.

  • This lexicon is in a not officially released state. It is subject to change. | Retrieves a profile for an actor DID or handle.

  • Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.

Lexicon Garden

@