Skip to content

Profiles service

/profiles holds the public-facing profile of each account — display name, bio, links. A profile is created implicitly for every account; you only ever update or read it. In the UI this is the Settings profile page.

Update your profile

sh
curl -s -X PUT https://api.pantahub.com/profiles/ \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{
    "fullName": "Ada Lovelace",
    "bio": "Firmware wrangler",
    "location": "London",
    "company": "Analytical Engines Ltd",
    "website": "https://example.com",
    "github": "https://github.com/ada",
    "gitlab": "https://gitlab.com/ada",
    "twitter": "https://twitter.com/ada",
    "picture": "<base64-encoded 200x200 image>"
  }'

Read profiles

sh
# one profile, by nick
curl -s https://api.pantahub.com/profiles/<nick> \
  -H "Authorization: Bearer $TOKEN"

# list profiles
curl -s https://api.pantahub.com/profiles \
  -H "Authorization: Bearer $TOKEN"

# filter by nick prefix (regex anchors work)
curl -s "https://api.pantahub.com/profiles?nick=^abc" \
  -H "Authorization: Bearer $TOKEN"

# pagination — defaults: page=0, limit=20
curl -s "https://api.pantahub.com/profiles/?page=3&limit=2" \
  -H "Authorization: Bearer $TOKEN"

Profiles carry a public flag; non-public profiles expose only their minimal fields to other users.

Endpoint reference

Try any of these live in the API Reference:

EndpointReference
GET /profilesList profiles
GET /profiles/{id}Get profile
PUT /profilesUpdate your profile
GET /profiles/metasProfile metas
PUT /profiles/metasUpdate profile metas