Get an actor's profile. Returns full detail — including dashboard entitlements — only for the authenticated caller; for any other actor it returns public basics only.
Parameters
Output
application/jsonaccess
string
Optional
Caller only. Access level in the HappyProto admin space.
read, writeavatar
stringuri
Optional
A valid URI.
did
stringdid
Required
A decentralized identifier (DID).
displayName
string
Optional
No description available.
handle
stringhandle
Optional
An AT Protocol handle (e.g., alice.bsky.social).
isCustomer
boolean
Optional
Caller only. Whether the actor is a member of the customers space, the same rule the customer endpoints apply.
isMember
boolean
Optional
Caller only. Whether the actor may use the dashboard.
isSelf
boolean
Required
Whether this profile is the authenticated caller's. When false, the entitlement fields are absent — they are never populated for another actor.
Errors
AuthRequired
This endpoint requires an authenticated caller. Forbidden
Declared for the customer gate the script consults; getProfile never returns it, since a refused gate reports isCustomer false. ActorNotFound
The requested actor could not be resolved. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "Get an actor's profile. Returns full detail — including dashboard entitlements — only for the authenticated caller; for any other actor it returns public basics only.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "Declared for the customer gate the script consults; getProfile never returns it, since a refused gate reports isCustomer false.",
"name": "Forbidden"
},
{
"description": "The requested actor could not be resolved.",
"name": "ActorNotFound"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"access": {
"description": "Caller only. Access level in the HappyProto admin space.",
"knownValues": [
"read",
"write"
],
"type": "string"
},
"avatar": {
"format": "uri",
"type": "string"
},
"did": {
"format": "did",
"type": "string"
},
"displayName": {
"type": "string"
},
"handle": {
"format": "handle",
"type": "string"
},
"isCustomer": {
"description": "Caller only. Whether the actor is a member of the customers space, the same rule the customer endpoints apply.",
"type": "boolean"
},
"isMember": {
"description": "Caller only. Whether the actor may use the dashboard.",
"type": "boolean"
},
"isSelf": {
"description": "Whether this profile is the authenticated caller's. When false, the entitlement fields are absent — they are never populated for another actor.",
"type": "boolean"
}
},
"required": [
"did",
"isSelf"
],
"type": "object"
}
},
"parameters": {
"properties": {
"actor": {
"description": "Handle or DID to look up. Defaults to the authenticated caller.",
"format": "at-identifier",
"type": "string"
}
},
"type": "params"
},
"type": "query"
}