Signal Attachments API

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

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/signal-attachments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

signal-attachments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Signal Server Accounts Attachments API
  description: The Signal Server API is the backend REST API that supports the Signal Private Messenger applications on Android, Desktop, and iOS. Built as a Dropwizard application, it provides REST controllers for account registration and management, message delivery, pre-key bundle distribution, device provisioning, profile management, and attachment handling. The server handles user registration via phone number verification, encrypted message routing, push notification delivery, and pre-key bundle management. While Signal does not offer an official public REST API for third-party use, the server source code is available for inspection and self-hosting. All communication is end-to-end encrypted using the Signal Protocol.
  version: '2.0'
  contact:
    name: Signal Support
    url: https://support.signal.org/
  termsOfService: https://signal.org/legal/
  license:
    name: AGPL-3.0
    url: https://github.com/signalapp/Signal-Server/blob/main/LICENSE
servers:
- url: https://chat.signal.org
  description: Signal Production Server
security:
- basicAuth: []
tags:
- name: Attachments
  description: Attachment handling endpoints for uploading and downloading media files associated with messages.
paths:
  /v4/attachments/form/upload:
    get:
      operationId: getAttachmentUploadForm
      summary: Get attachment upload form
      description: Returns a pre-signed upload form that clients use to upload attachment data directly to the storage service. The form includes the upload URL, headers, and the attachment identifier.
      tags:
      - Attachments
      responses:
        '200':
          description: Upload form returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentUploadForm'
        '401':
          description: Authentication required
components:
  schemas:
    AttachmentUploadForm:
      type: object
      properties:
        cdn:
          type: integer
          description: The CDN number to use for the upload.
        key:
          type: string
          description: The object key for the attachment.
        headers:
          type: object
          description: HTTP headers to include in the upload request.
          additionalProperties:
            type: string
        signedUploadLocation:
          type: string
          format: uri
          description: The pre-signed URL for uploading the attachment data.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using the account UUID (or phone number) and password. The password is established during account registration.
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication used for certain provisioning and registration flows.
externalDocs:
  description: Signal Server Source Code
  url: https://github.com/signalapp/Signal-Server