# AR.IO HTTP API Admin Endpoints

# Overview

The AR.IO HTTP API offers several endpoints that allow access to internal information and the ability to make adjustments without restarting your Gateway. Each of these endpoints behind /ar-io/admin/ have access restricted, so you will need to have set up your ADMIN_API_KEY variable and include "Authorization: "Bearer ${ADMIN_API_KEY}" in the header of your request.

When testing endpoints at <your-Gateway>/api-docs, you can enter your ADMIN_API_KEY using the green "Authorize" button near the top of the page, or by clicking any of the open lock icons next to a password protected end point.

# Debug

The ar-io/admin/debug endpoint provides a comprehensive view of the current state of your Gateway. This endpoint has been designed to offer developers and administrators insights into the operational status of the gateway, including any errors or warnings that have occurred since the last startup.

Example response
{
  db: {
    counts: {
      wallets: 137,
      tagNames: 61,
      tagValues: 892,
      stableTxs: 0,
      stableBlocks: 0,
      stableBlockTxs: 0,
      missingStableBlocks: 0,
      missingStableTxs: 0,
      missingTxs: 0,
      newBlocks: 32,
      newTxs: 4436,
      bundleCount: 159,
      bundleDataItems: 0,
      matcheDataItems: 0,
      dataItems: 0,
      nestedDataItems: null
    },
    heights: { minStable: -1, maxStable: -1, minNew: 1000000, maxNew: 1000031 },
    timestamps: {
      now: 1692230403,
      maxBundleQueuedAt: -1,
      maxBundleSkippedAt: 1692230390,
      maxBundleUnbundledAt: -1,
      maxBundleFullyIndexedAt: -1,
      maxNewDataItemIndexedAt: -1,
      maxStableDataItemIndexedAt: -1
    },
    errors: [],
    warnings: []
  }
}

# Queue Transaction

The ar-io/admin/queue-tx endpoint allows you to prioritize processing of a specific transaction, based on that transaction's ID. The id key must be set in the body of your request, and a POST request should be used.

This endpoint will also enable you to prioritize opening and indexing bundles by providing the L1 TX ID for the bundle, but only if your Gateway is operating with the ANS104_UNBUNDLE_FILTER and ANS104_INDEX_FILTER keys set.

Your Gateway will either respond with an error, or { message: 'TX queued' }

# Block Data

The ar-io/admin/block-data endpoint allows you to tell your Gateway to refuse to serve certain data. In order to add to this block list, make a PUT request to this endpoint with the following in the body:

{
    "id": "<TX ID you want to block>",
    "notes": "Example notes",
    "source": "Example source"
}
  • id: This should be the transaction id of the content you want to block.
  • notes: Notes regarding the reason this content was blocked. For documentation purposes only.
  • source: Identifier for the source of TX IDs you are blocking. For example, the name of a public block list. For documentation purposes only.

Your Gateway will either respond with an error, or { message: 'Content blocked' }