API reference / Provisioning

Provisioning

Provision and tear down a workspace's full OSC media stack (object storage, metadata store, queue).

GET /api/v1/provision/

List provisioned stacks.

Response

Response 200 (application/json)
[
  "string"
]

POST /api/v1/provision/

Provision a full OSC media stack (object storage, metadata store, queue) for a new workspace. Asynchronous — returns an operation to poll.

Request

Request body (application/json)
{
  "name": "string",
  "sourceStorage": {
    "bucket": "string",
    "accessKeyId": "string",
    "secretAccessKey": "string",
    "region": "string",
    "endpointUrl": "https://example.com/video.mp4",
    "sessionToken": "string",
    "publicBaseUrl": "https://example.com/video.mp4"
  },
  "packagedStorage": {
    "bucket": "string",
    "accessKeyId": "string",
    "secretAccessKey": "string",
    "region": "string",
    "endpointUrl": "https://example.com/video.mp4",
    "sessionToken": "string",
    "publicBaseUrl": "https://example.com/video.mp4"
  },
  "options": {
    "autoSubtitles": true,
    "sceneDetect": true
  }
}

Response

Response 202 (application/json)
{
  "operationId": "string",
  "name": "string",
  "status": "pending"
}

GET /api/v1/provision/operations

List provisioning operations.

Response

Response 200 (application/json)
[
  {
    "id": "string",
    "type": "provision",
    "name": "string",
    "status": "pending",
    "startedAt": 0,
    "completedAt": 0,
    "result": null,
    "error": "string"
  }
]

GET /api/v1/provision/operations/{id}

Get a single provisioning operation's status.

Parameters

NameInTypeRequired
idpathstringrequired

Response

Response 200 (application/json)
{
  "id": "string",
  "type": "provision",
  "name": "string",
  "status": "pending",
  "startedAt": 0,
  "completedAt": 0,
  "result": null,
  "error": "string"
}

GET /api/v1/provision/{name}

Get a provisioned stack by name.

Parameters

NameInTypeRequired
namepathstringrequired

Response

Response 200 (application/json)
{
  "minioEndpoint": "string",
  "couchdbUrl": "string",
  "redisUrl": "string",
  "sourceBucket": "string",
  "packagedBucket": "string",
  "services": [
    {
      "serviceId": "string",
      "instanceName": "string"
    }
  ],
  "status": "provisioning",
  "reason": {
    "code": "stack_provisioning",
    "message": "string",
    "capability": "storage"
  },
  "autoSubtitlesInstanceName": "string",
  "sceneDetectInstanceName": "string",
  "options": {
    "autoSubtitles": true,
    "sceneDetect": true
  },
  "storage": {
    "source": {
      "backend": "minio",
      "bucket": "string",
      "endpointUrl": "string",
      "region": "string",
      "publicBaseUrl": "string"
    },
    "packaged": {
      "backend": "minio",
      "bucket": "string",
      "endpointUrl": "string",
      "region": "string",
      "publicBaseUrl": "string"
    }
  }
}

DELETE /api/v1/provision/{name}

Deprovision (tear down) a stack and its backing OSC service instances.

Parameters

NameInTypeRequired
namepathstringrequired

Response

Response 202 (application/json)
{
  "operationId": "string",
  "name": "string",
  "status": "pending"
}