Manager API

API definitions for manager nodes, accessed via manager Docs service and admin tools.

CreateDatasetMetadata

POST /slack.proto.astra.ManagerApiService/CreateDatasetMetadata

CreateDataset initializes a new dataset in the metadata store with no initial allocated capacity

ParameterInTypeDescription
namequerystringName of the dataset, must be unique
ownerquerystringOwner information, maybe be any string
serviceNamePatternquerystringThe service name pattern that the dataset is indexing

Request

{
  "name": "indexName",
  "owner": "Index owner",
  "serviceNamePattern": "_all"
}
            

Response (200)

{
  "name": "indexName",
  "owner": "Index owner",
  "serviceNamePattern": "_all"
}
            

GetDatasetMetadata

POST /slack.proto.astra.ManagerApiService/GetDatasetMetadata

GetDataset returns a single dataset metadata by name

ParameterInTypeDescription
namequerystringMust be an exact string name match

Request

{
  "name": "indexName"
}
            

Response (200)

{
  "name": "indexName",
  "owner": "Index owner",
  "throughputBytes": "12000000",
  "partitionConfigs": [
    {
      "startTimeEpochMs": "1706646163791",
      "endTimeEpochMs": "1706646250152",
      "partitions": [
        "0",
        "1"
      ]
    },
    {
      "startTimeEpochMs": "1706646250153",
      "endTimeEpochMs": "9223372036854775807",
      "partitions": [
        "0",
        "1",
        "2"
      ]
    }
  ],
  "serviceNamePattern": "_all"
}
            

ListDatasetMetadata

POST /slack.proto.astra.ManagerApiService/ListDatasetMetadata

ListDatasets returns all available datasets from the metadata store

Response (200)

{
  "datasetMetadata": [
    {
      "name": "example",
      "owner": "example",
      "throughputBytes": "4000000",
      "partitionConfigs": [
        {
          "startTimeEpochMs": "1698967727980",
          "endTimeEpochMs": "1698969132808",
          "partitions": [
            "0"
          ]
        },
        {
          "startTimeEpochMs": "1698969132809",
          "endTimeEpochMs": "1699035709531",
          "partitions": [
            "0"
          ]
        },
        {
          "startTimeEpochMs": "1699035709532",
          "endTimeEpochMs": "9223372036854775807",
          "partitions": [
            "0",
            "1"
          ]
        }
      ],
      "serviceNamePattern": "_all"
    }
  ]
}
            

RestoreReplica

POST /slack.proto.astra.ManagerApiService/RestoreReplica

experimental Restores replicas matching provided query parameters.

ParameterInTypeDescription
serviceNamequerystring
startTimeEpochMsquerystring
endTimeEpochMsquerystring

Request

{
  "serviceName": "example",
  "startTimeEpochMs": "1713375159221",
  "endTimeEpochMs": "1713378759221"
}
            

Response (200)

{
    "status": "success"
}
            

POST /slack.proto.astra.ManagerApiService/RestoreReplicaIds

POST /slack.proto.astra.ManagerApiService/RestoreReplicaIds

ParameterInTypeDescription
idsToRestorequeryarray

Request

{
  "idsToRestore": [
    "f3a94795-71a1-4735-9eb1-60968fbae196"
  ]
}
            

Response (200)

{
    "status": "success"
}
            

UpdateDatasetMetadata

POST /slack.proto.astra.ManagerApiService/UpdateDatasetMetadata

UpdateDataset updates an existing dataset with new metadata

ParameterInTypeDescription
namequerystringUnique name of the existing dataset
ownerquerystringOwner information, maybe be any string
serviceNamePatternquerystringThe service name pattern that the dataset is indexing

Request

{
  "name": "example",
  "owner": "Updated owner",
  "serviceNamePattern": "_all"
}
            

Response (200)

{
  "name": "example",
  "owner": "Updated owner",
  "serviceNamePattern": "_all"
}
            

UpdatePartitionAssignment

POST /slack.proto.astra.ManagerApiService/UpdatePartitionAssignment

UpdatePartitionAssignment allocates a new partition assignment for a dataset. If a rate and a list of partition_ids are provided, it will use it use the list of partition ids as the current allocation and invalidates the existing assignment.

ParameterInTypeDescription
namequerystringMust be an exact string name match
throughputBytesquerystringOptional maximum throughput of the dataset - if set to -1 the existing value will not be updated
partitionIdsqueryarrayOptional desired partition IDs - if empty will be automatically assigned

Request

Complete update

{
  "name": "example",
  "throughputBytes": "4000000",
  "partitionIds": [
    "0"
  ]
}
            

Throughput only

{
  "name": "example",
  "throughputBytes": "4000000",
  "partitionIds": []
}
            

Response (200)

{
  "assignedPartitionIds": [
    "0"
  ]
}