Signal website screenshot

Signal

Signal is a privacy-focused messaging platform that provides end-to-end encrypted communication through open-source applications on mobile and desktop. Their developer ecosystem centers around the open-source Signal Protocol, client SDKs, and server infrastructure, enabling developers to study, audit, and integrate secure messaging capabilities. The Signal Protocol is the most widely deployed end-to-end encryption protocol in the world, used by Signal, WhatsApp, Google Messages, and other platforms.

Signal publishes 9 APIs on the APIs.io network, including Accounts API, Attachments API, Certificates API, and 6 more. Tagged areas include Encryption, Messaging, Security, Cryptography, and Open Source.

The Signal catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 3 Spectral governance rulesets.

Signal’s developer surface includes authentication, documentation, engineering blog, support, GitHub presence, and 7 more developer resources.

50.5/100 developing ▬ flat Agent 36/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessPaidSelf serve
14 APIs
EncryptionMessagingSecurityCryptographyOpen SourcePrivacy

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 50.5/100 · developing
Contract Quality 21.0 / 25
Developer Ergonomics 5.2 / 20
Commercial Clarity 10.0 / 20
Operational Transparency 3.4 / 13
Governance 5.7 / 12
Discoverability 6.5 / 10
Agent readiness — 36/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/signal: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 14

Individual APIs this provider publishes, each with its own machine-readable definition.

Signal Protocol Specifications

The Signal Protocol Specifications define the core cryptographic protocols that underpin Signal's end-to-end encrypted messaging. These include the X3DH (Extended Triple Diffie-...

Signal libsignal SDK

The libsignal SDK provides platform-agnostic APIs used by the official Signal clients and server. It implements the Signal Protocol including the Double Ratchet algorithm, as we...

Signal Android SDK

Signal-Android is the open-source Android client for the Signal encrypted messaging platform. It provides the full messaging experience including end-to-end encrypted text messa...

Signal iOS SDK

Signal-iOS is the open-source iOS client for the Signal encrypted messaging platform. It delivers end-to-end encrypted messaging, voice calls, video calls, and group communicati...

Signal Desktop SDK

Signal-Desktop is the open-source desktop client for the Signal encrypted messaging platform, built with Electron and TypeScript. It provides end-to-end encrypted messaging, voi...

Signal Accounts API

Account management endpoints for configuring account settings, managing capabilities, and account lifecycle operations.

Signal Attachments API

Attachment handling endpoints for uploading and downloading media files associated with messages.

Signal Certificates API

Certificate endpoints for retrieving delivery certificates used in sealed sender message delivery.

Signal Devices API

Device management endpoints for linking, unlinking, and managing devices associated with a Signal account.

Signal Keys API

Pre-key bundle management endpoints for uploading and retrieving public key material used in the Signal Protocol key exchange.

Signal Messages API

Message sending and receiving endpoints for delivering encrypted messages between Signal users.

Signal Profiles API

Profile management endpoints for setting and retrieving user profile information including names, avatars, and capabilities.

Signal Registration API

Account registration endpoints for creating new Signal accounts via phone number verification.

Signal Stickers API

Sticker pack management endpoints for uploading and retrieving sticker packs.

Scroll for all 14

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Signal Server API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Signal Plans Pricing

1 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Signal Rate Limits

1 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Signal Server Real-Time Events

The Signal Server real-time messaging interface provides WebSocket connections for persistent, bidirectional communication between Signal clients and the server. When a client h...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Signal Context

0 classes · 10 properties

JSON-LD

Spectral Rules 3

Spectral governance rulesets for linting and validating these APIs.

Signal API Rules

8 rules · 1 errors 6 warnings 1 info

SPECTRAL

Signal API Rules

6 rules · 4 warnings 2 info

SPECTRAL

Signal API Rules

8 rules · 2 errors 4 warnings

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

Signal Protocol Entities

0 properties

JSON SCHEMA

JSON Structure 1

JSON Structure definitions describing this provider's data shapes.

Signal Server Structure

0 properties

JSON STRUCTURE

Examples 2

Example request and response payloads for these APIs.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Signal Authentication

http · 2 schemes

