ar.io Logoar.io Documentation

Data

Core data retrieval operations for accessing transaction and data item content. Supports manifest resolution, range requests, caching, and verification status. These endpoints serve as the primary interface for retrieving data from the Permaweb.

Get transaction or data item content

Get the content of a specified transaction or data item. Supports manifest path resolution, range requests, and returns various informational headers about data verification and caching status.

For ANS-104 data items, offset headers are returned to help navigate bundle hierarchies:

  • Root offset headers (X-AR-IO-Root-Data-Item-Offset, X-AR-IO-Root-Data-Offset) provide byte offsets from the start of the root L1 transaction
  • Parent offset headers provide byte offsets from the start of the immediate parent bundle's payload
  • Offset relationships: rootDataItemOffset = rootParentOffset + offset, rootDataOffset = rootParentOffset + dataOffset
GET
/{txId}

Path Parameters

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

Header Parameters

Range?string

Byte range(s) to retrieve

Match^bytes=\d*-\d*(?:,\d*-\d*)*$
X-AR-IO-Root-Transaction-Id?string

Optional retrieval hint identifying the root L1 transaction that contains the requested ANS-104 data item. The data item ID remains the path parameter. The gateway validates this hint and falls back to its normal lookup process when the hint is unusable.

Match^[0-9a-zA-Z_-]{43}$
X-AR-IO-Root-Path?string

Optional comma-separated traversal path of transaction IDs from the root L1 transaction through each parent bundle to the requested ANS-104 data item's immediate parent. Use this when the item is nested in multiple bundles. Every value must be a 43-character base64url transaction ID.

Match^[0-9a-zA-Z_-]{43}(\s*,\s*[0-9a-zA-Z_-]{43})*$
X-AR-IO-Root-Item-Offset?integer

Optional byte offset of the complete ANS-104 data item, including its header, from the start of the root transaction's data. This header is only used when X-AR-IO-Root-Item-Size is also provided.

Range0 <= value
X-AR-IO-Root-Item-Size?integer

Optional size of the complete ANS-104 data item, including its header, in bytes. This header is only used when X-AR-IO-Root-Item-Offset is also provided.

Range1 <= value

Response Body

curl -X GET "https://turbo-gateway.com/string" \  -H "Range: bytes=0-1023" \  -H "X-AR-IO-Root-Transaction-Id: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc" \  -H "X-AR-IO-Root-Path: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc,hs48Pj6C9TqAk7W7D3T8F5kWg3q5W7K3m9Gf2L4n8Ps" \  -H "X-AR-IO-Root-Item-Offset: 2048" \  -H "X-AR-IO-Root-Item-Size: 2092"
Empty
Empty
Empty
Empty
Empty

Get transaction or data item headers

Get the headers for a specified transaction or data item without the content. Returns the same headers as the GET request.

HEAD
/{txId}

Path Parameters

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

Header Parameters

Range?string

Byte range(s) to check

Match^bytes=\d*-\d*(?:,\d*-\d*)*$
X-AR-IO-Root-Transaction-Id?string

Optional retrieval hint identifying the root L1 transaction that contains the requested ANS-104 data item. The data item ID remains the path parameter. The gateway validates this hint and falls back to its normal lookup process when the hint is unusable.

Match^[0-9a-zA-Z_-]{43}$
X-AR-IO-Root-Path?string

Optional comma-separated traversal path of transaction IDs from the root L1 transaction through each parent bundle to the requested ANS-104 data item's immediate parent. Use this when the item is nested in multiple bundles. Every value must be a 43-character base64url transaction ID.

Match^[0-9a-zA-Z_-]{43}(\s*,\s*[0-9a-zA-Z_-]{43})*$
X-AR-IO-Root-Item-Offset?integer

Optional byte offset of the complete ANS-104 data item, including its header, from the start of the root transaction's data. This header is only used when X-AR-IO-Root-Item-Size is also provided.

Range0 <= value
X-AR-IO-Root-Item-Size?integer

Optional size of the complete ANS-104 data item, including its header, in bytes. This header is only used when X-AR-IO-Root-Item-Offset is also provided.

Range1 <= value

Response Body

curl -X HEAD "https://turbo-gateway.com/string" \  -H "Range: bytes=0-1023" \  -H "X-AR-IO-Root-Transaction-Id: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc" \  -H "X-AR-IO-Root-Path: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc,hs48Pj6C9TqAk7W7D3T8F5kWg3q5W7K3m9Gf2L4n8Ps" \  -H "X-AR-IO-Root-Item-Offset: 2048" \  -H "X-AR-IO-Root-Item-Size: 2092"
Empty

