Enterprise

Endpoints available only in InfluxDB 3 Enterprise. Operations carrying this tag also set x-enterprise-only: true for programmatic detection.
POST /api/v3/authorize

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/authorize" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json"

Responses

200 Success
POST /api/v3/authorize/refresh

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/authorize/refresh" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json"

Responses

200 Success
POST /api/v3/authorize/reset-password

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/authorize/reset-password" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json"

Responses

200 Success
GET /api/v3/configure/query_concurrency_limit

Get the query concurrency limit

Returns the current runtime limit on the maximum number of queries that can run concurrently. When the limit is set to the maximum allowed value, maxConcurrentQueries is omitted from the response.

This endpoint is only available in InfluxDB 3 Enterprise.

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/configure/query_concurrency_limit" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the current query concurrency limit.
max_concurrent_queries integer
The maximum number of queries that can run concurrently. Omitted when the limit is set to the maximum allowed value.
Example request body
{
  "max_concurrent_queries": 32
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
PUT /api/v3/configure/query_concurrency_limit

Set the query concurrency limit

Sets the runtime limit on the maximum number of queries that can run concurrently. Omit max_concurrent_queries (or set it to null) to restore the limit configured at server startup.

Values below 16 are rejected unless force=true is set in the query string. A value of 0 is invalid, and values above the maximum allowed limit are rejected.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Query parameters
force boolean
Set to true to allow setting max_concurrent_queries to a value below the minimum of 16.

Request body required

Content-Type: application/json
max_concurrent_queries integer
The maximum number of queries that can run concurrently. Set to null (or omit) to restore the limit configured at server startup. Must be a positive integer; values below 16 require force=true.
Example request body
{
  "max_concurrent_queries": 32
}
Example request Ask AI about this
curl --request PUT \
  "https://localhost:8181/api/v3/configure/query_concurrency_limit" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"max_concurrent_queries":32}'

Responses

204 No content. The query concurrency limit was updated.
400

Request failed. Possible reasons:

  • Invalid database name
  • Malformed request body
  • Invalid timestamp precision
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
DELETE /api/v3/configure/query_concurrency_limit

Reset the query concurrency limit

Resets the runtime query concurrency limit to the value configured at server startup.

This endpoint is only available in InfluxDB 3 Enterprise.

Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/configure/query_concurrency_limit" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

204 No content. The query concurrency limit was reset.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
PUT /api/v3/configure/table

Update a table

Updates table configuration, such as retention period.

Request body required

Content-Type: application/json
db required string
The name of the database containing the table.
retention_period string
The retention period for the table. Specifies how long data in this table should be retained. Use duration format (for example, “1d”, “1h”, “30m”, “7d”).
Example: "30d"
table required string
The name of the table to update.
Example request Ask AI about this
curl --request PUT \
  "https://localhost:8181/api/v3/configure/table" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "db": "DB",
  "retention_period": "30d",
  "table": "TABLE"
}'

Responses

200 Success. The table has been updated.
400 Bad request.
401 Unauthorized access.
data object
error string
404 Table not found.
POST /api/v3/configure/user

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/configure/user" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json"

Responses

200 Success
GET /api/v3/enterprise/backup

List backups

Lists all full backups.

Requires an admin (operator) token. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/enterprise/backup" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the list of backups.
backups required object[]
All full backups.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
500 Internal server error. Listing backups failed.
data object
error string
503 Service unavailable. The backup engine is not present on this node (not a compactor node).
data object
error string
POST /api/v3/enterprise/backup

Start a backup

Registers and asynchronously starts a full backup. Returns immediately with the resolved backup name and an in-progress acknowledgement.

Backups run asynchronously. Poll List backups or Get a backup to track progress.

Requires an admin (operator) token. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
force boolean
Overwrite an existing backup of the same name.
name string
The backup name. Defaults to a generated name when omitted.
type required string
The backup type. Only full backups are supported.
Allowed: full
Example request body
{
  "force": false,
  "name": "nightly-backup",
  "type": "full"
}
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/backup" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"force":false,"name":"nightly-backup","type":"full"}'

Responses

202 Accepted. The backup has started.
backup_name required string
The resolved backup name.
status required string
Example request body
{
  "backup_name": "nightly-backup",
  "status": "in_progress"
}
400

