Signal · JSON Structure
Signal Server Structure
Hierarchical data model for the Signal Private Messenger server backend
Type: object
Properties: 0
EncryptionMessagingSecurityCryptographyOpen-SourcePrivacy
Signal Server Structure is a JSON Structure definition published by Signal.
Meta-schema:
JSON Structure
{
"title": "Signal Server Data Structure",
"description": "Hierarchical data model for the Signal Private Messenger server backend",
"type": "object",
"structure": {
"Account": {
"description": "A Signal user account identified by a phone number with ACI and PNI identifiers",
"fields": {
"aci": { "type": "uuid", "role": "identifier", "description": "Account Identity UUID" },
"pni": { "type": "uuid", "role": "identifier", "description": "Phone Number Identity UUID" },
"number": { "type": "string", "role": "identifier", "description": "E.164 formatted phone number" },
"username": { "type": "string", "role": "label", "description": "Optional username handle" },
"registrationId": { "type": "integer", "role": "crypto-id" }
},
"children": {
"Device": {
"description": "A Signal client device linked to the account (primary or linked)",
"fields": {
"id": { "type": "integer", "role": "identifier", "description": "Device ID (1 = primary)" },
"name": { "type": "string", "role": "label" },
"lastSeen": { "type": "datetime", "role": "audit" },
"created": { "type": "datetime", "role": "audit" }
},
"children": {
"PreKeyBundle": {
"description": "Cryptographic key material for initiating X3DH/PQXDH key exchange",
"fields": {
"identityKey": { "type": "string", "role": "crypto-key", "encoding": "base64", "curve": "Curve25519" },
"signedPreKey": { "type": "object", "role": "crypto-key" },
"oneTimePreKey": { "type": "object", "role": "crypto-key", "description": "Consumed at most once" },
"kyberPreKey": { "type": "object", "role": "crypto-key", "description": "Post-quantum Kyber key" }
}
}
}
},
"MessageEnvelope": {
"description": "An encrypted message envelope routed through the Signal server",
"fields": {
"type": { "type": "integer", "role": "classification", "description": "Envelope type (1=ciphertext, 3=prekey bundle, 8=sealed sender)" },
"destinationUuid": { "type": "uuid", "role": "reference" },
"destinationDeviceId": { "type": "integer", "role": "reference" },
"content": { "type": "string", "role": "payload", "encoding": "base64", "description": "Encrypted message content" },
"timestamp": { "type": "integer", "role": "temporal", "description": "Unix milliseconds" }
}
},
"Profile": {
"description": "A Signal user profile containing encrypted identity information",
"fields": {
"uuid": { "type": "uuid", "role": "identifier" },
"name": { "type": "string", "role": "label", "description": "Encrypted profile name" },
"avatar": { "type": "string", "role": "media", "description": "CDN path to profile avatar" },
"identityKey": { "type": "string", "role": "crypto-key", "encoding": "base64" },
"capabilities": { "type": "object", "role": "feature-flags" }
}
}
}
}
}
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/signal-server-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.