co/core
Developer docsDocs
Jump to
Developer docs

AppView API

Read-only XRPC queries over the co/core indexed read-model — receipts, jobs, providers, and social graph state.

Basehttps://appview.cocore.dev/xrpc·read-only

Overview

The co/core AppView indexes provider-signed records under dev.cocore.* from the network firehose. It exposes a small read API at https://appview.cocore.dev/xrpc for discovery, verification, and analytics. Authoritative state remains in each actor's PDS — the AppView is a cache, not a ledger.

Service discovery

Service DID is did:web:appview.cocore.dev. Production deployments advertise the AppView endpoint via #cocore_appview on the console DID document.

Inference API

To run inference against co/core providers, use the OpenAI-compatible chat completions surface documented on /docs/inference. Drop-in replacement: change the base URL and API key in your existing OpenAI SDK client.

Directory

no auth · 4 endpoints

List indexed provider records (`dev.cocore.compute.provider`).

curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.listProviders'
response

Click Run example to fetch a live response.

List indexed account profile records (`dev.cocore.account.profile`).

curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.listProfiles'
response

Click Run example to fetch a live response.

Full profile payload for one DID — machines, activity counts, and social context.

ParamType
did*did
curl
did
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.getProfile?did=did%3Aplc%3Am2sjv3wncvsasdapla35hzwj'
response

Click Run example to fetch a live response.

Discovery directory of signed-up DIDs with profile and provider counts.

ParamType
limitinteger
offsetinteger
sortBystring
providersOnlyboolean
viewerDiddid
excludeViewerFriendsboolean
qstring
curl
q
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.listAccounts?limit=12&q=did%3Aplc%3Am2sjv3wncvsasdapla35hzwj'
response

Click Run example to fetch a live response.

Social graph

no auth · 2 endpoints

Friend records whose subject is the queried DID.

ParamType
did*did
limitinteger
curl
did
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.listIncomingFriends?did=did%3Aplc%3Am2sjv3wncvsasdapla35hzwj&limit=10'
response

Click Run example to fetch a live response.

Every directed trust edge in the indexed network (friender → subject).

ParamType
limitinteger
curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.listFriendEdges?limit=100'
response

Click Run example to fetch a live response.

Compute index

no auth · 3 endpoints

Indexed receipt records with optional provider, requester, or job filters.

ParamType
providerdid
requesterdid
jobat-uri
curl
provider
requester
job
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.listReceipts?provider=did%3Aplc%3Am2sjv3wncvsasdapla35hzwj'
response

Click Run example to fetch a live response.

Indexed job records for a requester DID.

ParamType
requester*did
curl
requester
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.listJobs?requester=did%3Aplc%3Am2sjv3wncvsasdapla35hzwj'
response

Click Run example to fetch a live response.

Indexed settlement records with optional receipt or requester filters.

ParamType
receiptat-uri
requesterdid
curl
receipt
requester
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.listSettlements?receipt=at%3A%2F%2Fdid%3Aplc%3Acbkjy5n7bk3ax2wplmtjofq2%2Fdev.cocore.compute.receipt%2F3mororcfmk22k'
response

Click Run example to fetch a live response.

Verification

no auth · 2 endpoints

Structural + cryptographic verification of an indexed receipt against its job and attestation.

ParamType
uri*at-uri
curl
uri
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.verifyReceipt?uri=at%3A%2F%2Fdid%3Aplc%3Acbkjy5n7bk3ax2wplmtjofq2%2Fdev.cocore.compute.receipt%2F3mororcfmk22k'
response

Click Run example to fetch a live response.

Verify a settlement chain against indexed receipt and authorization records.

ParamType
uri*at-uri
curl
uri
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.verifySettlement?uri=at%3A%2F%2Fdid%3Aplc%3A5quuhkmwe2q4k3azfsgg7kdz%2Fdev.cocore.compute.settlement%2F3mororclhvk2z'
response

Click Run example to fetch a live response.

Analytics

no auth · 2 endpoints

Aggregate receipt activity per model across rolling time windows.

curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.modelActivity'
response

Click Run example to fetch a live response.

Network latency rollup derived from indexed receipt timestamps.

curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.compute.latency'
response

Click Run example to fetch a live response.

API keys

service auth · 4 endpoints
dev.cocore.account.createApiKeyprocedureauth: required

Mint a new API key for the authenticated account. The full secret is returned exactly once. Authenticate via AT Protocol service auth — your PDS proxies the call to the AppView's `#cocore_appview` service.

ParamType
name*string
expiresAtdatetime
curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.account.createApiKey' -H 'Content-Type: application/json' -d '{"name":"my-laptop"}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

List the authenticated account's API keys, newest first. Secrets are never returned.

curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.account.listApiKeys'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

dev.cocore.account.revokeApiKeyprocedureauth: required

Revoke one of your API keys. The key stops authenticating immediately but the row is kept (revoked) for audit.

ParamType
id*string
curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.account.revokeApiKey' -H 'Content-Type: application/json' -d '{"id":"<key-id>"}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

dev.cocore.account.deleteApiKeyprocedureauth: required

Hard-delete one of your API keys (no audit-trail recovery).

ParamType
id*string
curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.account.deleteApiKey' -H 'Content-Type: application/json' -d '{"id":"<key-id>"}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

Inference

session auth · console · 1 endpoint
dev.cocore.inference.dispatchprocedureauth: required

Submit an inference request and stream the result as Server-Sent Events: the job + payment authorization are published, then plaintext output chunks until completion.

ParamType
model*string
prompt*string
maxTokensOut*integer
priceCeiling*object
targetProviderDiddid
curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.inference.dispatch' -H 'Content-Type: application/json' -d '{"model":"llama3.2","prompt":"Say hello.","maxTokensOut":256,"priceCeiling":{"amount":1000,"currency":"CC"}}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

Device pairing

console · 3 endpoints
dev.cocore.devicePair.startprocedureauth: none

Begin a device-pairing flow (OAuth device-authorization style). Returns a `deviceId` plus a short `userCode` to approve at the verification URI.

curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.devicePair.start' -H 'Content-Type: application/json' -d '{}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).

Poll a pairing attempt by `deviceId` until it is approved (then returns the granted session), denied, expired, or consumed.

ParamType
deviceId*string
curl
curl -sS 'https://appview.cocore.dev/xrpc/dev.cocore.devicePair.poll'
response

Click Run example to fetch a live response.

dev.cocore.devicePair.confirmprocedureauth: required

Approve or deny a pending pairing attempt, identified by the `userCode` the device displayed. Called from the verification UI by a signed-in user.

ParamType
userCode*string
decision*string
curl
curl -sS -X POST 'https://appview.cocore.dev/xrpc/dev.cocore.devicePair.confirm' -H 'Content-Type: application/json' -d '{"userCode":"ABCD-1234","decision":"approve"}'
response

Sign in to run this example (curl uses Bearer $ACCESS_TOKEN).