SECURITY

Signal Domain Security

TLSv1.3 · DNSSEC · DMARC

SECURITY

Signal Vulnerability Disclosure

security.txt · contact published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Signal Agentic Access

18 operations · 9 acting

18 operations · 9 acting

AGENTIC

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: signal
url: https://raw.githubusercontent.com/api-evangelist/signal/refs/heads/main/apis.yml
apis:
- aid: signal:signal-protocol-specifications
  name: Signal Protocol Specifications
  tags:
  - Encryption
  - Messaging
  - Cryptography
  - Security
  - Protocols
  humanURL: https://signal.org/docs/
  properties:
  - url: https://signal.org/docs/
    type: Documentation
  description: The Signal Protocol Specifications define the core cryptographic protocols that underpin Signal's end-to-end
    encrypted messaging. These include the X3DH (Extended Triple Diffie-Hellman) key agreement protocol for establishing shared
    secrets between parties, the Double Ratchet Algorithm for deriving new encryption keys per message, the PQXDH (Post-Quantum
    Extended Diffie-Hellman) protocol for quantum-resistant key agreement, and XEdDSA for EdDSA-compatible signature schemes.
    These specifications are published independently so they can be adopted by other projects beyond Signal itself.
- aid: signal:signal-libsignal-sdk
  name: Signal libsignal SDK
  tags:
  - SDK
  - Encryption
  - Cryptography
  - Java
  - Swift
  - TypeScript
  - Rust
  humanURL: https://github.com/signalapp/libsignal
  properties:
  - url: https://github.com/signalapp/libsignal
    type: GitHub
  - url: https://github.com/signalapp/libsignal
    type: Documentation
  description: The libsignal SDK provides platform-agnostic APIs used by the official Signal clients and server. It implements
    the Signal Protocol including the Double Ratchet algorithm, as well as other cryptographic primitives such as AES-GCM
    encryption and zero-knowledge group functionality. The core implementations are written in Rust, with bindings exposed
    as Java, Swift, and TypeScript libraries.
- aid: signal:signal-android-sdk
  name: Signal Android SDK
  tags:
  - Android
  - Mobile
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-Android
  properties:
  - url: https://github.com/signalapp/Signal-Android
    type: GitHub
  - url: https://github.com/signalapp/Signal-Android
    type: Documentation
  description: Signal-Android is the open-source Android client for the Signal encrypted messaging platform. It provides the
    full messaging experience including end-to-end encrypted text messages, voice calls, video calls, group chats, and media
    sharing. The application integrates the libsignal protocol library for cryptographic operations and communicates with
    the Signal Server for message routing and delivery.
- aid: signal:signal-ios-sdk
  name: Signal iOS SDK
  tags:
  - iOS
  - Mobile
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-iOS
  properties:
  - url: https://github.com/signalapp/Signal-iOS
    type: GitHub
  - url: https://github.com/signalapp/Signal-iOS
    type: Documentation
  description: Signal-iOS is the open-source iOS client for the Signal encrypted messaging platform. It delivers end-to-end
    encrypted messaging, voice calls, video calls, and group communications on iPhone and iPad devices. The application uses
    the libsignal protocol library for all cryptographic operations and connects to the Signal Server infrastructure for message
    delivery and synchronization.
- aid: signal:signal-desktop-sdk
  name: Signal Desktop SDK
  tags:
  - Desktop
  - Electron
  - Messaging
  - Encryption
  - Open Source
  humanURL: https://github.com/signalapp/Signal-Desktop
  properties:
  - url: https://github.com/signalapp/Signal-Desktop
    type: GitHub
  - url: https://github.com/signalapp/Signal-Desktop
    type: Documentation
  description: Signal-Desktop is the open-source desktop client for the Signal encrypted messaging platform, built with Electron
    and TypeScript. It provides end-to-end encrypted messaging, voice calls, video calls, and group communications on Windows,
    macOS, and Linux. The desktop client links to an existing Signal mobile account and synchronizes messages across devices.
