3605 lines
89 KiB
YAML
3605 lines
89 KiB
YAML
openapi: 3.0.1
|
||
info:
|
||
title: Signal Server API
|
||
license:
|
||
name: AGPL-3.0-only
|
||
url: https://www.gnu.org/licenses/agpl-3.0.txt
|
||
servers:
|
||
- url: https://chat.signal.org
|
||
description: Production service
|
||
- url: https://chat.staging.signal.org
|
||
description: Staging service
|
||
paths:
|
||
/v1/accounts/account/{uuid}:
|
||
head:
|
||
tags:
|
||
- Account
|
||
operationId: accountExists
|
||
parameters:
|
||
- name: uuid
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
/v1/accounts/number:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: changeNumber
|
||
parameters:
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/ChangePhoneNumberRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/username_hash/confirm:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: confirmUsernameHash
|
||
parameters:
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ConfirmUsernameHashRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/UsernameHashResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/{transport}/code/{number}:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: createAccount
|
||
parameters:
|
||
- name: transport
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: number
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: Accept-Language
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: client
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: captcha
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: challenge
|
||
in: query
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/ScoreThreshold'
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
/v1/accounts/me:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: getMe
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
delete:
|
||
tags:
|
||
- Account
|
||
operationId: deleteAccount
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/apn:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setApnRegistrationId
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ApnRegistrationId'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
delete:
|
||
tags:
|
||
- Account
|
||
operationId: deleteApnRegistrationId
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/gcm:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setGcmRegistrationId
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/GcmRegistrationId'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
delete:
|
||
tags:
|
||
- Account
|
||
operationId: deleteGcmRegistrationId
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/username_hash:
|
||
delete:
|
||
tags:
|
||
- Account
|
||
operationId: deleteUsernameHash
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/{type}/preauth/{token}/{number}:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: getPreAuth
|
||
parameters:
|
||
- name: type
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: token
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: number
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: voip
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
default: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
/v1/accounts/turn:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: getTurnToken
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/TurnToken'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/username_hash/{usernameHash}:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: lookupUsernameHash
|
||
parameters:
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: usernameHash
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentifierResponse'
|
||
/v1/accounts/registration_lock:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setRegistrationLock
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/RegistrationLock'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
delete:
|
||
tags:
|
||
- Account
|
||
operationId: removeRegistrationLock
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/username_hash/reserve:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: reserveUsernameHash
|
||
parameters:
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ReserveUsernameHashRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ReserveUsernameHashResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/attributes:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setAccountAttributes
|
||
parameters:
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountAttributes'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/name:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setName
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/DeviceName'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/accounts/code/{verification_code}:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: verifyAccount
|
||
parameters:
|
||
- name: verification_code
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: Authorization
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/BasicAuthorizationHeader'
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: transfer
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountAttributes'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
/v1/accounts/whoami:
|
||
get:
|
||
tags:
|
||
- Account
|
||
operationId: whoAmI
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/accounts/number:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: changeNumber_1
|
||
parameters:
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ChangeNumberRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/accounts/phone_number_identity_key_distribution:
|
||
put:
|
||
tags:
|
||
- Account
|
||
summary: Updates key material for the phone-number identity for all devices
|
||
and sends a synchronization message to companion devices
|
||
operationId: distributePhoneNumberIdentityKeys
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/PhoneNumberIdentityKeyDistributionRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/accounts/data_report:
|
||
get:
|
||
tags:
|
||
- Account
|
||
summary: Produces a report of non-ephemeral account data stored by the service
|
||
operationId: getAccountDataReport
|
||
responses:
|
||
"200":
|
||
description: Response with data report. A plain text representation is a
|
||
field in the response.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountDataReportResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/accounts/phone_number_discoverability:
|
||
put:
|
||
tags:
|
||
- Account
|
||
operationId: setPhoneNumberDiscoverability
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/PhoneNumberDiscoverabilityRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/art/auth:
|
||
get:
|
||
tags:
|
||
- Art
|
||
operationId: getAuth
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ExternalServiceCredentials'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/attachments/form/upload:
|
||
get:
|
||
tags:
|
||
- Attachments
|
||
operationId: getAttachmentUploadForm
|
||
parameters:
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AttachmentDescriptorV2'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v3/attachments/form/upload:
|
||
get:
|
||
tags:
|
||
- Attachments
|
||
operationId: getAttachmentUploadForm_1
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AttachmentDescriptorV3'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/call-link/create-auth:
|
||
post:
|
||
tags:
|
||
- CallLink
|
||
summary: Generate a credential for creating call links
|
||
description: |
|
||
Generate a credential over a truncated timestamp, room ID, and account UUID. With zero knowledge
|
||
group infrastructure, the server does not know the room ID.
|
||
operationId: getCreateAuth
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/GetCreateCallLinkCredentialsRequest'
|
||
required: true
|
||
responses:
|
||
"200":
|
||
description: '`JSON` with generated credentials.'
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateCallLinkCredential'
|
||
"400":
|
||
description: Invalid create call link credential request.
|
||
"401":
|
||
description: Account authentication check failed.
|
||
"422":
|
||
description: Invalid request format.
|
||
"429":
|
||
description: Ratelimited.
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/certificate/delivery:
|
||
get:
|
||
tags:
|
||
- Certificate
|
||
operationId: getDeliveryCertificate
|
||
parameters:
|
||
- name: includeE164
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
default: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DeliveryCertificate'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/certificate/auth/group:
|
||
get:
|
||
tags:
|
||
- Certificate
|
||
operationId: getGroupAuthenticationCredentials
|
||
parameters:
|
||
- name: redemptionStartSeconds
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
format: int32
|
||
- name: redemptionEndSeconds
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
format: int32
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/GroupCredentials'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/challenge:
|
||
put:
|
||
tags:
|
||
- Challenge
|
||
summary: Submit proof of a challenge completion
|
||
description: |
|
||
Some server endpoints (the "send message" endpoint, for example) may return a 428 response indicating the client must complete a challenge before continuing.
|
||
Clients may use this endpoint to provide proof of a completed challenge. If successful, the client may then
|
||
continue their original operation.
|
||
operationId: handleChallengeResponse
|
||
parameters:
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
oneOf:
|
||
- $ref: '#/components/schemas/AnswerPushChallengeRequest'
|
||
- $ref: '#/components/schemas/AnswerRecaptchaChallengeRequest'
|
||
responses:
|
||
"200":
|
||
description: Indicates the challenge proof was accepted
|
||
"413":
|
||
description: Too many attempts
|
||
headers:
|
||
Retry-After:
|
||
description: "If present, an positive integer indicating the number\
|
||
\ of seconds before a subsequent attempt could succeed"
|
||
style: simple
|
||
"429":
|
||
description: Too many attempts
|
||
headers:
|
||
Retry-After:
|
||
description: "If present, an positive integer indicating the number\
|
||
\ of seconds before a subsequent attempt could succeed"
|
||
style: simple
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/challenge/push:
|
||
post:
|
||
tags:
|
||
- Challenge
|
||
summary: Request a push challenge
|
||
description: |
|
||
Clients may proactively request a push challenge by making an empty POST request. Push challenges will only be
|
||
sent to the requesting account’s main device. When the push is received it may be provided as proof of completed
|
||
challenge to /v1/challenge.
|
||
APNs challenge payloads will be formatted as follows:
|
||
```
|
||
{
|
||
"aps": {
|
||
"sound": "default",
|
||
"alert": {
|
||
"loc-key": "APN_Message"
|
||
}
|
||
},
|
||
"rateLimitChallenge": "{CHALLENGE_TOKEN}"
|
||
}
|
||
```
|
||
FCM challenge payloads will be formatted as follows:
|
||
```
|
||
{"rateLimitChallenge": "{CHALLENGE_TOKEN}"}
|
||
```
|
||
|
||
Clients may retry the PUT in the event of an HTTP/5xx response (except HTTP/508) from the server, but must
|
||
implement an exponential back-off system and limit the total number of retries.
|
||
operationId: requestPushChallenge
|
||
responses:
|
||
"200":
|
||
description: |
|
||
Indicates a payload to the account's primary device has been attempted. When clients receive a challenge push
|
||
notification, they may issue a PUT request to /v1/challenge.
|
||
"404":
|
||
description: |
|
||
The server does not have a push notification token for the authenticated account’s main device; clients may add a push
|
||
token and try again
|
||
"413":
|
||
description: Too many attempts
|
||
headers:
|
||
Retry-After:
|
||
description: "If present, an positive integer indicating the number\
|
||
\ of seconds before a subsequent attempt could succeed"
|
||
style: simple
|
||
"429":
|
||
description: Too many attempts
|
||
headers:
|
||
Retry-After:
|
||
description: "If present, an positive integer indicating the number\
|
||
\ of seconds before a subsequent attempt could succeed"
|
||
style: simple
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices/provisioning/code:
|
||
get:
|
||
tags:
|
||
- Devices
|
||
operationId: createDeviceToken
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationCode'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices:
|
||
get:
|
||
tags:
|
||
- Devices
|
||
operationId: getDevices
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DeviceInfoList'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices/{device_id}:
|
||
delete:
|
||
tags:
|
||
- Devices
|
||
operationId: removeDevice
|
||
parameters:
|
||
- name: device_id
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: integer
|
||
format: int64
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices/capabilities:
|
||
put:
|
||
tags:
|
||
- Devices
|
||
operationId: setCapabilities
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/DeviceCapabilities'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices/unauthenticated_delivery:
|
||
put:
|
||
tags:
|
||
- Devices
|
||
operationId: setUnauthenticatedDelivery
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/devices/{verification_code}:
|
||
put:
|
||
tags:
|
||
- Devices
|
||
operationId: verifyDeviceToken
|
||
parameters:
|
||
- name: verification_code
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: Authorization
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/BasicAuthorizationHeader'
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountAttributes'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/DeviceResponse'
|
||
/v2/directory/auth:
|
||
get:
|
||
tags:
|
||
- Directory
|
||
operationId: getAuthToken
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/donation/redeem-receipt:
|
||
post:
|
||
tags:
|
||
- Donations
|
||
operationId: redeemReceipt
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RedeemReceiptRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
text/plain:
|
||
schema:
|
||
type: object
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/keepalive:
|
||
get:
|
||
tags:
|
||
- Keep Alive
|
||
operationId: getKeepAlive
|
||
requestBody:
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
$ref: '#/components/schemas/WebSocketSessionContext'
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/keepalive/provisioning:
|
||
get:
|
||
tags:
|
||
- Keep Alive
|
||
operationId: getProvisioningKeepAlive
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
/v2/keys/{identifier}/{device_id}:
|
||
get:
|
||
tags:
|
||
- Keys
|
||
operationId: getDeviceKeys
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/Anonymous'
|
||
- name: identifier
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: device_id
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v2/keys/signed:
|
||
get:
|
||
tags:
|
||
- Keys
|
||
operationId: getSignedKey
|
||
parameters:
|
||
- name: identity
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
security:
|
||
- authenticatedAccount: []
|
||
put:
|
||
tags:
|
||
- Keys
|
||
operationId: setSignedKey
|
||
parameters:
|
||
- name: identity
|
||
in: query
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/keys:
|
||
get:
|
||
tags:
|
||
- Keys
|
||
operationId: getStatus
|
||
parameters:
|
||
- name: identity
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/PreKeyCount'
|
||
security:
|
||
- authenticatedAccount: []
|
||
put:
|
||
tags:
|
||
- Keys
|
||
operationId: setKeys
|
||
parameters:
|
||
- name: identity
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/PreKeyState'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/messages:
|
||
get:
|
||
tags:
|
||
- Messages
|
||
operationId: getPendingMessages
|
||
parameters:
|
||
- name: X-Signal-Receive-Stories
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/messages/uuid/{uuid}:
|
||
delete:
|
||
tags:
|
||
- Messages
|
||
operationId: removePendingMessage
|
||
parameters:
|
||
- name: uuid
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*':
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/messages/report/{source}/{messageGuid}:
|
||
post:
|
||
tags:
|
||
- Messages
|
||
operationId: reportSpamMessage
|
||
parameters:
|
||
- name: source
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: messageGuid
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SpamReport'
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/messages/{destination}:
|
||
put:
|
||
tags:
|
||
- Messages
|
||
operationId: sendMessage
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/Anonymous'
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: destination
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: story
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/IncomingMessageList'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/messages/multi_recipient:
|
||
put:
|
||
tags:
|
||
- Messages
|
||
operationId: sendMultiRecipientMessage
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/CombinedUnidentifiedSenderAccessKeys'
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: online
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
- name: ts
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
format: int64
|
||
- name: urgent
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
default: true
|
||
- name: story
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
requestBody:
|
||
content:
|
||
application/vnd.signal-messenger.mrm:
|
||
schema:
|
||
$ref: '#/components/schemas/MultiRecipientMessage'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
/v1/payments/auth:
|
||
get:
|
||
tags:
|
||
- Payments
|
||
operationId: getAuth_1
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ExternalServiceCredentials'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/payments/conversions:
|
||
get:
|
||
tags:
|
||
- Payments
|
||
operationId: getConversions
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CurrencyConversionEntityList'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/profile/{uuid}/{version}:
|
||
get:
|
||
tags:
|
||
- Profile
|
||
operationId: getProfile
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/Anonymous'
|
||
- name: uuid
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: version
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VersionedProfileResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/profile/{uuid}/{version}/{credentialRequest}:
|
||
get:
|
||
tags:
|
||
- Profile
|
||
operationId: getProfile_1
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/Anonymous'
|
||
- name: uuid
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: version
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: credentialRequest
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: credentialType
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CredentialProfileResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/profile/{identifier}:
|
||
get:
|
||
tags:
|
||
- Profile
|
||
operationId: getUnversionedProfile
|
||
parameters:
|
||
- name: Unidentified-Access-Key
|
||
in: header
|
||
schema:
|
||
$ref: '#/components/schemas/Anonymous'
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: identifier
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: ca
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/BaseProfileResponse'
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/profile/identity_check/batch:
|
||
post:
|
||
tags:
|
||
- Profile
|
||
operationId: runBatchIdentityCheck
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/BatchIdentityCheckRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/profile:
|
||
put:
|
||
tags:
|
||
- Profile
|
||
operationId: setProfile
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateProfileRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/provisioning/{destination}:
|
||
put:
|
||
tags:
|
||
- Provisioning
|
||
operationId: sendProvisioningMessage
|
||
parameters:
|
||
- name: destination
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ProvisioningMessage'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/registration:
|
||
post:
|
||
tags:
|
||
- Registration
|
||
operationId: register
|
||
parameters:
|
||
- name: Authorization
|
||
in: header
|
||
required: true
|
||
schema:
|
||
$ref: '#/components/schemas/BasicAuthorizationHeader'
|
||
- name: X-Signal-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RegistrationRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AccountIdentityResponse'
|
||
/v1/config/{name}:
|
||
delete:
|
||
tags:
|
||
- Remote Config
|
||
operationId: delete
|
||
parameters:
|
||
- name: Config-Token
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: name
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
'*/*': {}
|
||
/v1/config:
|
||
get:
|
||
tags:
|
||
- Remote Config
|
||
operationId: getAll
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/UserRemoteConfigList'
|
||
security:
|
||
- authenticatedAccount: []
|
||
put:
|
||
tags:
|
||
- Remote Config
|
||
operationId: set
|
||
parameters:
|
||
- name: Config-Token
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RemoteConfig'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json: {}
|
||
/v1/backup/auth/check:
|
||
post:
|
||
tags:
|
||
- Secure Value Recovery
|
||
summary: Check SVR credentials
|
||
description: |
|
||
Over time, clients may wind up with multiple sets of KBS authentication credentials in cloud storage.
|
||
To determine which set is most current and should be used to communicate with SVR to retrieve a master key
|
||
(from which a registration recovery password can be derived), clients should call this endpoint
|
||
with a list of stored credentials. The response will identify which (if any) set of credentials are appropriate for communicating with SVR.
|
||
operationId: authCheck
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AuthCheckRequest'
|
||
required: true
|
||
responses:
|
||
"200":
|
||
description: '`JSON` with the check results.'
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AuthCheckResponse'
|
||
"422":
|
||
description: Provided list of KBS credentials could not be parsed
|
||
"400":
|
||
description: '`POST` request body is not a valid `JSON`'
|
||
/v1/backup/auth:
|
||
get:
|
||
tags:
|
||
- Secure Value Recovery
|
||
summary: Generate credentials for SVR
|
||
description: |
|
||
Generate SVR service credentials. Generated credentials have an expiration time of 30 days
|
||
(however, the TTL is fully controlled by the server side and may change even for already generated credentials).
|
||
operationId: getAuth_2
|
||
responses:
|
||
"200":
|
||
description: '`JSON` with generated credentials.'
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ExternalServiceCredentials'
|
||
"401":
|
||
description: Account authentication check failed.
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/storage/auth:
|
||
get:
|
||
tags:
|
||
- Secure Storage
|
||
operationId: getAuth_3
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ExternalServiceCredentials'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v2/backup/auth/check:
|
||
post:
|
||
tags:
|
||
- Secure Value Recovery
|
||
summary: Check SVR2 credentials
|
||
description: |
|
||
Over time, clients may wind up with multiple sets of SVR2 authentication credentials in cloud storage.
|
||
To determine which set is most current and should be used to communicate with SVR2 to retrieve a master key
|
||
(from which a registration recovery password can be derived), clients should call this endpoint
|
||
with a list of stored credentials. The response will identify which (if any) set of credentials are appropriate for communicating with SVR2.
|
||
operationId: authCheck_1
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AuthCheckRequest'
|
||
required: true
|
||
responses:
|
||
"200":
|
||
description: '`JSON` with the check results.'
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AuthCheckResponse'
|
||
"422":
|
||
description: Provided list of SVR2 credentials could not be parsed
|
||
"400":
|
||
description: '`POST` request body is not a valid `JSON`'
|
||
/v2/backup/auth:
|
||
get:
|
||
tags:
|
||
- Secure Value Recovery
|
||
summary: Generate credentials for SVR2
|
||
description: |
|
||
Generate SVR2 service credentials. Generated credentials have an expiration time of 30 days
|
||
(however, the TTL is fully controlled by the server side and may change even for already generated credentials).
|
||
operationId: getAuth_4
|
||
responses:
|
||
"200":
|
||
description: '`JSON` with generated credentials.'
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ExternalServiceCredentials'
|
||
"401":
|
||
description: Account authentication check failed.
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/sticker/pack/form/{count}:
|
||
get:
|
||
tags:
|
||
- Stickers
|
||
operationId: getStickersForm
|
||
parameters:
|
||
- name: count
|
||
in: path
|
||
required: true
|
||
schema:
|
||
maximum: 201
|
||
minimum: 1
|
||
type: integer
|
||
format: int32
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/StickerPackFormUploadAttributes'
|
||
security:
|
||
- authenticatedAccount: []
|
||
/v1/subscription/boost/paypal/confirm:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: confirmPayPalBoost
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ConfirmPayPalBoostRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/subscription/boost/create:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createBoostPaymentIntent
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateBoostRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/subscription/boost/receipt_credentials:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createBoostReceiptCredentials
|
||
parameters:
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateBoostReceiptCredentialsRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/subscription/boost/paypal/create:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createPayPalBoost
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreatePayPalBoostRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/subscription/{subscriberId}/create_payment_method/paypal:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createPayPalPaymentMethod
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreatePayPalBillingAgreementRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/{subscriberId}/create_payment_method:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createPaymentMethod
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: type
|
||
in: query
|
||
schema:
|
||
type: string
|
||
default: CARD
|
||
enum:
|
||
- CARD
|
||
- PAYPAL
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/{subscriberId}/receipt_credentials:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: createSubscriptionReceiptCredentials
|
||
parameters:
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/GetReceiptCredentialsRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/{subscriberId}:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getSubscriptionInformation
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
put:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: updateSubscriber
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
delete:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: deleteSubscriber
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/boost/amounts:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getBoostAmounts
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
deprecated: true
|
||
/v1/subscription/boost/badges:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getBoostBadges
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
deprecated: true
|
||
/v1/subscription/configuration:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getConfiguration
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
/v1/subscription/boost/amounts/gift:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getGiftAmounts
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
deprecated: true
|
||
/v1/subscription/levels:
|
||
get:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: getLevels
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
deprecated: true
|
||
/v1/subscription/{subscriberId}/default_payment_method/{paymentMethodId}:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: setDefaultPaymentMethod
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: paymentMethodId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
deprecated: true
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/{subscriberId}/default_payment_method/{processor}/{paymentMethodToken}:
|
||
post:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: setDefaultPaymentMethodWithProcessor
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: processor
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- STRIPE
|
||
- BRAINTREE
|
||
- name: paymentMethodToken
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/subscription/{subscriberId}/level/{level}/{currency}/{idempotencyKey}:
|
||
put:
|
||
tags:
|
||
- Subscriptions
|
||
operationId: setSubscriptionLevel
|
||
parameters:
|
||
- name: subscriberId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: level
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: integer
|
||
format: int64
|
||
- name: currency
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: idempotencyKey
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
cancelled:
|
||
type: boolean
|
||
done:
|
||
type: boolean
|
||
completedExceptionally:
|
||
type: boolean
|
||
numberOfDependents:
|
||
type: integer
|
||
format: int32
|
||
security:
|
||
- authenticatedAccount: []
|
||
- {}
|
||
/v1/verification/session:
|
||
post:
|
||
tags:
|
||
- Verification
|
||
operationId: createSession
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/CreateVerificationSessionRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationSessionResponse'
|
||
/v1/verification/session/{sessionId}:
|
||
get:
|
||
tags:
|
||
- Verification
|
||
operationId: getSession
|
||
parameters:
|
||
- name: sessionId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationSessionResponse'
|
||
patch:
|
||
tags:
|
||
- Verification
|
||
operationId: updateSession
|
||
parameters:
|
||
- name: sessionId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: X-Forwarded-For
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/UpdateVerificationSessionRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationSessionResponse'
|
||
/v1/verification/session/{sessionId}/code:
|
||
put:
|
||
tags:
|
||
- Verification
|
||
operationId: verifyCode
|
||
parameters:
|
||
- name: sessionId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SubmitVerificationCodeRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationSessionResponse'
|
||
post:
|
||
tags:
|
||
- Verification
|
||
operationId: requestVerificationCode
|
||
parameters:
|
||
- name: sessionId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
- name: User-Agent
|
||
in: header
|
||
schema:
|
||
type: string
|
||
- name: Accept-Language
|
||
in: header
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationCodeRequest'
|
||
required: true
|
||
responses:
|
||
default:
|
||
description: default response
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/VerificationSessionResponse'
|
||
components:
|
||
schemas:
|
||
AccountIdentityResponse:
|
||
type: object
|
||
properties:
|
||
uuid:
|
||
type: string
|
||
description: the account identifier for this account
|
||
format: uuid
|
||
number:
|
||
type: string
|
||
description: the phone number associated with this account
|
||
pni:
|
||
type: string
|
||
description: the account identifier for this account's phone-number identity
|
||
format: uuid
|
||
usernameHash:
|
||
type: array
|
||
description: "a hash of this account's username, if set"
|
||
items:
|
||
type: string
|
||
description: "a hash of this account's username, if set"
|
||
format: byte
|
||
storageCapable:
|
||
type: boolean
|
||
description: whether any of this account's devices support storage
|
||
ChangePhoneNumberRequest:
|
||
required:
|
||
- code
|
||
- number
|
||
type: object
|
||
properties:
|
||
reglock:
|
||
type: string
|
||
number:
|
||
type: string
|
||
code:
|
||
type: string
|
||
pniIdentityKey:
|
||
type: string
|
||
deviceMessages:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/IncomingMessage'
|
||
devicePniSignedPrekeys:
|
||
type: object
|
||
additionalProperties:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
pniRegistrationIds:
|
||
type: object
|
||
additionalProperties:
|
||
type: integer
|
||
format: int32
|
||
signatureValidOnEachSignedPreKey:
|
||
type: boolean
|
||
IncomingMessage:
|
||
type: object
|
||
properties:
|
||
type:
|
||
type: integer
|
||
format: int32
|
||
destinationDeviceId:
|
||
type: integer
|
||
format: int64
|
||
destinationRegistrationId:
|
||
type: integer
|
||
format: int32
|
||
content:
|
||
type: string
|
||
SignedPreKey:
|
||
required:
|
||
- keyId
|
||
- publicKey
|
||
- signature
|
||
type: object
|
||
properties:
|
||
keyId:
|
||
type: integer
|
||
format: int64
|
||
publicKey:
|
||
type: string
|
||
signature:
|
||
type: string
|
||
UsernameHashResponse:
|
||
type: object
|
||
properties:
|
||
usernameHash:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
ConfirmUsernameHashRequest:
|
||
type: object
|
||
properties:
|
||
usernameHash:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
zkProof:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
ScoreThreshold:
|
||
type: object
|
||
properties:
|
||
scoreThreshold:
|
||
type: number
|
||
format: float
|
||
TurnToken:
|
||
type: object
|
||
properties:
|
||
username:
|
||
type: string
|
||
password:
|
||
type: string
|
||
urls:
|
||
type: array
|
||
items:
|
||
type: string
|
||
AccountIdentifierResponse:
|
||
required:
|
||
- uuid
|
||
type: object
|
||
properties:
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
ReserveUsernameHashResponse:
|
||
type: object
|
||
properties:
|
||
usernameHash:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
ReserveUsernameHashRequest:
|
||
required:
|
||
- usernameHashes
|
||
type: object
|
||
properties:
|
||
usernameHashes:
|
||
maxItems: 20
|
||
minItems: 1
|
||
type: array
|
||
items:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
AccountAttributes:
|
||
type: object
|
||
properties:
|
||
fetchesMessages:
|
||
type: boolean
|
||
registrationId:
|
||
type: integer
|
||
format: int32
|
||
name:
|
||
maxLength: 204
|
||
minLength: 0
|
||
type: string
|
||
registrationLock:
|
||
type: string
|
||
unidentifiedAccessKey:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
unrestrictedUnidentifiedAccess:
|
||
type: boolean
|
||
capabilities:
|
||
$ref: '#/components/schemas/DeviceCapabilities'
|
||
discoverableByPhoneNumber:
|
||
type: boolean
|
||
recoveryPassword:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
pniRegistrationId:
|
||
type: object
|
||
properties:
|
||
empty:
|
||
type: boolean
|
||
present:
|
||
type: boolean
|
||
asInt:
|
||
type: integer
|
||
format: int32
|
||
DeviceCapabilities:
|
||
type: object
|
||
properties:
|
||
storage:
|
||
type: boolean
|
||
transfer:
|
||
type: boolean
|
||
senderKey:
|
||
type: boolean
|
||
announcementGroup:
|
||
type: boolean
|
||
changeNumber:
|
||
type: boolean
|
||
pni:
|
||
type: boolean
|
||
stories:
|
||
type: boolean
|
||
giftBadges:
|
||
type: boolean
|
||
paymentActivation:
|
||
type: boolean
|
||
ApnRegistrationId:
|
||
required:
|
||
- apnRegistrationId
|
||
type: object
|
||
properties:
|
||
apnRegistrationId:
|
||
type: string
|
||
voipRegistrationId:
|
||
type: string
|
||
GcmRegistrationId:
|
||
required:
|
||
- gcmRegistrationId
|
||
type: object
|
||
properties:
|
||
gcmRegistrationId:
|
||
type: string
|
||
DeviceName:
|
||
required:
|
||
- deviceName
|
||
type: object
|
||
properties:
|
||
deviceName:
|
||
maxLength: 300
|
||
minLength: 0
|
||
type: string
|
||
RegistrationLock:
|
||
required:
|
||
- registrationLock
|
||
type: object
|
||
properties:
|
||
registrationLock:
|
||
maxLength: 64
|
||
minLength: 64
|
||
type: string
|
||
BasicAuthorizationHeader:
|
||
type: object
|
||
properties:
|
||
username:
|
||
type: string
|
||
deviceId:
|
||
type: integer
|
||
format: int64
|
||
password:
|
||
type: string
|
||
ChangeNumberRequest:
|
||
required:
|
||
- deviceMessages
|
||
- devicePniSignedPrekeys
|
||
- number
|
||
- pniIdentityKey
|
||
- pniRegistrationIds
|
||
type: object
|
||
properties:
|
||
reglock:
|
||
type: string
|
||
sessionId:
|
||
type: string
|
||
recoveryPassword:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
number:
|
||
type: string
|
||
pniIdentityKey:
|
||
type: string
|
||
deviceMessages:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/IncomingMessage'
|
||
devicePniSignedPrekeys:
|
||
type: object
|
||
additionalProperties:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
pniRegistrationIds:
|
||
type: object
|
||
additionalProperties:
|
||
type: integer
|
||
format: int32
|
||
signatureValidOnEachSignedPreKey:
|
||
type: boolean
|
||
valid:
|
||
type: boolean
|
||
PhoneNumberIdentityKeyDistributionRequest:
|
||
required:
|
||
- deviceMessages
|
||
- devicePniSignedPrekeys
|
||
- pniIdentityKey
|
||
- pniRegistrationIds
|
||
type: object
|
||
properties:
|
||
pniIdentityKey:
|
||
type: string
|
||
description: the new identity key for this account's phone-number identity
|
||
deviceMessages:
|
||
type: array
|
||
description: A message for each companion device to pass its new private
|
||
keys
|
||
items:
|
||
$ref: '#/components/schemas/IncomingMessage'
|
||
devicePniSignedPrekeys:
|
||
type: object
|
||
additionalProperties:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
description: The public key of a new signed elliptic-curve prekey pair for
|
||
each device
|
||
pniRegistrationIds:
|
||
type: object
|
||
additionalProperties:
|
||
type: integer
|
||
description: The new registration ID to use for the phone-number identity
|
||
of each device
|
||
format: int32
|
||
description: The new registration ID to use for the phone-number identity
|
||
of each device
|
||
signatureValidOnEachSignedPreKey:
|
||
type: boolean
|
||
AccountAndDevicesDataReport:
|
||
type: object
|
||
properties:
|
||
account:
|
||
$ref: '#/components/schemas/AccountDataReport'
|
||
devices:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/DeviceDataReport'
|
||
AccountDataReport:
|
||
type: object
|
||
properties:
|
||
phoneNumber:
|
||
type: string
|
||
badges:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/BadgeDataReport'
|
||
allowSealedSenderFromAnyone:
|
||
type: boolean
|
||
findAccountByPhoneNumber:
|
||
type: boolean
|
||
AccountDataReportResponse:
|
||
type: object
|
||
properties:
|
||
reportId:
|
||
type: string
|
||
format: uuid
|
||
reportTimestamp:
|
||
type: string
|
||
format: date-time
|
||
data:
|
||
$ref: '#/components/schemas/AccountAndDevicesDataReport'
|
||
text:
|
||
type: string
|
||
description: A plaintext representation of the data report
|
||
BadgeDataReport:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
expiration:
|
||
type: string
|
||
format: date-time
|
||
visible:
|
||
type: boolean
|
||
DeviceDataReport:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: integer
|
||
format: int64
|
||
lastSeen:
|
||
type: string
|
||
format: date-time
|
||
created:
|
||
type: string
|
||
format: date-time
|
||
userAgent:
|
||
type: string
|
||
PhoneNumberDiscoverabilityRequest:
|
||
required:
|
||
- discoverableByPhoneNumber
|
||
type: object
|
||
properties:
|
||
discoverableByPhoneNumber:
|
||
type: boolean
|
||
ExternalServiceCredentials:
|
||
type: object
|
||
properties:
|
||
username:
|
||
type: string
|
||
password:
|
||
type: string
|
||
AttachmentDescriptorV2:
|
||
type: object
|
||
properties:
|
||
attachmentId:
|
||
type: integer
|
||
format: int64
|
||
key:
|
||
type: string
|
||
credential:
|
||
type: string
|
||
acl:
|
||
type: string
|
||
algorithm:
|
||
type: string
|
||
date:
|
||
type: string
|
||
policy:
|
||
type: string
|
||
signature:
|
||
type: string
|
||
attachmentIdString:
|
||
type: string
|
||
AttachmentDescriptorV3:
|
||
type: object
|
||
properties:
|
||
cdn:
|
||
type: integer
|
||
format: int32
|
||
key:
|
||
type: string
|
||
headers:
|
||
type: object
|
||
additionalProperties:
|
||
type: string
|
||
signedUploadLocation:
|
||
type: string
|
||
CreateCallLinkCredential:
|
||
type: object
|
||
properties:
|
||
credential:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
redemptionTime:
|
||
type: integer
|
||
format: int64
|
||
GetCreateCallLinkCredentialsRequest:
|
||
required:
|
||
- createCallLinkCredentialRequest
|
||
type: object
|
||
properties:
|
||
createCallLinkCredentialRequest:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
DeliveryCertificate:
|
||
type: object
|
||
properties:
|
||
certificate:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
CallLinkAuthCredential:
|
||
type: object
|
||
properties:
|
||
credential:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
redemptionTime:
|
||
type: integer
|
||
format: int64
|
||
GroupCredential:
|
||
type: object
|
||
properties:
|
||
credential:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
redemptionTime:
|
||
type: integer
|
||
format: int64
|
||
GroupCredentials:
|
||
type: object
|
||
properties:
|
||
credentials:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GroupCredential'
|
||
callLinkAuthCredentials:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/CallLinkAuthCredential'
|
||
pni:
|
||
type: string
|
||
format: uuid
|
||
AnswerPushChallengeRequest:
|
||
required:
|
||
- challenge
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/AnswerChallengeRequest'
|
||
- type: object
|
||
properties:
|
||
challenge:
|
||
type: string
|
||
description: A token provided to the client via a push payload
|
||
AnswerRecaptchaChallengeRequest:
|
||
required:
|
||
- captcha
|
||
- token
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/AnswerChallengeRequest'
|
||
- type: object
|
||
properties:
|
||
token:
|
||
type: string
|
||
description: The value of the token field from the server's 428 response
|
||
captcha:
|
||
type: string
|
||
description: A string representing a solved captcha
|
||
example: signal-hcaptcha.30b01b46-d8c9-4c30-bbd7-9719acfe0c10.challenge.abcdefg1345
|
||
AnswerChallengeRequest:
|
||
required:
|
||
- type
|
||
type: object
|
||
properties:
|
||
type:
|
||
type: string
|
||
discriminator:
|
||
propertyName: type
|
||
VerificationCode:
|
||
type: object
|
||
properties:
|
||
verificationCode:
|
||
type: string
|
||
DeviceInfo:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: integer
|
||
format: int64
|
||
name:
|
||
type: string
|
||
lastSeen:
|
||
type: integer
|
||
format: int64
|
||
created:
|
||
type: integer
|
||
format: int64
|
||
DeviceInfoList:
|
||
type: object
|
||
properties:
|
||
devices:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/DeviceInfo'
|
||
DeviceResponse:
|
||
type: object
|
||
properties:
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
pni:
|
||
type: string
|
||
format: uuid
|
||
deviceId:
|
||
type: integer
|
||
format: int64
|
||
RedeemReceiptRequest:
|
||
required:
|
||
- receiptCredentialPresentation
|
||
type: object
|
||
properties:
|
||
receiptCredentialPresentation:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
visible:
|
||
type: boolean
|
||
primary:
|
||
type: boolean
|
||
WebSocketClient:
|
||
type: object
|
||
properties:
|
||
open:
|
||
type: boolean
|
||
userAgent:
|
||
type: string
|
||
createdTimestamp:
|
||
type: integer
|
||
format: int64
|
||
WebSocketSessionContext:
|
||
type: object
|
||
properties:
|
||
authenticated:
|
||
type: object
|
||
client:
|
||
$ref: '#/components/schemas/WebSocketClient'
|
||
Anonymous:
|
||
type: object
|
||
properties:
|
||
accessKey:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
PreKeyCount:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
format: int32
|
||
PreKey:
|
||
required:
|
||
- keyId
|
||
- publicKey
|
||
type: object
|
||
properties:
|
||
keyId:
|
||
type: integer
|
||
format: int64
|
||
publicKey:
|
||
type: string
|
||
PreKeyState:
|
||
required:
|
||
- identityKey
|
||
- preKeys
|
||
- signedPreKey
|
||
type: object
|
||
properties:
|
||
preKeys:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/PreKey'
|
||
signedPreKey:
|
||
$ref: '#/components/schemas/SignedPreKey'
|
||
identityKey:
|
||
type: string
|
||
signatureValid:
|
||
type: boolean
|
||
SpamReport:
|
||
type: object
|
||
properties:
|
||
token:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
IncomingMessageList:
|
||
required:
|
||
- messages
|
||
type: object
|
||
properties:
|
||
messages:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/IncomingMessage'
|
||
online:
|
||
type: boolean
|
||
urgent:
|
||
type: boolean
|
||
timestamp:
|
||
type: integer
|
||
format: int64
|
||
CombinedUnidentifiedSenderAccessKeys:
|
||
type: object
|
||
properties:
|
||
accessKeys:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
MultiRecipientMessage:
|
||
required:
|
||
- commonPayload
|
||
- recipients
|
||
type: object
|
||
properties:
|
||
recipients:
|
||
maxItems: 5000
|
||
minItems: 1
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Recipient'
|
||
commonPayload:
|
||
maxItems: 2147483647
|
||
minItems: 32
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
Recipient:
|
||
required:
|
||
- perRecipientKeyMaterial
|
||
- uuid
|
||
type: object
|
||
properties:
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
deviceId:
|
||
minimum: 1
|
||
type: integer
|
||
format: int64
|
||
registrationId:
|
||
maximum: 65535
|
||
minimum: 0
|
||
type: integer
|
||
format: int32
|
||
perRecipientKeyMaterial:
|
||
maxItems: 48
|
||
minItems: 48
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
CurrencyConversionEntity:
|
||
type: object
|
||
properties:
|
||
base:
|
||
type: string
|
||
conversions:
|
||
type: object
|
||
additionalProperties:
|
||
type: number
|
||
CurrencyConversionEntityList:
|
||
type: object
|
||
properties:
|
||
currencies:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/CurrencyConversionEntity'
|
||
timestamp:
|
||
type: integer
|
||
format: int64
|
||
Badge:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
category:
|
||
type: string
|
||
name:
|
||
type: string
|
||
description:
|
||
type: string
|
||
sprites6:
|
||
type: array
|
||
items:
|
||
type: string
|
||
svg:
|
||
type: string
|
||
svgs:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/BadgeSvg'
|
||
imageUrl:
|
||
type: string
|
||
BadgeSvg:
|
||
required:
|
||
- dark
|
||
- light
|
||
type: object
|
||
properties:
|
||
light:
|
||
type: string
|
||
dark:
|
||
type: string
|
||
BaseProfileResponse:
|
||
type: object
|
||
properties:
|
||
identityKey:
|
||
type: string
|
||
unidentifiedAccess:
|
||
type: string
|
||
unrestrictedUnidentifiedAccess:
|
||
type: boolean
|
||
capabilities:
|
||
$ref: '#/components/schemas/UserCapabilities'
|
||
badges:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Badge'
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
UserCapabilities:
|
||
type: object
|
||
properties:
|
||
gv1-migration:
|
||
type: boolean
|
||
senderKey:
|
||
type: boolean
|
||
announcementGroup:
|
||
type: boolean
|
||
changeNumber:
|
||
type: boolean
|
||
stories:
|
||
type: boolean
|
||
giftBadges:
|
||
type: boolean
|
||
paymentActivation:
|
||
type: boolean
|
||
pni:
|
||
type: boolean
|
||
VersionedProfileResponse:
|
||
type: object
|
||
properties:
|
||
identityKey:
|
||
type: string
|
||
unidentifiedAccess:
|
||
type: string
|
||
unrestrictedUnidentifiedAccess:
|
||
type: boolean
|
||
capabilities:
|
||
$ref: '#/components/schemas/UserCapabilities'
|
||
badges:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Badge'
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
about:
|
||
type: string
|
||
aboutEmoji:
|
||
type: string
|
||
avatar:
|
||
type: string
|
||
paymentAddress:
|
||
type: string
|
||
CredentialProfileResponse:
|
||
type: object
|
||
properties:
|
||
identityKey:
|
||
type: string
|
||
unidentifiedAccess:
|
||
type: string
|
||
unrestrictedUnidentifiedAccess:
|
||
type: boolean
|
||
capabilities:
|
||
$ref: '#/components/schemas/UserCapabilities'
|
||
badges:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Badge'
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
about:
|
||
type: string
|
||
aboutEmoji:
|
||
type: string
|
||
avatar:
|
||
type: string
|
||
paymentAddress:
|
||
type: string
|
||
BatchIdentityCheckRequest:
|
||
required:
|
||
- elements
|
||
type: object
|
||
properties:
|
||
elements:
|
||
maxItems: 1000
|
||
minItems: 0
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Element'
|
||
Element:
|
||
required:
|
||
- fingerprint
|
||
type: object
|
||
properties:
|
||
aci:
|
||
type: string
|
||
format: uuid
|
||
uuid:
|
||
type: string
|
||
format: uuid
|
||
fingerprint:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
CreateProfileRequest:
|
||
required:
|
||
- commitment
|
||
- version
|
||
type: object
|
||
properties:
|
||
version:
|
||
type: string
|
||
name:
|
||
type: string
|
||
avatar:
|
||
type: boolean
|
||
sameAvatar:
|
||
type: boolean
|
||
aboutEmoji:
|
||
type: string
|
||
about:
|
||
type: string
|
||
paymentAddress:
|
||
type: string
|
||
badgeIds:
|
||
type: array
|
||
items:
|
||
type: string
|
||
commitment:
|
||
$ref: '#/components/schemas/ProfileKeyCommitment'
|
||
avatarChange:
|
||
type: string
|
||
enum:
|
||
- UNCHANGED
|
||
- CLEAR
|
||
- UPDATE
|
||
badges:
|
||
type: array
|
||
items:
|
||
type: string
|
||
ProfileKeyCommitment:
|
||
type: object
|
||
properties:
|
||
internalContentsForJNI:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
ProvisioningMessage:
|
||
required:
|
||
- body
|
||
type: object
|
||
properties:
|
||
body:
|
||
type: string
|
||
RegistrationRequest:
|
||
required:
|
||
- accountAttributes
|
||
type: object
|
||
properties:
|
||
sessionId:
|
||
type: string
|
||
recoveryPassword:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
accountAttributes:
|
||
$ref: '#/components/schemas/AccountAttributes'
|
||
skipDeviceTransfer:
|
||
type: boolean
|
||
valid:
|
||
type: boolean
|
||
UserRemoteConfig:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
enabled:
|
||
type: boolean
|
||
value:
|
||
type: string
|
||
UserRemoteConfigList:
|
||
type: object
|
||
properties:
|
||
config:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/UserRemoteConfig'
|
||
RemoteConfig:
|
||
required:
|
||
- percentage
|
||
- uuids
|
||
type: object
|
||
properties:
|
||
name:
|
||
pattern: "[A-Za-z0-9\\.]+"
|
||
type: string
|
||
percentage:
|
||
maximum: 100
|
||
minimum: 0
|
||
type: integer
|
||
format: int32
|
||
uuids:
|
||
uniqueItems: true
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
defaultValue:
|
||
type: string
|
||
value:
|
||
type: string
|
||
hashKey:
|
||
type: string
|
||
AuthCheckResponse:
|
||
required:
|
||
- matches
|
||
type: object
|
||
properties:
|
||
matches:
|
||
type: object
|
||
additionalProperties:
|
||
type: string
|
||
description: "A dictionary with the auth check results: `KBS Credentials\
|
||
\ -> 'match'/'no-match'/'invalid'`"
|
||
enum:
|
||
- match
|
||
- no-match
|
||
- invalid
|
||
description: "A dictionary with the auth check results: `KBS Credentials\
|
||
\ -> 'match'/'no-match'/'invalid'`"
|
||
AuthCheckRequest:
|
||
required:
|
||
- number
|
||
- passwords
|
||
type: object
|
||
properties:
|
||
number:
|
||
type: string
|
||
description: The e164-formatted phone number.
|
||
passwords:
|
||
maxItems: 10
|
||
minItems: 0
|
||
type: array
|
||
description: "A list of SVR auth values, previously retrieved from `/v1/backup/auth`;\
|
||
\ may contain at most 10."
|
||
items:
|
||
type: string
|
||
description: "A list of SVR auth values, previously retrieved from `/v1/backup/auth`;\
|
||
\ may contain at most 10."
|
||
StickerPackFormUploadAttributes:
|
||
type: object
|
||
properties:
|
||
manifest:
|
||
$ref: '#/components/schemas/StickerPackFormUploadItem'
|
||
stickers:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/StickerPackFormUploadItem'
|
||
packId:
|
||
type: string
|
||
StickerPackFormUploadItem:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: integer
|
||
format: int32
|
||
key:
|
||
type: string
|
||
credential:
|
||
type: string
|
||
acl:
|
||
type: string
|
||
algorithm:
|
||
type: string
|
||
date:
|
||
type: string
|
||
policy:
|
||
type: string
|
||
signature:
|
||
type: string
|
||
ConfirmPayPalBoostRequest:
|
||
required:
|
||
- currency
|
||
- payerId
|
||
- paymentId
|
||
- paymentToken
|
||
type: object
|
||
properties:
|
||
currency:
|
||
type: string
|
||
amount:
|
||
minimum: 1
|
||
type: integer
|
||
format: int64
|
||
level:
|
||
type: integer
|
||
format: int64
|
||
payerId:
|
||
type: string
|
||
paymentId:
|
||
type: string
|
||
paymentToken:
|
||
type: string
|
||
CreateBoostRequest:
|
||
required:
|
||
- currency
|
||
type: object
|
||
properties:
|
||
currency:
|
||
type: string
|
||
amount:
|
||
minimum: 1
|
||
type: integer
|
||
format: int64
|
||
level:
|
||
type: integer
|
||
format: int64
|
||
CreateBoostReceiptCredentialsRequest:
|
||
required:
|
||
- paymentIntentId
|
||
- processor
|
||
- receiptCredentialRequest
|
||
type: object
|
||
properties:
|
||
paymentIntentId:
|
||
type: string
|
||
receiptCredentialRequest:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
processor:
|
||
type: string
|
||
enum:
|
||
- STRIPE
|
||
- BRAINTREE
|
||
CreatePayPalBoostRequest:
|
||
required:
|
||
- cancelUrl
|
||
- currency
|
||
- returnUrl
|
||
type: object
|
||
properties:
|
||
currency:
|
||
type: string
|
||
amount:
|
||
minimum: 1
|
||
type: integer
|
||
format: int64
|
||
level:
|
||
type: integer
|
||
format: int64
|
||
returnUrl:
|
||
type: string
|
||
cancelUrl:
|
||
type: string
|
||
CreatePayPalBillingAgreementRequest:
|
||
required:
|
||
- cancelUrl
|
||
- returnUrl
|
||
type: object
|
||
properties:
|
||
returnUrl:
|
||
type: string
|
||
cancelUrl:
|
||
type: string
|
||
GetReceiptCredentialsRequest:
|
||
required:
|
||
- receiptCredentialRequest
|
||
type: object
|
||
properties:
|
||
receiptCredentialRequest:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: byte
|
||
VerificationSessionResponse:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
nextSms:
|
||
type: integer
|
||
format: int64
|
||
nextCall:
|
||
type: integer
|
||
format: int64
|
||
nextVerificationAttempt:
|
||
type: integer
|
||
format: int64
|
||
allowedToRequestCode:
|
||
type: boolean
|
||
requestedInformation:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- pushChallenge
|
||
- captcha
|
||
verified:
|
||
type: boolean
|
||
CreateVerificationSessionRequest:
|
||
required:
|
||
- number
|
||
type: object
|
||
properties:
|
||
number:
|
||
type: string
|
||
pushToken:
|
||
type: string
|
||
pushTokenType:
|
||
type: string
|
||
enum:
|
||
- apn
|
||
- fcm
|
||
pushChallenge:
|
||
type: string
|
||
captcha:
|
||
type: string
|
||
mcc:
|
||
type: string
|
||
mnc:
|
||
type: string
|
||
UpdateVerificationSessionRequest:
|
||
type: object
|
||
properties:
|
||
pushToken:
|
||
type: string
|
||
pushTokenType:
|
||
type: string
|
||
enum:
|
||
- apn
|
||
- fcm
|
||
pushChallenge:
|
||
type: string
|
||
captcha:
|
||
type: string
|
||
mcc:
|
||
type: string
|
||
mnc:
|
||
type: string
|
||
VerificationCodeRequest:
|
||
required:
|
||
- client
|
||
- transport
|
||
type: object
|
||
properties:
|
||
transport:
|
||
type: string
|
||
enum:
|
||
- sms
|
||
- voice
|
||
client:
|
||
type: string
|
||
SubmitVerificationCodeRequest:
|
||
required:
|
||
- code
|
||
type: object
|
||
properties:
|
||
code:
|
||
type: string
|
||
securitySchemes:
|
||
authenticatedAccount:
|
||
type: http
|
||
description: "Account authentication is based on Basic authentication schema,\
|
||
\ \nwhere `username` has a format of `<user_id>[.<device_id>]`. If `device_id`\
|
||
\ is not specified,\nuser's `main` device is assumed.\n"
|
||
scheme: basic
|