API reference

Storage

Browse and manage S3 buckets: files, uploads, CORS, versioning and lifecycle rules.
GET/v1/orgs/:orgId/storage

The org's buckets with their latest daily size and object count.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  buckets: {
    usage: null | {
      sizeBytes?: number
      objects?: number
      at?: number
    }
    region: string
    type: "repository" | "database" | "bucket"
    name: string
    status?: "error" | "active" | "deleting" | "creating"
    createdAt?: number
    updatedAt?: number
    orgId: string
    resourceId: string
    createdBy: string
    projectId?: string
    location: string
    arn?: string
    physicalName: string
    restoredFrom?: string
    pendingSetup?: boolean
  }[]
}
GET/v1/orgs/:orgId/storage/:resourceId

A bucket record with its versioning status and latest daily usage.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  bucket: {
    region: string
    type: "repository" | "database" | "bucket"
    name: string
    status?: "error" | "active" | "deleting" | "creating"
    createdAt?: number
    updatedAt?: number
    orgId: string
    resourceId: string
    createdBy: string
    projectId?: string
    location: string
    arn?: string
    physicalName: string
    restoredFrom?: string
    pendingSetup?: boolean
  }
  versioning: null | "Enabled" | "Suspended" | "Disabled"
  usage: null | {
    sizeBytes?: number
    objects?: number
    at?: number
  }
}
GET/v1/orgs/:orgId/storage/:resourceId/objects

One level of the bucket: folders (common prefixes) and files under prefix.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Query parameters

  • prefixstring

    Default "". Up to 1,024 characters.

  • cursorstring

    Up to 2,048 characters.

  • limitinteger

    Default 100. ≥ 1. Coerced from a string.

Errors

  • 400Folder paths end with /.
  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/objects' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  prefix: string
  folders: string[]
  files: {
    key: string
    size: number
    lastModified?: number
    etag?: string
    storageClass: "AWS_BACKUP_LOW_COST_WARM" | "AWS_BACKUP_WARM" | "DEEP_ARCHIVE" | "EXPRESS_ONEZONE" | "FSX_ONTAP" | "FSX_OPENZFS" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "SNOW" | "STANDARD" | "STANDARD_IA"
  }[]
  cursor?: string
}
GET/v1/orgs/:orgId/storage/:resourceId/object

One file's size, type, modification time and metadata.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Query parameters

  • keystringrequired

    Up to 1,024 characters.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/object?key=example' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  object: {
    key: string
    size: number
    contentType?: string
    lastModified?: number
    etag?: string
    storageClass: "AWS_BACKUP_LOW_COST_WARM" | "AWS_BACKUP_WARM" | "DEEP_ARCHIVE" | "EXPRESS_ONEZONE" | "FSX_ONTAP" | "FSX_OPENZFS" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "SNOW" | "STANDARD" | "STANDARD_IA"
    versionId?: string
    cacheControl?: string
    contentEncoding?: string
    contentDisposition?: string
    encryption?: "AES256" | "aws:backup" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"
    metadata: {
      [key: string]: string
    }
  }
}
GET/v1/orgs/:orgId/storage/:resourceId/download

A download link valid for five minutes. versionId downloads an earlier version.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Query parameters

  • keystringrequired

    Up to 1,024 characters.

  • versionIdstring

    1–1,024 characters.

Errors

  • 400Folders can't be downloaded.
  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/download?key=example' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  url: string
  expiresIn: number
}
GET/v1/orgs/:orgId/storage/:resourceId/object/versions

Every version and delete marker of one file, newest first (versioned buckets).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Query parameters

  • keystringrequired

    Up to 1,024 characters.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/object/versions?key=example' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  key: string
  versions: {
    versionId: string
    isLatest: boolean
    deleteMarker: boolean
    lastModified?: number
    size?: number
    etag?: string
  }[]
  truncated: boolean
}
POST/v1/orgs/:orgId/storage/:resourceId/object/restore

