Lexicons
ProtoPro stores data on the AT Protocol using the following record schemas. These lexicons define the structure of data written to each user's personal data repository.
blue.protopro.actor.profile
A professional profile record for ProtoPro. Personal accounts store a full resume; organization accounts store a company overview.
Record key: literal:self
| Field | Type | Required | Description |
|---|---|---|---|
| accountType | "personal" | "organization" | Account type. Determines which fields are used. | |
| name | string | Display name for the user or organization | |
| overview | string | Bio or description text | |
| socialLinks | string[] | Array of social profile or website URLs | |
| skills | string[] | List of skills (personal accounts only) | |
| jobHistory | object[] | Employment history (personal accounts only) | |
| educationHistory | object[] | Education history (personal accounts only) | |
| languages | object[] | Language proficiencies (personal accounts only) | |
| publications | object[] | Publications (personal accounts only) | |
| projects | object[] | Projects (personal accounts only) | |
| awards | object[] | Awards and honors (personal accounts only) | |
| avatarPreference | "custom" | "bluesky" | Which avatar to display: a custom upload or the Bluesky avatar | |
| protoproAvatarBlob | ref | Blob reference for a custom avatar image | |
| updatedAt | string (datetime) | ISO timestamp of last update |
blue.protopro.job
A job listing posted by an organization on ProtoPro.
Record key: tid
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Job title |
| description | string | Yes | Full job description |
| location | string | Job location (city, region, etc.) | |
| employmentType | string | Employment type (e.g. full-time, part-time, contract) | |
| remote | boolean | Whether the position is remote | |
| applyUrl | string (uri) | URL to apply for the position | |
| tags | string[] | Tags or categories for the job listing | |
| status | "open" | "closed" | Whether the listing is open or closed | |
| createdAt | string (datetime) | Yes | |
| updatedAt | string (datetime) |
blue.protopro.org.member
Organization team member record for ProtoPro: references a user DID, role/title, status, and optional dates.
Record key: tid
| Field | Type | Required | Description |
|---|---|---|---|
| userDid | string (did) | Yes | DID of the member |
| title | string | Yes | Role or title at the organization |
| status | "current" | "former" | Employment/association status | |
| startedAt | string (datetime) | ISO timestamp when the member started | |
| endedAt | string (datetime) | ISO timestamp when the member ended | |
| note | string | Optional note or context | |
| createdAt | string (datetime) | Yes | |
| updatedAt | string (datetime) |