FastAPI (0.1.0)

Download OpenAPI specification:

Get Address

Get addresses of the target

Responses

Response samples

Content type
application/json
[
  • "string"
]

List Export

List all exports

query Parameters
Volume (string) or Volume (null) (Volume)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Export

Create a new export

Request Body schema: application/json
required
required
Array of Acl (strings) or Acl (null) (Acl)

Source IP Addresses to allow access

name
required
string (Name)

Volume name to export

Passwd (string) or Passwd (null) (Passwd)

password for access. auto-generate if null

readonly
boolean (Readonly)
Default: false

read-only if true

User (string) or User (null) (User)

user name for access. auto-generate if null

Responses

Request samples

Content type
application/json
{
  • "acl": [
    ],
  • "name": "volume1",
  • "passwd": "pa$$word",
  • "readonly": true,
  • "user": "string"
}

Response samples

Content type
application/json
{
  • "acl": [
    ],
  • "addresses": [
    ],
  • "lun": 1,
  • "protocol": "iscsi",
  • "targetname": "iqn.2025-08.volexport:abcde",
  • "tid": 0,
  • "user": "admin"
}

Delete Export

Delete an export by name or TID

path Parameters
name
required
any (Name)
query Parameters
force
boolean (Force)
Default: false

Responses

Response samples

Content type
application/json
null

Read Export

Read export details by name or TID

path Parameters
name
required
any (Name)

Responses

Response samples

Content type
application/json
{
  • "acl": [
    ],
  • "connected": [
    ],
  • "protocol": "iscsi",
  • "targetname": "iqn.2025-08.volexport:abcde",
  • "tid": 0,
  • "users": "admin",
  • "volumes": "volume1"
}

Health

Health check endpoint

Responses

Response samples

Content type
application/json
null

Forget Backup

delete old tgtd backup file

query Parameters
keep
integer (Keep)
Default: 2

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

List Backup

list tgtd backup files

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Backup

create tgtd backup

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Delete Backup

delete specified tgtd backup file

path Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get Backup

download tgtd backup file

path Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
null

Restore Backup

restore tgtd backup

path Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Put Backup

upload tgtd backup file

path Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Stats Export

Get statistics of exports

Responses

Response samples

Content type
application/json
{
  • "clients": 10,
  • "targets": 5,
  • "volumes": 15
}

Stats Volume

Get statistics of the volume pool

Responses

Response samples

Content type
application/json
{
  • "free": 5368709120,
  • "snapshots": 5,
  • "total": 10737418240,
  • "used": 5368709120,
  • "volumes": 10
}

List Volume

List all volumes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Volume

Create a new volume

Request Body schema: application/json
required
name
required
string (Name)

Name of the volume to create

size
required
integer (Size) > 0

Size of the volume in bytes

Responses

Request samples

Content type
application/json
{
  • "name": "volume1",
  • "size": 1073741824
}

Response samples

Content type
application/json
{
  • "name": "volume1",
  • "size": 1073741824
}

Delete Volume

Delete a volume by name

path Parameters
name
required
any (Name)

Responses

Response samples

Content type
application/json
{ }

Read Volume

Read volume details by name

path Parameters
name
required
any (Name)

Responses

Response samples

Content type
application/json
{
  • "created": "2023-10-01T12:00:00",
  • "name": "volume1",
  • "parent": "string",
  • "readonly": true,
  • "size": 1073741824,
  • "thin": true,
  • "used": true
}

Update Volume

Update a volume by name

path Parameters
name
required
any (Name)
Request Body schema: application/json
required
Readonly (boolean) or Readonly (null) (Readonly)

Set volume to read-only if true

Size (integer) or Size (null) (Size)

New size of the volume in bytes

Responses

Request samples

Content type
application/json
{
  • "readonly": true,
  • "size": 2147483648
}

Response samples

Content type
application/json
{
  • "created": "2023-10-01T12:00:00",
  • "name": "volume1",
  • "parent": "string",
  • "readonly": true,
  • "size": 1073741824,
  • "thin": true,
  • "used": true
}

Format Volume

Format a volume, make filesystem

path Parameters
name
required
any (Name)
Request Body schema: application/json
required
filesystem
string (Filesystem)
Default: "ext4"
Enum: "ext4" "xfs" "btrfs" "vfat" "ntfs" "exfat" "nilfs2"

Make filesystem in the volume

Label (string) or Label (null) (Label)

Label of filesystem

Responses

Request samples

Content type
application/json
{
  • "filesystem": "ext4",
  • "label": "string"
}

Response samples

Content type
application/json
{
  • "created": "2023-10-01T12:00:00",
  • "name": "volume1",
  • "parent": "string",
  • "readonly": true,
  • "size": 1073741824,
  • "thin": true,
  • "used": true
}

List Snapshot

List snapshot

path Parameters
name
required
any (Name)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Snapshot

Create snapshot

path Parameters
name
required
any (Name)
Request Body schema: application/json
required
name
required
string (Name)

Name of snapshot volume

Size (integer) or Size (null) (Size)

Size of snapshot CoW (ignore if using thinpool)

Responses

Request samples

Content type
application/json
{
  • "name": "snap001",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "created": "2023-10-01T12:00:00",
  • "name": "volume1",
  • "parent": "string",
  • "readonly": true,
  • "size": 1073741824,
  • "thin": true,
  • "used": true
}

Delete Snapshot

Delete snapshot

path Parameters
name
required
any (Name)
snapname
required
any (Snapname)

Responses

Response samples

Content type
application/json
{ }

Read Snapshot

Read snapshot

path Parameters
name
required
any (Name)
snapname
required
any (Snapname)

Responses

Response samples

Content type
application/json
{
  • "created": "2023-10-01T12:00:00",
  • "name": "volume1",
  • "parent": "string",
  • "readonly": true,
  • "size": 1073741824,
  • "thin": true,
  • "used": true
}