Ditto BigPeerReplication API
The BigPeerReplication API from Ditto — 2 operation(s) for bigpeerreplication.
The BigPeerReplication API from Ditto — 2 operation(s) for bigpeerreplication.
openapi: 3.0.3
info:
title: Ditto HTTP RPC API Keys BigPeerReplication API
version: 4.0.0
description: The Ditto HTTP RPC API provides a RESTful interface for interacting with Ditto's distributed data store. It enables you to query, insert, update and delete data across your Ditto network while maintaining strong consistency guarantees.
servers:
- url: '{base_url}/api/v4'
description: The Ditto Big Peer acts as a central synchronization point and data store in your Ditto network. It coordinates data replication between peers and provides a consistent view of your data.
variables:
base_url:
default: https://YOUR_CLOUD_URL_ENDPOINT
description: Your Cloud URL Endpoint from the Ditto Portal (Connect via HTTP), prefixed with https:// to form the base URL.
security:
- api_key_or_jwt_token: []
tags:
- name: BigPeerReplication
paths:
/namespace/{namespace}/bigPeer/{big_peer_name}/app/{app_name}/bigPeerReplication:
post:
tags:
- BigPeerReplication
summary: Create Replication
description: Creates a new Big Peer to Big Peer replication for an app.
operationId: createReplication
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BigPeerReplication'
required: true
responses:
'200':
description: Big Peer replication successfully created for app
content:
application/json:
schema:
$ref: '#/components/schemas/BigPeerReplication'
'404':
description: Big Peer in URI params does not exist
content:
application/json:
examples:
BigPeerNotFound:
summary: big peer not found
/namespace/{namespace}/bigPeer/{big_peer_name}/app/{app_name}/bigPeerReplication/{replication_name}:
get:
tags:
- BigPeerReplication
summary: Get Replication
description: Retrieves details for a specific Big Peer replication.
operationId: getReplication
responses:
'200':
description: big peer replication successfully retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/BigPeerReplication'
'400':
description: bad request
content:
application/json:
examples:
AppNameMismatch:
summary: app in big peer replication label doesn't match uri parameter
'404':
description: big peer replication not found
content:
application/json:
examples:
BigPeerReplicationNotFound:
summary: big peer replication not found
put:
tags:
- BigPeerReplication
summary: Update Replication
description: Updates an existing Big Peer replication's configuration.
operationId: updateReplication
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBigPeerReplicationRequest'
required: true
responses:
'200':
description: Big Peer replication successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/BigPeerReplication'
'400':
description: bad request
content:
application/json:
examples:
AppNameMismatch:
summary: app in big peer replication label doesn't match uri parameter
'404':
description: big peer replication not found
content:
application/json:
examples:
BigPeerReplicationNotFound:
summary: big peer replication not found
delete:
tags:
- BigPeerReplication
summary: Delete Replication
description: Deletes a Big Peer replication.
operationId: deleteReplication
responses:
'200':
description: ''
content:
application/json:
schema:
default: null
'400':
description: bad request
content:
application/json:
examples:
AppNameMismatch:
summary: app name in big peer replication label doesn't match uri parameter
BigPeerNameMismatch:
summary: big peer in app label doesn't match uri parameter
'404':
description: big peer replication not found
content:
application/json:
examples:
BigPeerReplicationNotFound:
summary: big peer replication not found
patch:
tags:
- BigPeerReplication
summary: Update Replication
description: Updates an existing Big Peer replication's configuration.
operationId: updateReplication
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBigPeerReplicationRequest'
required: true
responses:
'200':
description: Big Peer replication successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/BigPeerReplication'
'400':
description: bad request
content:
application/json:
examples:
AppNameMismatch:
summary: app in big peer replication label doesn't match uri parameter
'404':
description: big peer replication not found
content:
application/json:
examples:
BigPeerReplicationNotFound:
summary: big peer replication not found
components:
schemas:
BigPeerReplication:
type: object
required:
- name
properties:
connections:
type:
- array
- 'null'
items:
type: string
format: uri
description: 'A set of connection addresses of other Big Peer instances.
Each connection address should point to the Big Peer replication server dedicated to the
same app ID.
The set is allowed to be empty. In this case, it''s the remote Big Peer''s responsibility to
initiate the connection.'
example:
- big-peer-2.ditto.svc.cluster.local:4040
uniqueItems: true
name:
type: string
title: Dns1123Label
description: "RFC 1123 DNS labels used for most Kubernetes resource names. Some resource types require their names to follow the DNS label standard as defined in [RFC 1123][rfc1123].\n This means the name must:\n * contain at most 63 characters * contain only lowercase alphanumeric characters or '-' * start with an alphanumeric character\n * end with an alphanumeric character\n [rfc1123]: https://tools.ietf.org/html/rfc1123"
maxLength: 63
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
queriesByCollection:
type:
- object
- 'null'
description: 'Mapping from collection name to a list of DQL subscriptions queries.
This contains the data that the Big Peer instance will subscribe to, for the given app, in
the context of Big Peer replication.
If empty, this Big Peer instance will not subscribe to any data so no data will be
replicated to it.'
additionalProperties:
type: array
items:
type: string
propertyNames:
type: string
example:
cars:
- 'true'
UpdateBigPeerReplicationRequest:
type: object
properties:
connections:
type:
- array
- 'null'
items:
type: string
format: uri
example:
- big-peer-2.ditto.svc.cluster.local:4040
uniqueItems: true
queriesByCollection:
type:
- object
- 'null'
additionalProperties:
type: array
items:
type: string
propertyNames:
type: string
example:
cars:
- 'true'
securitySchemes:
api_key_or_jwt_token:
type: http
scheme: bearer
bearerFormat: API Key or JWT
description: Authentication using either an API key or JWT token in the Authorization header
externalDocs:
url: https://docs.ditto.live/http/installation/
description: For more detailed instructions on how to use this API and the Ditto SDK, please see the documentation.