Makes an earlier version of a file current again (copied on top, so history is kept). With the newest delete marker of a deleted file, removes the marker and so brings the file back.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • versionIdstringrequired

    1–1,024 characters.

Errors

  • 400Pick a version with content to restore.
  • 404Bucket not found
  • 404Version not found.
  • 409This is already the current version.
  • 409… is too large to copy in one request.

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/object/restore' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "versionId": "<versionId>"
  }'
Send it from this page with your session or a key.

Response 200

{
  restored: "undeleted"
} | {
  restored: "copied"
}
POST/v1/orgs/:orgId/storage/:resourceId/object/versions/delete

Deletes one version of a file for good; its other versions stay.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • versionIdstringrequired

    1–1,024 characters.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/object/versions/delete' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "versionId": "<versionId>"
  }'
Send it from this page with your session or a key.

Response 204 with no body

GET/v1/orgs/:orgId/storage/:resourceId/deleted

Deleted files in one folder of a versioned bucket (their newest version is a delete marker).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Query parameters

  • prefixstring

    Default "". Up to 1,024 characters.

  • cursorstring

    Up to 4,096 characters.

  • limitinteger

    Default 1000. ≥ 1. Coerced from a string.

Errors

  • 400Folder paths end with /.
  • 400Invalid cursor.
  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/deleted' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  prefix: string
  files: {
    key: string
    deletedAt?: number
    versionId: string
  }[]
  cursor?: string
}
POST/v1/orgs/:orgId/storage/:resourceId/objects/move

Moves or renames files and folders (copy, then delete the original); never overwrites. Folders move in batches: done: false means call again with the same moves and resume: true.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • filesobject[]

    Default [].

  • files[].fromstringrequired

    Up to 1,024 characters.

  • files[].tostringrequired

    Up to 1,024 characters.

  • foldersobject[]

    Default []. Up to 100 items.

  • folders[].fromstringrequired

    Up to 1,024 characters.

  • folders[].tostringrequired

    Up to 1,024 characters.

  • resumeboolean

    Default false.

Also checked: Nothing to move.

Errors

  • 400File names can't end with /.
  • 400… is already there.
  • 400Pick a folder, not the whole bucket.
  • 400Folder paths end with /.
  • 400A folder can't move into itself.
  • 404Bucket not found
  • 404… doesn't exist.
  • 409… already exists.
  • 409… is too large to copy in one request.
  • 409A folder named … already exists.
  • 409Couldn't delete … file…: …

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/objects/move' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "files": [
      {
        "from": "example",
        "to": "example"
      }
    ],
    "folders": [
      {
        "from": "example",
        "to": "example"
      }
    ],
    "resume": false
  }'
Send it from this page with your session or a key.

Response 200

{
  moved: number
  done: boolean
}
POST/v1/orgs/:orgId/storage/:resourceId/uploads/multipart

Starts a multipart upload for a large file (up to 5 TB): the part size and how many parts to send.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • contentTypestring | ""required

    Up to 255 characters. Matches ^[\w.+-]+\/[\w.+-]+(\s*;.*)?$.

  • sizeintegerrequired

    ≥ 1.

Errors

  • 400File names can't end with /.
  • 404Bucket not found
  • 413… is larger than 5 TB.

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/uploads/multipart' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "contentType": "example",
    "size": 1
  }'
Send it from this page with your session or a key.

Response 201

{
  key: string
  uploadId: string
  partSize: number
  parts: number
  contentType: string
}
POST/v1/orgs/:orgId/storage/:resourceId/uploads/multipart/parts

Upload links (15 minutes) for parts of a multipart upload; the browser PUTs each part and keeps its ETag.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • uploadIdstringrequired

    1–1,024 characters.

  • partNumbersinteger[]required

    At least 1 item. Each 1–10000.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/uploads/multipart/parts' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "uploadId": "<uploadId>",
    "partNumbers": [
      1
    ]
  }'
Send it from this page with your session or a key.

Response 200

