Skip to content

Endpoint reference

Generated from docs/openapi.yamlADAMANT IPFS Node API, contract version 0.1.0.

This page lists the stable client, lifecycle, and node-health contract. Low-level Helia, libp2p, and optional debug operator routes are intentionally left out of the specification; they are described in Administrative and debug routes.

Download the machine-readable specification: openapi.yaml.

Operations

OperationSummaryAuthentication
GET /api/node/healthRead the network-aware node checkpointPublic
GET /api/node/infoRead sanitized legacy PWA and iOS node informationPublic
GET /api/node/detailsRead detailed operator statex-api-key
POST /api/file/uploadUpload one or more filesPublic
GET /api/file/{cid}Download a complete content-addressed filePublic
GET /api/file/{cid}/statusRead public lifecycle and replication countsPublic
POST /api/file/{cid}/confirmPromote a temporary file to durable storagex-api-key
POST /api/file/{cid}/unpinRelease durable contentx-api-key
GET /api/storage/metricsRead public bounded storage and replication countsPublic
GET /api/storage/policyRead upload, lifecycle, and durability policyPublic
POST /api/storage/gcRun or preview garbage collectionx-api-key
POST /api/storage/repairRun the next bounded replication repair batchx-api-key

Details

GET /api/node/health

Read the network-aware node checkpoint

Authentication: Public

StatusMeaning
200The current state; inspect the state field because this route is always 200

GET /api/node/info

Read sanitized legacy PWA and iOS node information

Authentication: Public

StatusMeaning
200Legacy node information

GET /api/node/details

Read detailed operator state

Authentication: x-api-key

StatusMeaning
200Node identity, storage, health, and bounded HTTP metrics
401Unauthorized
503AdminNotConfigured

POST /api/file/upload

Upload one or more files

Authentication: Public

StatusMeaning
200Files were stored and pinned
400BadRequest
413Request or file limit exceeded
429Upload rate or concurrency limit exceeded
503Required replication quorum was not reached
507The disk reserve would be consumed

GET /api/file/{cid}

Download a complete content-addressed file

Range headers are ignored and return the complete 200 representation

Authentication: Public

StatusMeaning
200Complete file attachment
304The validated CID representation has not changed
400BadRequest
408Discovery or complete retrieval timed out
429Read rate, per-client, or global download concurrency limit exceeded

GET /api/file/{cid}/status

Read public lifecycle and replication counts

Authentication: Public

StatusMeaning
200File lifecycle state
404Unknown CID

POST /api/file/{cid}/confirm

Promote a temporary file to durable storage

Authentication: x-api-key

StatusMeaning
200File confirmed
401Unauthorized
404Unknown CID

POST /api/file/{cid}/unpin

Release durable content

Authentication: x-api-key

StatusMeaning
200File released for later collection
401Unauthorized
404Unknown CID

GET /api/storage/metrics

Read public bounded storage and replication counts

Authentication: Public

StatusMeaning
200Cached storage metrics

GET /api/storage/policy

Read upload, lifecycle, and durability policy

Authentication: Public

StatusMeaning
200Public storage policy

POST /api/storage/gc

Run or preview garbage collection

Authentication: x-api-key

ParameterInRequiredDescription
dryRunqueryno
StatusMeaning
200Garbage collection report
401Unauthorized
409Garbage collection is already running

POST /api/storage/repair

Run the next bounded replication repair batch

Authentication: x-api-key

StatusMeaning
200Repair batch and cycle progress
401Unauthorized
409Replication repair is already running

Released under the GPL-3.0 License.