Users
User profile management
Get current user
Authorization
bearerAuth Supabase JWT token
In: header
Response Body
application/json
application/json
curl -X GET "https://arke-v1.arke.institute/users/me"{
"id": "01KDETYWYWM0MJVKM8DK3AEXPY",
"cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy",
"type": "user",
"properties": {
"label": "The Pequod's Archive",
"description": "A collection of whaling documents"
},
"relationships": [
{
"predicate": "crew",
"peer": "01KDETYWYWM0MJVKM8DK3AEXPY",
"peer_type": "collection"
}
],
"ver": 1,
"created_at": "2025-12-26T12:00:00.000Z",
"ts": 1735214400000,
"edited_by": {
"user_id": "01JCAPTAINAHAB000000000000",
"user_label": "Captain Ahab",
"method": "manual"
},
"prev_cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy"
}{
"error": "Unauthorized: Missing or invalid authentication token"
}Get user by ID
Path Parameters
Entity ID (ULID)
^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$Response Body
application/json
application/json
application/json
curl -X GET "https://arke-v1.arke.institute/users/01KDETYWYWM0MJVKM8DK3AEXPY"{
"id": "01KDETYWYWM0MJVKM8DK3AEXPY",
"cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy",
"type": "user",
"properties": {
"label": "The Pequod's Archive",
"description": "A collection of whaling documents"
},
"relationships": [
{
"predicate": "crew",
"peer": "01KDETYWYWM0MJVKM8DK3AEXPY",
"peer_type": "collection"
}
],
"ver": 1,
"created_at": "2025-12-26T12:00:00.000Z",
"ts": 1735214400000,
"edited_by": {
"user_id": "01JCAPTAINAHAB000000000000",
"user_label": "Captain Ahab",
"method": "manual"
},
"prev_cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy"
}{
"error": "Forbidden: You do not have permission to perform this action"
}{
"error": "Entity not found"
}Update user profile
Authorization
bearerAuth Supabase JWT token
In: header
Path Parameters
Entity ID (ULID)
^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$Request Body
application/json
Current tip CID for CAS validation. Request fails with 409 if this does not match.
1 <= lengthOptional note describing this change
Properties to add or update (deep merged)
Properties to remove. Use string[] for top-level keys (e.g., ["old_field"]), or nested objects for deep removal (e.g., { config: { options: ["debug"] } }). Dot notation like "config.options.debug" is NOT supported.
Relationships to add or update (upsert semantics)
Relationships to remove
Updated display name
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://arke-v1.arke.institute/users/01KDETYWYWM0MJVKM8DK3AEXPY" \ -H "Content-Type: application/json" \ -d '{ "expect_tip": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy" }'{
"id": "01KDETYWYWM0MJVKM8DK3AEXPY",
"cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy",
"type": "user",
"properties": {
"label": "The Pequod's Archive",
"description": "A collection of whaling documents"
},
"relationships": [
{
"predicate": "crew",
"peer": "01KDETYWYWM0MJVKM8DK3AEXPY",
"peer_type": "collection"
}
],
"ver": 1,
"created_at": "2025-12-26T12:00:00.000Z",
"ts": 1735214400000,
"edited_by": {
"user_id": "01JCAPTAINAHAB000000000000",
"user_label": "Captain Ahab",
"method": "manual"
},
"prev_cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy"
}{
"error": "Validation failed",
"details": {
"issues": [
{
"path": [
"properties",
"label"
],
"message": "Required"
}
]
}
}{
"error": "Unauthorized: Missing or invalid authentication token"
}{
"error": "Forbidden: You do not have permission to perform this action"
}{
"error": "Entity not found"
}{
"error": "Conflict: entity was modified",
"details": {
"expected": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy",
"actual": "bafyreinewabc123456789defghijklmnopqrstuvwxyz"
}
}List API keys
Authorization
bearerAuth Supabase JWT token
In: header
Response Body
application/json
application/json
curl -X GET "https://arke-v1.arke.institute/users/me/keys"{
"keys": [
{
"key_prefix": "uk_xKj9",
"label": "Production",
"created_at": "2025-12-28T00:00:00.000Z",
"expires_at": "2026-03-28T00:00:00.000Z",
"last_used_at": "2025-12-28T10:30:00.000Z"
}
]
}{
"error": "Unauthorized: Missing or invalid authentication token"
}Create API key
Authorization
bearerAuth Supabase JWT token
In: header
Request Body
application/json
Human-readable label for the key
length <= 100Time until expiration in seconds (default: 90 days, max: 365 days)
0 <= value <= 31536000Response Body
application/json
application/json
curl -X POST "https://arke-v1.arke.institute/users/me/keys" \ -H "Content-Type: application/json" \ -d '{}'{
"key": "uk_xKj92mNpQrStUvWxYz1234567890abcdef1234567890abcdef12345678",
"key_prefix": "uk_xKj9",
"expires_at": "2026-03-28T00:00:00.000Z"
}{
"error": "Unauthorized: Missing or invalid authentication token"
}Revoke API key
Authorization
bearerAuth Supabase JWT token
In: header
Path Parameters
API key prefix (e.g., uk_xKj9)
4 <= length <= 12Response Body
application/json
application/json
curl -X DELETE "https://arke-v1.arke.institute/users/me/keys/uk_xKj9"{
"error": "Unauthorized: Missing or invalid authentication token"
}{
"error": "Entity not found"
}List collections user has access to
Path Parameters
Entity ID (ULID)
^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$Query Parameters
Filter by role predicate (e.g., owner, editor)
Maximum number of results (default: 100, max: 1000)
Pagination offset
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://arke-v1.arke.institute/users/01KDETYWYWM0MJVKM8DK3AEXPY/collections"{
"user_id": "01JUSER123456789ABCDEFGH",
"collections": [
{
"pi": "01JCOLLECTION123456789AB",
"label": "My Research Collection",
"predicate": "owner",
"created_at": "2026-01-12T00:00:00.000Z"
}
],
"pagination": {
"offset": 0,
"limit": 0,
"count": 0,
"has_more": true
}
}{
"error": "Unauthorized: Missing or invalid authentication token"
}{
"error": "Forbidden: You do not have permission to perform this action"
}{
"error": "Entity not found"
}Search across user collections
Authorization
bearerAuth Supabase JWT token
In: header
Request Body
application/json
Search query text for semantic matching
1 <= length <= 500Filter results to specific entity type
Filter collections by user role (only search collections where user has this role)
"owner" | "editor" | "viewer"Include results from public-domain namespace (default: false)
falseMaximum number of results to return (default: 20, max: 100)
201 <= value <= 100Entity expansion mode. Default: "preview" for lightweight previews, "full" for complete manifests, "none" for no expansion.
"preview" | "full" | "none"Response Body
application/json
application/json
application/json
curl -X POST "https://arke-v1.arke.institute/users/me/search" \ -H "Content-Type: application/json" \ -d '{ "query": "medical research" }'{
"results": [
{
"pi": "01KDETYWYWM0MJVKM8DK3AEXPY",
"type": "file",
"label": "Research Paper.pdf",
"collection_pi": "01JCOLLECTION123456789AB",
"score": 0.87,
"created_at": "2026-01-12T00:00:00.000Z",
"updated_at": "2026-01-12T10:30:00.000Z",
"entity_preview": {
"id": "01KDETYWYWM0MJVKM8DK3AEXPY",
"type": "file",
"label": "Research Paper.pdf",
"collection_pi": "01JCOLLECTION123456789AB",
"description_preview": "A comprehensive study on distributed systems architecture...",
"created_at": "2026-01-12T00:00:00.000Z",
"updated_at": "2026-01-12T10:30:00.000Z"
},
"entity": {
"id": "01KDETYWYWM0MJVKM8DK3AEXPY",
"cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy",
"type": "collection",
"properties": {
"label": "The Pequod's Archive",
"description": "A collection of whaling documents"
},
"relationships": [
{
"predicate": "crew",
"peer": "01KDETYWYWM0MJVKM8DK3AEXPY",
"peer_type": "collection"
}
],
"ver": 1,
"created_at": "2025-12-26T12:00:00.000Z",
"ts": 1735214400000,
"edited_by": {
"user_id": "01JCAPTAINAHAB000000000000",
"user_label": "Captain Ahab",
"method": "manual"
},
"prev_cid": "bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy"
}
}
],
"metadata": {
"query": "string",
"collections_queried": 0,
"collections_total": 0,
"include_public": true,
"execution_time_ms": 0,
"result_count": 0
}
}{
"error": "Validation failed",
"details": {
"issues": [
{
"path": [
"properties",
"label"
],
"message": "Required"
}
]
}
}{
"error": "Unauthorized: Missing or invalid authentication token"
}