naftiko: 1.0.0-alpha2 info: label: Weaviate REST API — replication description: 'Weaviate REST API — replication. 10 operations. Lead operation: Weaviate Initiate A Replica Movement. Self-contained Naftiko capability covering one Weaviate business surface.' tags: - Weaviate - replication created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEAVIATE_API_KEY: WEAVIATE_API_KEY capability: consumes: - type: http namespace: weaviate-replication baseUri: http://localhost:8080 description: Weaviate REST API — replication business capability. Self-contained, no shared references. resources: - name: replication-replicate path: /replication/replicate operations: - name: replicate method: POST description: Weaviate Initiate A Replica Movement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleteallreplications method: DELETE description: Weaviate Delete All Replication Operations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replication-replicate-force-delete path: /replication/replicate/force-delete operations: - name: forcedeletereplications method: POST description: Weaviate Force Delete Replication Operations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: replication-replicate-list path: /replication/replicate/list operations: - name: listreplication method: GET description: Weaviate List Replication Operations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: targetNode in: query type: string description: The name of the target node to get details for. - name: collection in: query type: string description: The name of the collection to get details for. - name: shard in: query type: string description: The shard to get details for. - name: includeHistory in: query type: boolean description: Whether to include the history of the replication operation. - name: replication-replicate-id path: /replication/replicate/{id} operations: - name: replicationdetails method: GET description: Weaviate Retrieve A Replication Operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the replication operation to get details for. required: true - name: includeHistory in: query type: boolean description: Whether to include the history of the replication operation. - name: deletereplication method: DELETE description: Weaviate Delete A Replication Operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the replication operation to delete. required: true - name: replication-replicate-id-cancel path: /replication/replicate/{id}/cancel operations: - name: cancelreplication method: POST description: Weaviate Cancel A Replication Operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the replication operation to cancel. required: true - name: replication-scale path: /replication/scale operations: - name: getreplicationscaleplan method: GET description: Weaviate Get Replication Scale Plan outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: collection in: query type: string description: The collection name to get the scaling plan for. required: true - name: replicationFactor in: query type: integer description: The desired replication factor to scale to. Must be a positive integer greater than zero. required: true - name: applyreplicationscaleplan method: POST description: Weaviate Apply Replication Scaling Plan outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: replication-sharding-state path: /replication/sharding-state operations: - name: getcollectionshardingstate method: GET description: Weaviate Get Sharding State outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: collection in: query type: string description: The collection name to get the sharding state for. - name: shard in: query type: string description: The shard to get the sharding state for. authentication: type: bearer token: '{{env.WEAVIATE_API_KEY}}' exposes: - type: rest namespace: weaviate-replication-rest port: 8080 description: REST adapter for Weaviate REST API — replication. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/replication/replicate name: replication-replicate description: REST surface for replication-replicate. operations: - method: POST name: replicate description: Weaviate Initiate A Replica Movement call: weaviate-replication.replicate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteallreplications description: Weaviate Delete All Replication Operations call: weaviate-replication.deleteallreplications outputParameters: - type: object mapping: $. - path: /v1/replication/replicate/force-delete name: replication-replicate-force-delete description: REST surface for replication-replicate-force-delete. operations: - method: POST name: forcedeletereplications description: Weaviate Force Delete Replication Operations call: weaviate-replication.forcedeletereplications with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/replication/replicate/list name: replication-replicate-list description: REST surface for replication-replicate-list. operations: - method: GET name: listreplication description: Weaviate List Replication Operations call: weaviate-replication.listreplication with: targetNode: rest.targetNode collection: rest.collection shard: rest.shard includeHistory: rest.includeHistory outputParameters: - type: object mapping: $. - path: /v1/replication/replicate/{id} name: replication-replicate-id description: REST surface for replication-replicate-id. operations: - method: GET name: replicationdetails description: Weaviate Retrieve A Replication Operation call: weaviate-replication.replicationdetails with: id: rest.id includeHistory: rest.includeHistory outputParameters: - type: object mapping: $. - method: DELETE name: deletereplication description: Weaviate Delete A Replication Operation call: weaviate-replication.deletereplication with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/replication/replicate/{id}/cancel name: replication-replicate-id-cancel description: REST surface for replication-replicate-id-cancel. operations: - method: POST name: cancelreplication description: Weaviate Cancel A Replication Operation call: weaviate-replication.cancelreplication with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/replication/scale name: replication-scale description: REST surface for replication-scale. operations: - method: GET name: getreplicationscaleplan description: Weaviate Get Replication Scale Plan call: weaviate-replication.getreplicationscaleplan with: collection: rest.collection replicationFactor: rest.replicationFactor outputParameters: - type: object mapping: $. - method: POST name: applyreplicationscaleplan description: Weaviate Apply Replication Scaling Plan call: weaviate-replication.applyreplicationscaleplan with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/replication/sharding-state name: replication-sharding-state description: REST surface for replication-sharding-state. operations: - method: GET name: getcollectionshardingstate description: Weaviate Get Sharding State call: weaviate-replication.getcollectionshardingstate with: collection: rest.collection shard: rest.shard outputParameters: - type: object mapping: $. - type: mcp namespace: weaviate-replication-mcp port: 9090 transport: http description: MCP adapter for Weaviate REST API — replication. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: weaviate-initiate-replica-movement description: Weaviate Initiate A Replica Movement hints: readOnly: false destructive: false idempotent: false call: weaviate-replication.replicate with: body: tools.body outputParameters: - type: object mapping: $. - name: weaviate-delete-all-replication-operations description: Weaviate Delete All Replication Operations hints: readOnly: false destructive: true idempotent: true call: weaviate-replication.deleteallreplications outputParameters: - type: object mapping: $. - name: weaviate-force-delete-replication-operations description: Weaviate Force Delete Replication Operations hints: readOnly: false destructive: false idempotent: false call: weaviate-replication.forcedeletereplications with: body: tools.body outputParameters: - type: object mapping: $. - name: weaviate-list-replication-operations description: Weaviate List Replication Operations hints: readOnly: true destructive: false idempotent: true call: weaviate-replication.listreplication with: targetNode: tools.targetNode collection: tools.collection shard: tools.shard includeHistory: tools.includeHistory outputParameters: - type: object mapping: $. - name: weaviate-retrieve-replication-operation description: Weaviate Retrieve A Replication Operation hints: readOnly: true destructive: false idempotent: true call: weaviate-replication.replicationdetails with: id: tools.id includeHistory: tools.includeHistory outputParameters: - type: object mapping: $. - name: weaviate-delete-replication-operation description: Weaviate Delete A Replication Operation hints: readOnly: false destructive: true idempotent: true call: weaviate-replication.deletereplication with: id: tools.id outputParameters: - type: object mapping: $. - name: weaviate-cancel-replication-operation description: Weaviate Cancel A Replication Operation hints: readOnly: false destructive: false idempotent: false call: weaviate-replication.cancelreplication with: id: tools.id outputParameters: - type: object mapping: $. - name: weaviate-get-replication-scale-plan description: Weaviate Get Replication Scale Plan hints: readOnly: true destructive: false idempotent: true call: weaviate-replication.getreplicationscaleplan with: collection: tools.collection replicationFactor: tools.replicationFactor outputParameters: - type: object mapping: $. - name: weaviate-apply-replication-scaling-plan description: Weaviate Apply Replication Scaling Plan hints: readOnly: false destructive: false idempotent: false call: weaviate-replication.applyreplicationscaleplan with: body: tools.body outputParameters: - type: object mapping: $. - name: weaviate-get-sharding-state description: Weaviate Get Sharding State hints: readOnly: true destructive: false idempotent: true call: weaviate-replication.getcollectionshardingstate with: collection: tools.collection shard: tools.shard outputParameters: - type: object mapping: $.