Request failed. Possible reasons:

  • Invalid database name
  • Malformed request body
  • Invalid timestamp precision
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
409 Conflict. A backup with that name already exists and force is false, or a duplicate backup job is already in flight.
data object
error string
503 Service unavailable. The backup engine is not present on this node (not a compactor node).
data object
error string
DELETE /api/v3/enterprise/backup

Cancel a running backup

Cancels an in-progress backup job by name.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
name required string
The name of the backup job to cancel.
Example request body
{
  "name": "nightly-backup"
}
Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/enterprise/backup" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"name":"nightly-backup"}'

Responses

200 Success. The cancellation has been accepted.
backup_name required string
The cancelled backup name.
Example request body
{
  "backup_name": "nightly-backup"
}
400

Request failed. Possible reasons:

  • Invalid database name
  • Malformed request body
  • Invalid timestamp precision
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No backup is running with that name.
data object
error string
503 Service unavailable. The backup engine is not present on this node (not a compactor node).
data object
error string
GET /api/v3/enterprise/backup/{name}

Get a backup

Returns a single backup’s manifest.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Path parameters
name required string
The backup name. URL-encoded names are decoded by the server.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/enterprise/backup/{name}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the backup manifest.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No backup exists with that name.
data object
error string
503 Service unavailable. The backup engine is not present on this node (not a compactor node).
data object
error string
DELETE /api/v3/enterprise/backup/{name}

Delete a backup

Deletes a backup by name.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Path parameters
name required string
The backup name. URL-encoded names are decoded by the server.
Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/enterprise/backup/{name}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. The backup has been deleted.
backup_name required string
The deleted backup name.
type required string
Example request body
{
  "backup_name": "nightly-backup",
  "type": "full"
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No backup exists with that name.
data object
error string
409 Conflict. The backup is in progress and cannot be deleted, or the backup chain is in a conflicting state.
data object
error string
503 Service unavailable. The backup engine is not present on this node (not a compactor node).
data object
error string
POST /api/v3/enterprise/configure/file_index

Create a file index

Creates a file index for a database or table.

A file index improves query performance by indexing data files based on specified columns, enabling the query engine to skip irrelevant files during query execution.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
columns required string[]
The columns to use for the file index.
db required string
The database name.
table string
The table name. If omitted, the file index applies to the database.
Example request body
{
  "columns": [
    "tag1",
    "tag2"
  ],
  "db": "mydb",
  "table": "mytable"
}
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/configure/file_index" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"columns":["tag1","tag2"],"db":"mydb","table":"mytable"}'

Responses

200 Success. The file index has been created.
400 Bad request.
401 Unauthorized access.
data object
error string
404 Database or table not found.
DELETE /api/v3/enterprise/configure/file_index

Delete a file index

Deletes a file index from a database or table.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
db required string
The database name.
table string
The table name. If omitted, deletes the database-level file index.
Example request body
{
  "db": "mydb",
  "table": "mytable"
}
Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/enterprise/configure/file_index" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"db":"mydb","table":"mytable"}'

Responses

200 Success. The file index has been deleted.
400 Bad request.
401 Unauthorized access.
data object
error string
404 Database, table, or file index not found.
POST /api/v3/enterprise/configure/node/stop

Mark a node as stopped

Marks a node as stopped in the catalog, freeing up the licensed cores it was using for other nodes.

Use this endpoint after you have already stopped the physical instance (for example, using kill or stopping the container). This endpoint does not shut down the running process — you must stop the instance first.

When the node is marked as stopped:

  1. Licensed cores from the stopped node are freed for reuse
  2. Other nodes in the cluster see the update after their catalog sync interval

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
node_id required string
The ID of the node to mark as stopped.
Example request body
{
  "node_id": "node-1"
}
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/configure/node/stop" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"node_id":"node-1"}'

Responses

200 Success. The node has been marked as stopped.
401 Unauthorized access.
data object
error string
404 Node not found.
POST /api/v3/enterprise/configure/table/retention_period

Set table retention period

Sets or updates the retention period for a specific table.

Use this endpoint to control how long data in a table is retained independently of the database-level retention period.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Query parameters
db required string
The database name.
table required string
The table name.
duration required string
The retention period as a human-readable duration (for example, “30d”, “24h”, “1y”).
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/configure/table/retention_period?db=DB&table=TABLE&duration=DURATION" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

204 Success. The table retention period has been set.
400 Bad request. Invalid duration format.
401 Unauthorized access.
data object
error string
404 Database or table not found.
DELETE /api/v3/enterprise/configure/table/retention_period

Clear table retention period

Removes the retention period from a specific table, reverting to the database-level retention period (or infinite retention if no database-level retention is set).

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Query parameters
db required string
The database name.
table required string
The table name.
Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/enterprise/configure/table/retention_period?db=DB&table=TABLE" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

204 Success. The table retention period has been cleared.
401 Unauthorized access.
data object
error string
404 Database or table not found.
POST /api/v3/enterprise/configure/token

Create a resource token

Creates a resource (fine-grained permissions) token. A resource token is a token that has access to specific resources in the system.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
expiry_secs integer
Optional expiration time in seconds.
permissions required object[]
List of permissions to grant to the token.
token_name required string
The name for the resource token.
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/configure/token" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "expiry_secs": 0,
  "permissions": [],
  "token_name": "TOKEN_NAME"
}'

