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.