{
  urls: {
    partNumber: number
    url: string
  }[]
  expiresIn: number
}
POST/v1/orgs/:orgId/storage/:resourceId/uploads/multipart/complete

Finishes a multipart upload from its parts' numbers and ETags.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • uploadIdstringrequired

    1–1,024 characters.

  • partsobject[]required

    1–10,000 items.

  • parts[].partNumberintegerrequired

    1–10000.

  • parts[].etagstringrequired

    1–256 characters.

Errors

  • 400Some parts didn't arrive. Upload the file again.
  • 404Bucket not found
  • 404This upload was canceled or has expired.

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/uploads/multipart/complete' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "uploadId": "<uploadId>",
    "parts": [
      {
        "partNumber": 1,
        "etag": "example"
      }
    ]
  }'
Send it from this page with your session or a key.

Response 200

{
  key: string
}
POST/v1/orgs/:orgId/storage/:resourceId/uploads/multipart/abort

Cancels a multipart upload and discards the parts sent so far.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keystringrequired

    Up to 1,024 characters.

  • uploadIdstringrequired

    1–1,024 characters.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/uploads/multipart/abort' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "example",
    "uploadId": "<uploadId>"
  }'
Send it from this page with your session or a key.

Response 204 with no body

POST/v1/orgs/:orgId/storage/:resourceId/uploads

Upload links (PUT, 15 minutes, up to 5 GB each). The browser sends each file straight to S3.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • filesobject[]required

    At least 1 item.

  • files[].keystringrequired

    Up to 1,024 characters.

  • files[].contentTypestring | ""required

    Up to 255 characters. Matches ^[\w.+-]+\/[\w.+-]+(\s*;.*)?$.

  • files[].sizeintegerrequired

    ≥ 0.

Errors

  • 400File names can't end with /.
  • 404Bucket not found
  • 413… is larger than 5 GB: upload it in parts.

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/uploads' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "files": [
      {
        "key": "example",
        "contentType": "example",
        "size": 1
      }
    ]
  }'
Send it from this page with your session or a key.

Response 200

{
  uploads: {
    key: string
    url: string
    contentType: string
  }[]
  expiresIn: number
}
POST/v1/orgs/:orgId/storage/:resourceId/folders

Creates an empty folder under prefix.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • prefixstring

    Default "". Up to 1,024 characters.

  • namestringrequired

    1–255 characters.

Errors

  • 400Folder paths end with /.
  • 400Folder names can't contain /.
  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/folders' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example"
  }'
Send it from this page with your session or a key.

Response 201

{
  key: string
}
POST/v1/orgs/:orgId/storage/:resourceId/objects/delete

Deletes files and folders (with everything in them). done: false means call again to finish large folders.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • keysstring[]

    Default []. Each up to 1,024 characters.

  • prefixesstring[]

    Default []. Up to 100 items. Each up to 1,024 characters.

Also checked: Nothing to delete.

Errors

  • 400Pick folders to delete, not the whole bucket.
  • 400Folder paths end with /.
  • 404Bucket not found
  • 409Couldn't delete … file…: …

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/objects/delete' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "keys": [],
    "prefixes": []
  }'
Send it from this page with your session or a key.

Response 200

{
  deleted: number
  done: boolean
}
GET/v1/orgs/:orgId/storage/:resourceId/settings

CORS rules, versioning and lifecycle rules.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/settings' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  versioning: string
  cors: {
    ID?: string
    AllowedHeaders?: string[]
    AllowedMethods?: string[]
    AllowedOrigins?: string[]
    ExposeHeaders?: string[]
    MaxAgeSeconds?: number
  }[]
  cloudCors: {
    ID?: string
    AllowedHeaders?: string[]
    AllowedMethods?: string[]
    AllowedOrigins?: string[]
    ExposeHeaders?: string[]
    MaxAgeSeconds?: number
  }
  lifecycle: {
    id: string
    prefix: string
    enabled: boolean
    expirationDays?: number
    noncurrentDays?: number
    other: boolean
  }[]
  abortUploadsDays?: number
  publicAccessBlocked: boolean
}
PUT/v1/orgs/:orgId/storage/:resourceId/cors

