AR.IO LogoAR.IO Documentation

Admin

Access several password protected features and functions specific to your AR.IO Gateway.

Admin debugging information.

Get detailed information about the current operational state of your AR.IO Gateway, including information about any current warnings or errors.

GET
/ar-io/admin/debug
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

Response Body

curl -X GET "https://ardrive.net/ar-io/admin/debug"
Empty
Empty

Prioritize a transaction or bundle in the queue.

Stage a specific TX ID as priority for your Gateway to locate and index. This will trigger and queue bundle processing if the transaction is a bundle, and your Gateway is configured to unbundle and index.

POST
/ar-io/admin/queue-tx
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

id?Base64Url43

TX ID of the transaction you would like to prioritize.

Match^[0-9a-zA-Z_-]{43}$

Response Body

curl -X POST "https://ardrive.net/ar-io/admin/queue-tx" \  -H "Content-Type: application/json" \  -d '{    "id": "3lyxgbgEvqNSvJrTX2J7CfRychUD5KClFhhVLyTPNCQ"  }'
{
  "message": "TX queued"
}
"Must provide 'id'"
"Unauthorized"
"Internal Server Error"

Queue a bundle for indexing, bypassing any filter settings by default.

Queue a bundle for indexing, bypassing any filter settings by default.

POST
/ar-io/admin/queue-bundle
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

id?Base64Url43

TX ID of the transaction you would like to prioritize.

Match^[0-9a-zA-Z_-]{43}$

Response Body

curl -X POST "https://ardrive.net/ar-io/admin/queue-bundle" \  -H "Content-Type: application/json" \  -d '{    "id": "3lyxgbgEvqNSvJrTX2J7CfRychUD5KClFhhVLyTPNCQ"  }'
{
  "message": "TX queued"
}

"Must provide 'id'"

"Unauthorized"
"Internal Server Error"

Queue data items for indexing

Queue one or more data items for indexing. This endpoint accepts an array of data item headers and prioritizes them for processing.

POST
/ar-io/admin/queue-data-item
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

Response Body

curl -X POST "https://ardrive.net/ar-io/admin/queue-data-item" \  -H "Content-Type: application/json" \  -d '[    {      "data_size": 0,      "id": "string",      "owner": "string",      "owner_address": "string",      "signature": "string"    }  ]'
{
  "message": "Data item(s) queued"
}
"Must provide array of data item headers"
"Unauthorized"
"Internal Server Error"

Get bundle processing status

Returns detailed status information about a bundle's processing state, including counts of data items, processing timestamps, and retry attempts. This endpoint helps monitor the progress and state of bundle processing through the gateway's pipeline.

GET
/ar-io/admin/bundle-status/{id}
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

Path Parameters

idstring

Bundle ID

Match^[0-9a-zA-Z_-]{43}$

Response Body

curl -X GET "https://ardrive.net/ar-io/admin/bundle-status/string"
{
  "id": "string",
  "formatId": 0,
  "unbundleFilterId": 0,
  "indexFilterId": 0,
  "dataItemCount": 0,
  "matchedDataItemCount": 0,
  "firstQueuedAt": 0,
  "lastQueuedAt": 0,
  "firstSkippedAt": 0,
  "lastSkippedAt": 0,
  "firstUnbundledAt": 0,
  "lastUnbundledAt": 0,
  "firstFullyIndexedAt": 0,
  "lastFullyIndexedAt": 0,
  "rootTransactionId": "string",
  "importAttemptCount": 0,
  "duplicatedDataItemCount": 0,
  "previousUnbundleFilterId": 0,
  "previousIndexFilterId": 0,
  "retryAttemptCount": 0,
  "firstRetriedAt": 0,
  "lastRetriedAt": 0
}
"Must provide a valid bundle id"
"Unauthorized"
"Bundle not found"
"Internal Server Error"

Blocks transactions or data-items so your AR.IO Gateway will not serve them.

