Join the network
Federate your catalog
Enter your domain to generate the two .well-known files to publish, then validate them live — the exact checks our crawler runs before indexing you.
1 · Publish your catalog
At https://your-airline.com/.well-known/ai-catalog.json:
ai-catalog.json
{
"specVersion": "1.0",
"publisher": { "name": "YOUR AIRLINE", "did": "did:web:your-airline.com" },
"entries": [
{
"identifier": "urn:air:your-airline.com:server:upgrade",
"type": "api",
"displayName": "YOUR AIRLINE upgrade program",
"url": "https://your-airline.com/your-upgrade-page-or-api",
"description": "Bid and instant upgrades for YOUR AIRLINE bookings.",
"representativeQueries": [
"Can I upgrade my YOUR AIRLINE booking?",
"How do I bid for an upgrade on YOUR AIRLINE?"
],
"trustManifest": {
"identity": "did:web:your-airline.com",
"identityType": "did",
"signature": "<detached JWS: header kid did:web:your-airline.com#key-1 — see signing note>"
}
}
]
}2 · Publish your DID document
At https://your-airline.com/.well-known/did.json:
did.json
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:web:your-airline.com",
"verificationMethod": [{
"id": "did:web:your-airline.com#key-1",
"type": "JsonWebKey2020",
"controller": "did:web:your-airline.com",
"publicKeyJwk": { "kty": "OKP", "crv": "Ed25519", "x": "<base64url public key>" }
}]
}3 · Sign your entries
Each entry is signed with your Ed25519 key: a detached JWS over the entry's JCS (RFC 8785) bytes, with the signature placed at trustManifest.signature. Generate a keypair:
keygen
# generate an Ed25519 keypair (Node 18+)
node -e "const c=require('crypto');const{publicKey,privateKey}=c.generateKeyPairSync('ed25519');
const jwk=publicKey.export({format:'jwk'});console.log('publicKeyJwk.x:',jwk.x);
console.log('private (keep safe):',privateKey.export({type:'pkcs8',format:'pem'}).toString())"Our crawler resolves your did:web, recomputes every signature from your own bytes, and indexes only verified entries — no callback to you, nothing to integrate. Questions: partners@upgradeagent.ai.