3.3. Open API¶
3.3.1. Replicator API /local¶
- GET /replicator/local/buckets/{bucketName}¶
Get bucket metadata
Get bucket metadata through topology
- Parameters:
bucketName (string) –
Example request:
GET /replicator/local/buckets/{bucketName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": "string", "clientId": "string", "site": "string", "creation": "2024-02-21T11:27:52.867506", "expires": "2024-02-21T11:27:52.867506", "status": "UNKNOWN" }
400 Bad Request – Bad Request
401 Unauthorized – Unauthorized
404 Not Found – Bucket not found
410 Gone – Bucket deleted
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-target-id – Target ID
- Response Headers:
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- HEAD /replicator/local/buckets/{bucketName}¶
Check if bucket exists on a remote replicator
Loops through the topology and search for a remote replicator owning the bucket
- Parameters:
bucketName (string) –
- Query Parameters:
fullCheck (boolean) – If True implies Storage checking
- Status Codes:
204 No Content – OK
401 Unauthorized – Unauthorized
404 Not Found – Bucket not found
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-target-id – Target ID
- Response Headers:
x-clonecloudstore-type – Type as StorageType
x-clonecloudstore-target-id – Id of Remote Topology
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- GET /replicator/local/buckets/{bucketName}/{objectName}¶
Read Object from a remote replicator
Loops through topology and search for a remote replicator able to service the request. Open up a stream with remote replicator which reads from its local accessor
- Parameters:
bucketName (string) –
objectName (string) –
Example request:
GET /replicator/local/buckets/{bucketName}/{objectName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
404 Not Found – Object not found
500 Internal Server Error – Internal Error
- Request Headers:
Accept-Encoding – May contain ZSTD for compression
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-target-id – Target ID
x-clonecloudstore-op-id – Operation ID
- Response Headers:
x-clonecloudstore-id – Id
x-clonecloudstore-site – Site
x-clonecloudstore-bucket – Bucket Name
x-clonecloudstore-name – Object Name
x-clonecloudstore-creation – Creation Date
x-clonecloudstore-size – Object Size
x-clonecloudstore-hash – Object Hash SHA-256
x-clonecloudstore-metadata – Object Metadata
x-clonecloudstore-status – Object Status
x-clonecloudstore-expires – Expiration Date
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- HEAD /replicator/local/buckets/{bucketName}/{pathDirectoryOrObject}¶
Check if object exists on a remote replicator
Loops through the topology and search for a remote replicator owning the object
- Parameters:
bucketName (string) –
pathDirectoryOrObject (string) –
- Query Parameters:
fullCheck (boolean) – If True implies Storage checking
- Status Codes:
204 No Content – OK
401 Unauthorized – Unauthorized
404 Not Found – Object not found
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-target-id – Target ID
- Response Headers:
x-clonecloudstore-type – Type as StorageType
x-clonecloudstore-target-id – Id of Remote Topology
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
3.3.2. Replicator API /remote¶
- GET /replicator/remote/buckets/{bucketName}¶
Get bucket metadata
Get bucket metadata through topology
- Parameters:
bucketName (string) –
Example request:
GET /replicator/remote/buckets/{bucketName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": "string", "clientId": "string", "site": "string", "creation": "2024-02-21T11:27:52.867506", "expires": "2024-02-21T11:27:52.867506", "status": "UNKNOWN" }
400 Bad Request – Bad Request
401 Unauthorized – Unauthorized
404 Not Found – Bucket not found
410 Gone – Bucket deleted
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id – Operation ID
- Response Headers:
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- HEAD /replicator/remote/buckets/{bucketName}¶
Check if bucket exists on a remote replicator
Loops through the topology and search for a remote replicator owning the bucket
- Parameters:
bucketName (string) –
- Query Parameters:
fullCheck (boolean) – If True implies Storage checking
- Status Codes:
204 No Content – OK
401 Unauthorized – Unauthorized
404 Not Found – Bucket not found
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id –
- Response Headers:
x-clonecloudstore-type – Type as StorageType
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- GET /replicator/remote/buckets/{bucketName}/{objectName}¶
Read Object from a remote replicator
Loops through topology and search for a remote replicator able to service the request. Open up a stream with remote replicator which reads from its local accessor
- Parameters:
bucketName (string) –
objectName (string) –
Example request:
GET /replicator/remote/buckets/{bucketName}/{objectName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Object not found
500 Internal Server Error – Internal Error
- Request Headers:
Accept-Encoding – May contain ZSTD for compression
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id – Operation ID
- Response Headers:
x-clonecloudstore-id – Id
x-clonecloudstore-site – Site
x-clonecloudstore-bucket – Bucket Name
x-clonecloudstore-name – Object Name
x-clonecloudstore-creation – Creation Date
x-clonecloudstore-size – Object Size
x-clonecloudstore-hash – Object Hash SHA-256
x-clonecloudstore-metadata – Object Metadata
x-clonecloudstore-status – Object Status
x-clonecloudstore-expires – Expiration Date
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- HEAD /replicator/remote/buckets/{bucketName}/{pathDirectoryOrObject}¶
Check if object exists on a remote replicator
Loops through the topology and search for a remote replicator owning the object
- Parameters:
bucketName (string) –
pathDirectoryOrObject (string) –
- Query Parameters:
fullCheck (boolean) – If True implies Storage checking
- Status Codes:
204 No Content – OK
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Object not found
500 Internal Server Error – Internal Error
- Request Headers:
x-clonecloudstore-client-id – Client ID (Required)
x-clonecloudstore-op-id –
- Response Headers:
x-clonecloudstore-type – Type as StorageType
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- POST /replicator/remote/orders¶
Create order
Create replication order remotely
Example request:
POST /replicator/remote/orders HTTP/1.1 Host: example.com Content-Type: application/json { "opId": "string", "fromSite": "string", "toSite": "string", "clientId": "string", "bucketName": "string", "objectName": "string", "size": 1, "hash": "string", "action": "CREATE" }
- Status Codes:
201 Created – Order created
400 Bad Request – Bad request
401 Unauthorized – Unauthorized
409 Conflict – Bucket already exist
500 Internal Server Error – Internal Error
- Response Headers:
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
- POST /replicator/remote/orders/multiple¶
Create orders
Create replication orders remotely
Example request:
POST /replicator/remote/orders/multiple HTTP/1.1 Host: example.com Content-Type: application/json [ { "opId": "string", "fromSite": "string", "toSite": "string", "clientId": "string", "bucketName": "string", "objectName": "string", "size": 1, "hash": "string", "action": "CREATE" } ]
- Status Codes:
201 Created – Order created
400 Bad Request – Bad request
401 Unauthorized – Unauthorized
409 Conflict – Bucket already exist
500 Internal Server Error – Internal Error
- Response Headers:
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message
x-clonecloudstore-op-id – Operation ID
x-clonecloudstore-module – Module Id
x-clonecloudstore-error – Error Message