Replaces the bucket's CORS rules (Cloud's upload rule is kept separately).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • rulesobject[]required
  • rules[].IDstring

    Up to 255 characters.

  • rules[].AllowedOriginsstring[]required

    1–50 items. Each 1–255 characters.

  • rules[].AllowedMethods("GET" | "PUT" | "POST" | "DELETE" | "HEAD")[]required

    At least 1 item.

  • rules[].AllowedHeadersstring[]

    Up to 50 items. Each 1–255 characters.

  • rules[].ExposeHeadersstring[]

    Up to 50 items. Each 1–255 characters.

  • rules[].MaxAgeSecondsinteger

    0–604800.

Errors

  • 400si-cloud-uploads is reserved for Cloud uploads.
  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/cors' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "rules": [
      {
        "AllowedOrigins": [
          "example"
        ],
        "AllowedMethods": [
          "GET"
        ]
      }
    ]
  }'
Send it from this page with your session or a key.

Response 200

{
  cors: {
    AllowedOrigins: string[]
    AllowedMethods: ("GET" | "PUT" | "HEAD" | "POST" | "DELETE")[]
    ID?: string
    AllowedHeaders?: string[]
    ExposeHeaders?: string[]
    MaxAgeSeconds?: number
  }[]
}
PUT/v1/orgs/:orgId/storage/:resourceId/versioning

Turns versioning on, or suspends it.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • enabledbooleanrequired

Errors

  • 404Bucket not found

Errors from AWS map as in AWS errors.

curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/versioning' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled": true
  }'
Send it from this page with your session or a key.

Response 200

{
  versioning: string
}
POST/v1/orgs/:orgId/storage/:resourceId/lifecycle

Adds a rule that deletes files under a prefix a number of days after they're written.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Request body

  • prefixstring

    Default "". Up to 1,024 characters.

  • daysintegerrequired

    1–3650.

  • noncurrentDaysinteger

    1–3650.

Errors

  • 404Bucket not found
  • 409A bucket can have 50 rules here.

Errors from AWS map as in AWS errors.

curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/lifecycle' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "days": 1
  }'
Send it from this page with your session or a key.

Response 201

{
  rule: {
    id: string
    prefix: string
    enabled: boolean
    expirationDays?: number
    noncurrentDays?: number
    other: boolean
  }
  lifecycle: {
    id: string
    prefix: string
    enabled: boolean
    expirationDays?: number
    noncurrentDays?: number
    other: boolean
  }[]
}
DELETE/v1/orgs/:orgId/storage/:resourceId/lifecycle/:ruleId

Removes a lifecycle rule.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

  • ruleId

    Rule id: a storage lifecycle rule (as returned by the settings or lifecycle routes), an issue automation rule (rul_…) or a Mirage AutoMod rule (mar_…).

Errors

  • 404Bucket not found
  • 404Rule not found

Errors from AWS map as in AWS errors.

curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}/lifecycle/{ruleId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  lifecycle: {
    id: string
    prefix: string
    enabled: boolean
    expirationDays?: number
    noncurrentDays?: number
    other: boolean
  }[]
}
DELETE/v1/orgs/:orgId/storage/:resourceId

Deletes an empty bucket (old versions of deleted files go with it) and its record.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • orgId

    Organization id (org_…).

  • resourceId

    Resource id (res_…); for a group's access, the Serverless App Service id (prj_…) or the repository's resource id.

Errors

  • 404Bucket not found
  • 409Delete every file in this bucket first.
  • 409Still removing old file versions. Try again to continue.
  • 409Couldn't delete … file…: …
  • 409Files were added while deleting. Delete them first.

Errors from AWS map as in AWS errors.

curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/storage/{resourceId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 204 with no body