- aid: signal:signal-accounts-api
  name: Signal Accounts API
  description: Account management endpoints for configuring account settings, managing capabilities, and account lifecycle
    operations.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Accounts
  properties:
  - type: OpenAPI
    url: openapi/signal-accounts-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-attachments-api
  name: Signal Attachments API
  description: Attachment handling endpoints for uploading and downloading media files associated with messages.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Attachments
  properties:
  - type: OpenAPI
    url: openapi/signal-attachments-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-certificates-api
  name: Signal Certificates API
  description: Certificate endpoints for retrieving delivery certificates used in sealed sender message delivery.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Certificates
  properties:
  - type: OpenAPI
    url: openapi/signal-certificates-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-devices-api
  name: Signal Devices API
  description: Device management endpoints for linking, unlinking, and managing devices associated with a Signal account.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Devices
  properties:
  - type: OpenAPI
    url: openapi/signal-devices-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-keys-api
  name: Signal Keys API
  description: Pre-key bundle management endpoints for uploading and retrieving public key material used in the Signal Protocol
    key exchange.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Keys
  properties:
  - type: OpenAPI
    url: openapi/signal-keys-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-messages-api
  name: Signal Messages API
  description: Message sending and receiving endpoints for delivering encrypted messages between Signal users.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Messages
  properties:
  - type: OpenAPI
    url: openapi/signal-messages-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-profiles-api
  name: Signal Profiles API
  description: Profile management endpoints for setting and retrieving user profile information including names, avatars,
    and capabilities.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Profiles
  properties:
  - type: OpenAPI
    url: openapi/signal-profiles-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-registration-api
  name: Signal Registration API
  description: Account registration endpoints for creating new Signal accounts via phone number verification.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Registration
  properties:
  - type: OpenAPI
    url: openapi/signal-registration-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
- aid: signal:signal-stickers-api
  name: Signal Stickers API
  description: Sticker pack management endpoints for uploading and retrieving sticker packs.
  humanURL: https://signal.org/docs/
  baseURL: https://chat.signal.org
  tags:
  - Stickers
  properties:
  - type: OpenAPI
    url: openapi/signal-stickers-api-openapi.yml
  - type: GitHub
    url: https://github.com/signalapp/Signal-Server
  - type: Documentation
    url: https://github.com/signalapp/Signal-Server
  - type: AsyncAPI
    url: asyncapi/signal-server-asyncapi.yml
  - type: SpectralRules
    url: rules/signal-rules.yml
  - type: Capabilities
    url: capabilities/secure-messaging.yaml
  - type: JSONSchema
    url: json-schema/signal-protocol-entities-schema.json
  - type: JSONLD
    url: json-ld/signal-context.jsonld
  - type: Vocabulary
    url: vocabulary/signal-vocabulary.yml
name: Signal
tags:
- Encryption
- Messaging
- Security
- Cryptography
- Open Source
- Privacy
kind: contract
accessModel:
  pricing: paid
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Paid · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/signal.png
access: 3rd-Party
created: '2026-03-20'
modified: '2026-05-19'
position: Consuming
segments:
- Messaging
- Security
- Cryptography
description: Signal is a privacy-focused messaging platform that provides end-to-end encrypted communication through open-source
  applications on mobile and desktop. Their developer ecosystem centers around the open-source Signal Protocol, client SDKs,
  and server infrastructure, enabling developers to study, audit, and integrate secure messaging capabilities. The Signal
  Protocol is the most widely deployed end-to-end encryption protocol in the world, used by Signal, WhatsApp, Google Messages,
  and other platforms.
common:
- type: AgenticAccess
  url: agentic-access/signal-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/signal-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/signal-domain-security.yml
- type: Authentication
  url: authentication/signal-authentication.yml
- type: LinkedIn
  url: https://www.linkedin.com/company/signal-messenger
- type: Website
  url: https://signal.org/
- type: Documentation
  url: https://signal.org/docs/
- type: Blog
  url: https://signal.org/blog/
- type: Support
  url: https://support.signal.org/
- type: TermsOfService
  url: https://signal.org/legal/
- type: PrivacyPolicy
  url: https://signal.org/legal/#privacy-policy
- type: GitHub
  url: https://github.com/signalapp
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
specificationVersion: '0.19'