Docs

Start here

Read a profile

GET/v1/community/profiles/{handle}on https://api.auray.ai/v1

A public profile: what its creator chose to show, its counts, and the reader's follow.

A public profile: what its creator chose to show, its counts, and the reader's follow. A handle its creator replaced within the hold answers the profile it leads to, with moved_from naming the handle asked for and handle the one it is now. Takes no key. A key that holds community:write reads as its account — its likes and follows filled in — and any other key reads what a stranger reads; either way a request with a key is answered for itself alone and kept in no shared cache. An answer without a key is the same for every reader, its request_id included — which names the request that filled the edge's copy — and carries no RateLimit-* headers, since they would describe that request's sender. Cached at the edge for thirty seconds with two minutes of stale service.

#Authentication

No key needed. A key that holds community:write is read as its account — its likes and follows filled in — and is answered private, no-store. Paced per address, and cached at the edge for thirty seconds.

#Request

#Path parameters

NameTypeRequiredDescription
handlestringyesA profile's handle; one @ before it is read past.

#Example request

curl https://api.auray.ai/v1/community/profiles/ada

#Responses

#200 OK

OK.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "profile".
idstringyes—The profile's public id.
handlestringyes—
namestringyes—May be null.
headlinestringyes—May be null.
biostringyes—May be null.
linksobject[]yes—
links[].kindstringyes—One of "website", "x", "instagram", "tiktok", "youtube", "linkedin", "github", "behance", "dribbble", "artstation", "vimeo", "threads", "bluesky".
links[].urlstringyes—https, at the host its kind names; a website anywhere. A URL.
avatar_urlstringyes—A URL. May be null.
banner_urlstringyes—A URL. May be null.
teambooleanyes—
joined_atstringyes—
countsobjectyes—
counts.followersintegerno—
counts.followingintegerno—
counts.worksintegerno—
counts.likesintegerno—Likes on its works.
counts.viewsintegerno—Views of its works.
viewerobjectyes—
viewer.selfbooleanno—The reader's own profile.
viewer.followingbooleanno—May be null.
urlstringyes—A URL.
mineobjectno—Only on the reader's own profile.
mine.moderationstringno—hidden when our team hid the profile; its works leave every place while it is. One of "visible", "hidden".
mine.moderation_notestringno—May be null.
mine.handle_change_afterstringno—When the handle can change again. May be null.
moved_fromstringno—The handle that was asked for, when its creator replaced it within the hold: link to handle instead.
request_idstringno—Mirrored in the X-Request-Id header. On an answer without a key it names the request that filled the edge's copy, so readers served from that copy are handed the same one.

Headers:

HeaderDescription
Cache-Controlpublic, s-maxage=30, stale-while-revalidate=120 with no key; private, no-store with one.
VaryAuthorization.
RateLimit-LimitBurst capacity, per key, on an answer to a key. An answer without one is cached at the edge and carries none of the RateLimit-* headers; a refusal without one, which is never cached, carries its address's.
RateLimit-Remaining
RateLimit-ResetSeconds until refill.
X-Request-Id

#404 Not Found

#429 Too Many Requests

#503 Service Unavailable

#Status codes

StatusMeaning
200OK.
404Not Found
429Too Many Requests
503Service Unavailable

Every refusal names its code, and every code is explained at Errors.

Start typing to search every page of the documentation.

Up arrow Down arrow to moveEnter to openEscape to close