Responses

201 Success. The resource token has been created. The response body contains the token string and metadata.
expiry_secs integer
The expiration time in seconds.
permissions object[]
actions string[]
resource_names string[]
List of resource names. Use “*” for all resources.
resource_type string
Allowed: system , db
token_name string
Example request body
{
  "expiry_secs": 300000,
  "permissions": [
    {
      "actions": [
        "read"
      ],
      "resource_names": [
        "*"
      ],
      "resource_type": "system"
    }
  ],
  "token_name": "All system information"
}
401 Unauthorized access.
data object
error string
GET /api/v3/enterprise/import

List bulk import statuses

Lists the status of all uploaded bulk import jobs.

Requires an admin (operator) token. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag).

This endpoint is only available in InfluxDB 3 Enterprise.

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/enterprise/import" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the list of bulk import statuses.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
500 Internal server error. Object store or read failure.
data object
error string
POST /api/v3/enterprise/import

Upload a Parquet file for bulk import

Uploads a Parquet file, and optional column metadata, for bulk import into an existing table. The compactor node asynchronously picks up and imports the file. Returns the staged import job info synchronously after the upload is staged.

Requires an admin (operator) token. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag); the compactor node runs the bulk import scheduler that completes the import.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/import" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: multipart/form-data"

Responses

200 Success. The upload has been staged for import.
column_metadata string
completed_at integer <int64>
When the import completed, in nanoseconds since the Unix epoch.
created_at required integer <int64>
When the uploaded file was ready for import, in nanoseconds since the Unix epoch.
db_id required integer
The ID of the database resolved from the supplied name.
filename required string
The filename of the uploaded Parquet data file.
iox_parquet required boolean
Whether the file was written by IOx (richer embedded metadata).
last_message string
The last error message if the job has errored.
last_updated_at integer <int64>
When this info last changed, in nanoseconds since the Unix epoch.
max_timestamp_ns required integer <int64>
The maximum timestamp in the file (nanoseconds), from column statistics.
min_timestamp_ns required integer <int64>
The minimum timestamp in the file (nanoseconds), from column statistics.
row_count required integer <int64>
The row count from Parquet metadata.
size_bytes required integer <int64>
The total size of the uploaded Parquet file in bytes.
started_at integer <int64>
When the import began, in nanoseconds since the Unix epoch.
status required string
table_id required integer
The ID of the table resolved from the supplied name.
upload_uuid required string
The UUID of the upload.
400 Bad request. Possible reasons: missing multipart boundary; missing file_bytes, database, or table; unparseable multipart; invalid or empty Parquet; malformed column_metadata; column type or mapping mismatch; or a missing time column.
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. The target database or table does not exist.
data object
error string
500 Internal server error. Object store, status write, or catalog failure.
data object
error string
GET /api/v3/enterprise/restore

List restores

Lists every restore for the cluster, newest first, including in-flight and completed restores.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/enterprise/restore" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the list of restores.
restores required object[]
All restores, newest first.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
500 Internal server error. Listing restores failed.
data object
error string
503 Service unavailable. The restore engine is not present on this node.
data object
error string
POST /api/v3/enterprise/restore

Start a restore

Registers and asynchronously starts a restore from a named backup. Returns a restore_id handle for tracking and cancellation.

Restores run asynchronously. Poll Get a restore to track progress. Only one restore can run cluster-wide at a time; if a restore is already running, this endpoint returns 409 Conflict.

