← Back to Docs Index

Using the ObjectID Storage API

The Storage API supports temporary file upload, sponsored transaction preparation/execution, and IPFS pin/provider checks. The public base URL used by the Storage dApp is:

https://api.storage.objectid.io/api

Temporary upload

POST /uploads
Content-Type: multipart/form-data

file: binary
ttlSeconds: optional number, clamped between 60 and 86400 seconds

The response contains id, fileName, mimeType, size, sha256, url and expiresAtMs. The url points to https://api.storage.objectid.io/uploads/{id} and is consumed by oracle nodes.

Sponsored transactions

The dApp submits a transaction kind to the backend. The backend validates that the transaction contains exactly one allowed storage Move call, sets itself as gas sponsor, selects a gas coin and returns full transaction bytes for user signature.

POST /sponsored-transactions/prepare
{
  "network": "testnet",
  "sender": "0x...",
  "sponsoredIota": "100000000",
  "transactionKindBytes": "base64..."
}
POST /sponsored-transactions/execute
{
  "network": "testnet",
  "sponsoredIota": "100000000",
  "transactionBlockBytes": "base64...",
  "userSignature": "..."
}

IPFS pin status

GET /ipfs/pins?cids=bafy...,bafy...

The response summarizes pinned and unpinned CIDs, provider count, provider peer IDs, gateway reachability and whether the IPFS API is configured.

Deletion of temporary uploads

DELETE /uploads/{id}

This deletes the temporary upload record from the backend. It does not delete an already-created IPFS CID or on-chain storage object.