mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2026-01-09 09:54:21 +01:00
* added possibility to specify the description, the add group & edit group permissions and the group link state. see #148
776 lines
18 KiB
YAML
776 lines
18 KiB
YAML
basePath: /
|
|
definitions:
|
|
api.About:
|
|
properties:
|
|
build:
|
|
type: integer
|
|
versions:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.Configuration:
|
|
properties:
|
|
logging:
|
|
$ref: '#/definitions/api.LoggingConfiguration'
|
|
type: object
|
|
type: object
|
|
api.CreateGroupRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
group_link:
|
|
enum:
|
|
- enabled
|
|
- enabled-with-approval
|
|
- disabled
|
|
type: string
|
|
members:
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
permissions:
|
|
$ref: '#/definitions/api.GroupPermissions'
|
|
type: object
|
|
type: object
|
|
api.CreateGroupResponse:
|
|
properties:
|
|
id:
|
|
type: string
|
|
type: object
|
|
api.Error:
|
|
properties:
|
|
error:
|
|
type: string
|
|
type: object
|
|
api.GroupEntry:
|
|
properties:
|
|
blocked:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
internal_id:
|
|
type: string
|
|
invite_link:
|
|
type: string
|
|
members:
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
pending_invites:
|
|
items:
|
|
type: string
|
|
type: array
|
|
pending_requests:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.GroupPermissions:
|
|
properties:
|
|
add_members:
|
|
enum:
|
|
- every-member
|
|
- only-admins
|
|
type: string
|
|
edit_group:
|
|
enum:
|
|
- every-member
|
|
- only-admins
|
|
type: string
|
|
type: object
|
|
api.IdentityEntry:
|
|
properties:
|
|
added:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
number:
|
|
type: string
|
|
safety_number:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type: object
|
|
api.LoggingConfiguration:
|
|
properties:
|
|
Level:
|
|
type: string
|
|
type: object
|
|
api.RegisterNumberRequest:
|
|
properties:
|
|
captcha:
|
|
type: string
|
|
use_voice:
|
|
type: boolean
|
|
type: object
|
|
api.SendMessageResponse:
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
type: object
|
|
api.SendMessageV1:
|
|
properties:
|
|
base64_attachment:
|
|
type: string
|
|
is_group:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
number:
|
|
type: string
|
|
recipients:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.SendMessageV2:
|
|
properties:
|
|
base64_attachments:
|
|
items:
|
|
type: string
|
|
type: array
|
|
message:
|
|
type: string
|
|
number:
|
|
type: string
|
|
recipients:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.TrustIdentityRequest:
|
|
properties:
|
|
verified_safety_number:
|
|
type: string
|
|
type: object
|
|
api.UpdateProfileRequest:
|
|
properties:
|
|
base64_avatar:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.VerifyNumberSettings:
|
|
properties:
|
|
pin:
|
|
type: string
|
|
type: object
|
|
host: 127.0.0.1:8080
|
|
info:
|
|
contact: {}
|
|
description: This is the Signal Cli REST API documentation.
|
|
license: {}
|
|
title: Signal Cli REST API
|
|
version: "1.0"
|
|
paths:
|
|
/v1/about:
|
|
get:
|
|
description: Returns the supported API versions and the internal build nr
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.About'
|
|
summary: Lists general information about the API
|
|
tags:
|
|
- General
|
|
/v1/attachments:
|
|
get:
|
|
description: List all downloaded attachments
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: List all attachments.
|
|
tags:
|
|
- Attachments
|
|
/v1/attachments/{attachment}:
|
|
delete:
|
|
description: Remove the attachment with the given id from filesystem.
|
|
parameters:
|
|
- description: Attachment ID
|
|
in: path
|
|
name: attachment
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Remove attachment.
|
|
tags:
|
|
- Attachments
|
|
get:
|
|
description: Serve the attachment with the given id
|
|
parameters:
|
|
- description: Attachment ID
|
|
in: path
|
|
name: attachment
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Serve Attachment.
|
|
tags:
|
|
- Attachments
|
|
/v1/configuration:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: List the REST API configuration.
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Configuration'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: List the REST API configuration.
|
|
tags:
|
|
- General
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Set the REST API configuration.
|
|
parameters:
|
|
- description: Configuration
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.Configuration'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Set the REST API configuration.
|
|
tags:
|
|
- General
|
|
/v1/groups/{number}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: List all Signal Groups.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.GroupEntry'
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: List all Signal Groups.
|
|
tags:
|
|
- Groups
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new Signal Group with the specified members.
|
|
parameters:
|
|
- description: Input Data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.CreateGroupRequest'
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/api.CreateGroupResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Create a new Signal Group.
|
|
tags:
|
|
- Groups
|
|
/v1/groups/{number}/{groupid}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete the specified Signal Group.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Group Id
|
|
in: path
|
|
name: groupid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Delete a Signal Group.
|
|
tags:
|
|
- Groups
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: List a specific Signal Group.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Group ID
|
|
in: path
|
|
name: groupid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.GroupEntry'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: List a Signal Group.
|
|
tags:
|
|
- Groups
|
|
/v1/groups/{number}/{groupid}/block:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Block the specified Signal Group.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Group ID
|
|
in: path
|
|
name: groupid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Block a Signal Group.
|
|
tags:
|
|
- Groups
|
|
/v1/groups/{number}/{groupid}/join:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Join the specified Signal Group.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Group ID
|
|
in: path
|
|
name: groupid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Join a Signal Group.
|
|
tags:
|
|
- Groups
|
|
/v1/groups/{number}/{groupid}/quit:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Quit the specified Signal Group.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Group ID
|
|
in: path
|
|
name: groupid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Quit a Signal Group.
|
|
tags:
|
|
- Groups
|
|
/v1/health:
|
|
get:
|
|
description: Internally used by the docker container to perform the health check.
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
summary: API Health Check
|
|
tags:
|
|
- General
|
|
/v1/identities/{number}:
|
|
get:
|
|
description: List all identities for the given number.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.IdentityEntry'
|
|
type: array
|
|
summary: List Identities
|
|
tags:
|
|
- Identities
|
|
/v1/identities/{number}/trust/{numberToTrust}:
|
|
put:
|
|
description: Trust an identity.
|
|
parameters:
|
|
- description: Input Data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.TrustIdentityRequest'
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Number To Trust
|
|
in: path
|
|
name: numberToTrust
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
summary: Trust Identity
|
|
tags:
|
|
- Identities
|
|
/v1/profiles/{number}:
|
|
put:
|
|
description: Set your name and optional an avatar.
|
|
parameters:
|
|
- description: Profile Data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.UpdateProfileRequest'
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Update Profile.
|
|
tags:
|
|
- Profiles
|
|
/v1/qrcodelink:
|
|
get:
|
|
description: Link device and generate QR code
|
|
parameters:
|
|
- description: Device Name
|
|
in: query
|
|
name: device_name
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Image
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Link device and generate QR code.
|
|
tags:
|
|
- Devices
|
|
/v1/receive/{number}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Receives Signal Messages from the Signal Network.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: 'Receive timeout in seconds (default: 1)'
|
|
in: query
|
|
name: timeout
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Receive Signal Messages.
|
|
tags:
|
|
- Messages
|
|
/v1/register/{number}:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Register a phone number with the signal network.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Additional Settings
|
|
in: body
|
|
name: data
|
|
schema:
|
|
$ref: '#/definitions/api.RegisterNumberRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201": {}
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Register a phone number.
|
|
tags:
|
|
- Devices
|
|
/v1/register/{number}/verify/{token}:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Verify a registered phone number with the signal network.
|
|
parameters:
|
|
- description: Registered Phone Number
|
|
in: path
|
|
name: number
|
|
required: true
|
|
type: string
|
|
- description: Additional Settings
|
|
in: body
|
|
name: data
|
|
schema:
|
|
$ref: '#/definitions/api.VerifyNumberSettings'
|
|
- description: Verification Code
|
|
in: path
|
|
name: token
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Verify a registered phone number.
|
|
tags:
|
|
- Devices
|
|
/v1/send:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
deprecated: true
|
|
description: Send a signal message
|
|
parameters:
|
|
- description: Input Data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.SendMessageV1'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Send a signal message.
|
|
tags:
|
|
- Messages
|
|
/v2/send:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Send a signal message
|
|
parameters:
|
|
- description: Input Data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.SendMessageV2'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/api.SendMessageResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Send a signal message.
|
|
tags:
|
|
- Messages
|
|
swagger: "2.0"
|
|
tags:
|
|
- description: Some general endpoints.
|
|
name: General
|
|
- description: Register and link Devices.
|
|
name: Devices
|
|
- description: Create, List and Delete Signal Groups.
|
|
name: Groups
|
|
- description: Send and Receive Signal Messages.
|
|
name: Messages
|
|
- description: List and Delete Attachments.
|
|
name: Attachments
|
|
- description: Update Profile.
|
|
name: Profiles
|
|
- description: List and Trust Identities.
|
|
name: Identities
|