Skip to content

Endpoint reference ​

Generated from docs/openapi.yaml — ADAMANT 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
413Combined request size exceeded (code request_too_large)
429Upload rate window (code rate_limited) or concurrency limit (code upload_concurrency)
503Required replication quorum was not reached (code replication_quorum)
507The disk reserve would be consumed (code insufficient_storage)

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 (code file_timeout)
429Read rate window (code rate_limited) or download concurrency (code download_concurrency or download_client_concurrency)

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.