Submits a TX ID/data-item ID or sha-256 content hash for content you do not want your AR.IO Gateway to serve. Once submitted, your Gateway will not respond to requests for these transactions or data-items.

WARNING - Testing a TX ID here WILL result in that data being blocked by your Gateway.

PUT
/ar-io/admin/block-data
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

id?string

TX ID for a transaction you want to block.

notes?string

Any notes or comments related to the block data. Documentation purposes only.

source?string

The source from which the block data was obtained. Documentation purposes only.

Response Body

curl -X PUT "https://ardrive.net/ar-io/admin/block-data" \  -H "Content-Type: application/json" \  -d '{    "id": "3lyxgbgEvqNSvJrTX2J7CfRychUD5KClFhhVLyTPNCQ",    "notes": "This content is offensive",    "source": "Public Block list"  }'
Empty
Empty

Blocks an ARNS name so your AR.IO Gateway will not serve it.

Blocks an ARNS name so your AR.IO Gateway will not serve it.

PUT
/ar-io/admin/block-name
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

name?string

The name you want to block.

notes?string

Any notes or comments related to the block name. Documentation purposes only.

source?string

The source from which the block name was obtained. Documentation purposes only.

Response Body

curl -X PUT "https://ardrive.net/ar-io/admin/block-name" \  -H "Content-Type: application/json" \  -d '{}'
Empty
Empty

Unblock an ARNS name.

Unblock an ARNS name so your AR.IO Gateway will serve it again.

PUT
/ar-io/admin/unblock-name
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

name?string

The name you want to unblock.

Response Body

curl -X PUT "https://ardrive.net/ar-io/admin/unblock-name" \  -H "Content-Type: application/json" \  -d '{}'
Empty
Empty

Export data to Parquet format

Initiates an export of data to Parquet format files. This process runs in the background and exports data for the specified block height range.

POST
/ar-io/admin/export-parquet
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

outputDirstring

Directory in the server where Parquet files will be saved

startHeightinteger

Starting block height for the export

Range0 <= value
endHeightinteger

Ending block height for the export

Range0 <= value
maxFileRowsinteger

Maximum number of rows per Parquet file

Range0 <= value

Response Body

curl -X POST "https://ardrive.net/ar-io/admin/export-parquet" \  -H "Content-Type: application/json" \  -d '{    "outputDir": "string",    "startHeight": 0,    "endHeight": 0,    "maxFileRows": 0  }'
{
  "message": "Parquet export started"
}
Empty
"Unauthorized"
"Internal Server Error"

Get Parquet export status

Returns the current status of the Parquet export process

GET
/ar-io/admin/export-parquet/status
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

Response Body

curl -X GET "https://ardrive.net/ar-io/admin/export-parquet/status"
{
  "status": "not_started",
  "outputDir": "string",
  "startHeight": 0,
  "endHeight": 0,
  "maxFileRows": 0,
  "durationInSeconds": 0,
  "endTime": "2019-08-24T14:15:22Z",
  "endTimestamp": 0,
  "error": "string"
}
"Unauthorized"
"Internal Server Error"

Prune stable data items

Removes stable data items from the database that were indexed before the specified timestamp. This helps manage database size by removing older, stable data items.

POST
/ar-io/admin/prune-stable-data-items
AuthorizationBearer <token>

ADMIN_API_KEY set in your .env file.

In: header

indexedAtThresholdinteger

Unix timestamp - data items indexed before this time will be pruned

Range0 <= value

Response Body

curl -X POST "https://ardrive.net/ar-io/admin/prune-stable-data-items" \  -H "Content-Type: application/json" \  -d '{    "indexedAtThreshold": 1677721600  }'
{
  "message": "Stable data items pruned successfully"
}
"Invalid indexedAtThreshold - must be a positive integer"
"Unauthorized"
"Internal Server Error"

How is this guide?