Requires an admin (operator) token. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Request body required

Content-Type: application/json
backup_name required string
The name of the backup to restore from. Must not be empty.
Example request body
{
  "backup_name": "nightly-backup"
}
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/enterprise/restore" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"backup_name":"nightly-backup"}'

Responses

202 Accepted. The restore has started.
restore_id required string
The handle used to track or cancel the restore.
status required string
Example request body
{
  "restore_id": "01J8X9Z0ABCDEF",
  "status": "in_progress"
}
400 Bad request. backup_name is empty.
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
409 Conflict. A restore is already running. Only one restore can run at a time.
data object
error string
503 Service unavailable. The restore engine is not present on this node, or the restore lease could not be acquired.
data object
error string
GET /api/v3/enterprise/restore/{id}

Get a restore

Reports a restore’s state by restore_id. Reads the persisted manifest, so it works for in-flight and completed restores.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node; otherwise the endpoint returns 503 Service Unavailable.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Path parameters
id required string
The restore_id returned when the restore started.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/enterprise/restore/{id}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the restore status.
backup_name required string
The source backup name.
completed_at string <date-time>
The completion timestamp. Null when the restore is not complete.
created_at required string <date-time>
When the restore started.
restore_id required string
The restore handle.
status required string
total_files required integer <int64>
The number of files.
total_size_bytes required integer <int64>
The total size in bytes.
Example request body
{
  "backup_name": "nightly-backup",
  "completed_at": null,
  "created_at": "2025-06-16T03:00:00Z",
  "restore_id": "01J8X9Z0ABCDEF",
  "status": "in_progress",
  "total_files": 128,
  "total_size_bytes": 524288000
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No restore exists with that ID.
data object
error string
503 Service unavailable. The restore engine is not present on this node.
data object
error string
DELETE /api/v3/enterprise/restore/{id}

Cancel a running restore

Cancels an in-flight restore by restore_id.

Requires an admin (operator) token or admin user. Requires the upgraded storage engine (enabled with the --use-pacha-tree flag) present on a compactor node.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Path parameters
id required string
The restore_id returned when the restore started.
Example request Ask AI about this
curl --request DELETE \
  "https://localhost:8181/api/v3/enterprise/restore/{id}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

204 No content. The cancellation has been accepted.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No restore exists with that ID, the restore is already completed, or the restore engine is not present on this node.
data object
error string
GET /api/v3/export/databases

List databases available for export (beta)

Returns a list of databases that have compacted data available for Parquet export.

Beta: This endpoint requires the performance upgrade preview (--use-pacha-tree flag). The performance upgrade preview is a beta feature and should not be used for production workloads.

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/export/databases" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns a list of database names.
401 Unauthorized access.
data object
error string
GET /api/v3/export/tables

List tables available for export (beta)

Returns a list of tables in a database that have compacted data available for Parquet export.

Beta: This endpoint requires the performance upgrade preview (--use-pacha-tree flag). The performance upgrade preview is a beta feature and should not be used for production workloads.

Parameters

Query parameters
db required string
The name of the database.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/export/tables?db=DB" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns a list of table names.
401 Unauthorized access.
data object
error string
404 Database not found.
GET /api/v3/export/window_data

Export window data as Parquet (beta)

Downloads compacted data for the specified windows as a tar archive containing Parquet files.

Beta: This endpoint requires the performance upgrade preview (--use-pacha-tree flag). The performance upgrade preview is a beta feature and should not be used for production workloads.

Parameters

Query parameters
db required string
The name of the database.
table required string
The table name.
windows string
Comma-separated list of window dates to export (for example, 2026-01-15,2026-01-16). If omitted, exports all available windows.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/export/window_data?db=DB&table=TABLE" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns a tar archive containing Parquet files.
401 Unauthorized access.
data object
error string
404 Database, table, or window not found.
GET /api/v3/export/windows

List compacted windows for a table (beta)

Returns a list of compacted 24-hour UTC windows for a table. Each window represents a time range of compacted data that can be exported as Parquet.

Beta: This endpoint requires the performance upgrade preview (--use-pacha-tree flag). The performance upgrade preview is a beta feature and should not be used for production workloads.

Parameters

Query parameters
db required string
The name of the database.
table required string
The table name.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/export/windows?db=DB&table=TABLE" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns a list of compacted 24-hour windows.
401 Unauthorized access.
data object
error string
404 Database or table not found.
GET /api/v3/roles

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/roles" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success
GET /api/v3/roles_by_name/{roleName}

Get a role by name

Returns the role with the specified name.

Requires a token or user with permission to read roles.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
roleName required string
The name of the role to retrieve.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/roles_by_name/{roleName}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the matching role.
createdAt required integer <int64>
The Unix timestamp (seconds) when the role was created.
description string
The role description.
id required integer <int64>
The numeric ID of the role.
isRequiredRole required boolean
Whether the role is a required role.
name required string
The role name.
updatedAt required integer <int64>
The Unix timestamp (seconds) when the role was last updated.
Example request body
{
  "createdAt": 1717000000,
  "id": 1,
  "isRequiredRole": false,
  "name": "read-write",
  "updatedAt": 1717000000
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No role exists with the specified name.
data object
error string
GET /api/v3/roles/{id}/permissions

Get a role's permissions

Returns the permissions granted to the role with the specified ID.

Requires a token or user with permission to read roles.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
id required integer <int64>
The ID of the role.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/roles/{id}/permissions" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the role’s permissions.
permissions required object[]
The permissions granted to the role.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No role exists with the specified ID.
data object
error string
GET /api/v3/row_delete_requests

Parameters

Query parameters
db string
table string
disposition string
min_sequence integer
max_sequence integer
include_progress boolean
Default: (default)
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/row_delete_requests" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success
POST /api/v3/row_delete_requests

Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/row_delete_requests" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success
POST /api/v3/row_delete_requests/{seq}/abort

Abort a pending row-delete request

Aborts a pending row-delete request identified by its sequence number. Returns the updated request with a disposition of aborted.

Requires a token or user with delete permission on the database that the row-delete request targets.

This endpoint is only available in InfluxDB 3 Enterprise.

Parameters

Path parameters
seq required integer <int64>
The sequence number of the row-delete request to abort.

Request body required

Content-Type: application/json
reason required string
The reason for aborting the row-delete request.
Example request body
{
  "reason": "Predicate was too broad"
}
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/row_delete_requests/{seq}/abort" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"reason":"Predicate was too broad"}'

Responses

200 Success. Returns the aborted row-delete request.
abort_reason string
The reason the request was aborted. Present only for aborted requests.
aborted_at integer <int64>
The Unix timestamp (seconds) when the request was aborted. Present only for aborted requests.
completed_at integer <int64>
The Unix timestamp (seconds) when the request completed. Present only for completed requests.
created_at required integer <int64>
The Unix timestamp (seconds) when the request was created.
db_id required integer <int64>
The numeric ID of the target database.
db_name required string
The name of the target database.
db_name_stale required boolean
Whether the database name no longer matches the current catalog state for the stored database ID.
delete_predicate required string
The predicate that selects rows to delete.
disposition required string
The current disposition of the request: pending, completed, or aborted.
max_time integer <int64>
The maximum timestamp (nanoseconds) of the delete range.
min_time integer <int64>
The minimum timestamp (nanoseconds) of the delete range.
progress string
sequence required integer <int64>
The sequence number of the row-delete request.
table_id required integer <int64>
The numeric ID of the target table.
table_name required string
The name of the target table.
table_name_stale required boolean
Whether the table name no longer matches the current catalog state for the stored table ID.
Example request body
{
  "abort_reason": "Predicate was too broad",
  "aborted_at": 1717000100,
  "created_at": 1717000000,
  "db_id": 1,
  "db_name": "sensors",
  "db_name_stale": false,
  "delete_predicate": "room = 'kitchen'",
  "disposition": "aborted",
  "sequence": 42,
  "table_id": 3,
  "table_name": "home",
  "table_name_stale": false
}
400

Request failed. Possible reasons:

  • Invalid database name
  • Malformed request body
  • Invalid timestamp precision
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No row-delete request exists with the specified sequence number.
data object
error string
GET /api/v3/users

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/users" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success
POST /api/v3/users

Request body required

Content-Type: application/json
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/users" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json"

Responses

200 Success
GET /api/v3/users_by_oauth_id/{oauth_id}

Get a user by OAuth identity-provider ID

Returns the user associated with the specified OAuth identity-provider ID. Requires the server to be configured with an OAuth validator.

Requires a token or user with permission to read users.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
oauth_id required string
The OAuth identity-provider ID of the user.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/users_by_oauth_id/{oauth_id}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the matching user.
createdAt required integer <int64>
The Unix timestamp (seconds) when the user was created.
deletedAt integer <int64>
The Unix timestamp (seconds) when the user was deleted. Present only for deleted users.
displayName string
The user’s display name.
oauthId string
The user’s OAuth identity-provider ID. Present when the user has an OAuth login identity.
operatorToken string
The operator token. Returned only when creating the initial user.
requiresPasswordReset boolean
Whether the user must reset their password on next login. Present when the user has a username and password login identity.
updatedAt required integer <int64>
The Unix timestamp (seconds) when the user was last updated.
userId required integer <int64>
The numeric ID of the user.
username string
The user’s username. Present when the user has a username and password login identity.
Example request body
{
  "createdAt": 1717000000,
  "displayName": "Jane Smith",
  "requiresPasswordReset": false,
  "updatedAt": 1717000000,
  "userId": 1,
  "username": "jsmith"
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No user matches the specified OAuth ID, or OAuth is not configured on the server.
data object
error string
GET /api/v3/users/{id}

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/users/{id}" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success
POST /api/v3/users/{id}/require-password-reset

Require a user to reset their password on next login

Marks the specified user as requiring a password reset. The user must set a new password before they are able to authenticate and receive a token.

Requires a token or user with permission to update users.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
id required integer <int64>
The numeric ID of the user.
Example request Ask AI about this
curl --request POST \
  "https://localhost:8181/api/v3/users/{id}/require-password-reset" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the user with requiresPasswordReset set to true.
createdAt required integer <int64>
The Unix timestamp (seconds) when the user was created.
deletedAt integer <int64>
The Unix timestamp (seconds) when the user was deleted. Present only for deleted users.
displayName string
The user’s display name.
oauthId string
The user’s OAuth identity-provider ID. Present when the user has an OAuth login identity.
operatorToken string
The operator token. Returned only when creating the initial user.
requiresPasswordReset boolean
Whether the user must reset their password on next login. Present when the user has a username and password login identity.
updatedAt required integer <int64>
The Unix timestamp (seconds) when the user was last updated.
userId required integer <int64>
The numeric ID of the user.
username string
The user’s username. Present when the user has a username and password login identity.
Example request body
{
  "createdAt": 1717000000,
  "displayName": "Jane Smith",
  "requiresPasswordReset": false,
  "updatedAt": 1717000000,
  "userId": 1,
  "username": "jsmith"
}
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No user exists with the specified ID.
data object
error string
GET /api/v3/users/{id}/roles

List all roles assigned to a user

Lists all roles assigned to the specified user.

Requires a token or user with permission to read users.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
id required integer <int64>
The numeric ID of the user.
Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/api/v3/users/{id}/roles" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success. Returns the list of roles assigned to the user.
items required object[]
The roles assigned to the user.
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No user exists with the specified ID.
data object
error string
PUT /api/v3/users/{id}/roles

Replace all roles assigned to a user

Replaces all role assignments for the specified user with the provided list of role IDs. Roles not included in the request are removed from the user.

Requires a token or user with permission to update users.

This endpoint is only available in InfluxDB 3 Enterprise. User authentication is a preview feature enabled by setting --without-user-auth false.

Parameters

Path parameters
id required integer <int64>
The numeric ID of the user.

Request body required

Content-Type: application/json
roleIds required integer[]
The complete set of role IDs to assign to the user.
Example request body
{
  "roleIds": [
    1,
    2
  ]
}
Example request Ask AI about this
curl --request PUT \
  "https://localhost:8181/api/v3/users/{id}/roles" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{"roleIds":[1,2]}'

Responses

200 Success. Returns the user’s updated role assignments.
items required object[]
The roles assigned to the user.
400

Request failed. Possible reasons:

  • Invalid database name
  • Malformed request body
  • Invalid timestamp precision
data object
error string
401 Unauthorized access.
data object
error string
403 Access denied.
data object
error string
404 Not found. No user exists with the specified ID.
data object
error string
GET /ready

Example request Ask AI about this
curl --request GET \
  "https://localhost:8181/ready" \
  --header "Authorization: Bearer INFLUX_TOKEN"

Responses

200 Success

Was this page helpful?

Thank you for your feedback!