Get raw transaction data

Get the raw content of a specified transaction without manifest resolution.

For ANS-104 data items, offset headers are returned to help navigate bundle hierarchies:

  • Root offset headers (X-AR-IO-Root-Data-Item-Offset, X-AR-IO-Root-Data-Offset) provide byte offsets from the start of the root L1 transaction
  • Parent offset headers provide byte offsets from the start of the immediate parent bundle's payload
  • Offset relationships: rootDataItemOffset = rootParentOffset + offset, rootDataOffset = rootParentOffset + dataOffset
GET
/raw/{txId}

Path Parameters

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

Header Parameters

Range?string

Byte range(s) to retrieve

Match^bytes=\d*-\d*(?:,\d*-\d*)*$
X-AR-IO-Root-Transaction-Id?string

Optional retrieval hint identifying the root L1 transaction that contains the requested ANS-104 data item. The data item ID remains the path parameter. The gateway validates this hint and falls back to its normal lookup process when the hint is unusable.

Match^[0-9a-zA-Z_-]{43}$
X-AR-IO-Root-Path?string

Optional comma-separated traversal path of transaction IDs from the root L1 transaction through each parent bundle to the requested ANS-104 data item's immediate parent. Use this when the item is nested in multiple bundles. Every value must be a 43-character base64url transaction ID.

Match^[0-9a-zA-Z_-]{43}(\s*,\s*[0-9a-zA-Z_-]{43})*$
X-AR-IO-Root-Item-Offset?integer

Optional byte offset of the complete ANS-104 data item, including its header, from the start of the root transaction's data. This header is only used when X-AR-IO-Root-Item-Size is also provided.

Range0 <= value
X-AR-IO-Root-Item-Size?integer

Optional size of the complete ANS-104 data item, including its header, in bytes. This header is only used when X-AR-IO-Root-Item-Offset is also provided.

Range1 <= value

Response Body

curl -X GET "https://turbo-gateway.com/raw/string" \  -H "Range: bytes=0-1023" \  -H "X-AR-IO-Root-Transaction-Id: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc" \  -H "X-AR-IO-Root-Path: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc,hs48Pj6C9TqAk7W7D3T8F5kWg3q5W7K3m9Gf2L4n8Ps" \  -H "X-AR-IO-Root-Item-Offset: 2048" \  -H "X-AR-IO-Root-Item-Size: 2092"
Empty
Empty
Empty
Empty

Get raw transaction data headers

Get the headers for raw transaction data without manifest resolution

HEAD
/raw/{txId}

Path Parameters

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

Header Parameters

Range?string

Byte range(s) to check

Match^bytes=\d*-\d*(?:,\d*-\d*)*$
X-AR-IO-Root-Transaction-Id?string

Optional retrieval hint identifying the root L1 transaction that contains the requested ANS-104 data item. The data item ID remains the path parameter. The gateway validates this hint and falls back to its normal lookup process when the hint is unusable.

Match^[0-9a-zA-Z_-]{43}$
X-AR-IO-Root-Path?string

Optional comma-separated traversal path of transaction IDs from the root L1 transaction through each parent bundle to the requested ANS-104 data item's immediate parent. Use this when the item is nested in multiple bundles. Every value must be a 43-character base64url transaction ID.

Match^[0-9a-zA-Z_-]{43}(\s*,\s*[0-9a-zA-Z_-]{43})*$
X-AR-IO-Root-Item-Offset?integer

Optional byte offset of the complete ANS-104 data item, including its header, from the start of the root transaction's data. This header is only used when X-AR-IO-Root-Item-Size is also provided.

Range0 <= value
X-AR-IO-Root-Item-Size?integer

Optional size of the complete ANS-104 data item, including its header, in bytes. This header is only used when X-AR-IO-Root-Item-Offset is also provided.

Range1 <= value

Response Body

curl -X HEAD "https://turbo-gateway.com/raw/string" \  -H "Range: bytes=0-1023" \  -H "X-AR-IO-Root-Transaction-Id: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc" \  -H "X-AR-IO-Root-Path: 283VjqeZG65tPI6V0e-gucoHCaEBPL41_cI8rXVRbMc,hs48Pj6C9TqAk7W7D3T8F5kWg3q5W7K3m9Gf2L4n8Ps" \  -H "X-AR-IO-Root-Item-Offset: 2048" \  -H "X-AR-IO-Root-Item-Size: 2092"
Empty
Empty
Empty

How is this guide?