Numbers Protocol
  • 📓Introduction
    • Numbers Protocol
      • Defining Web3 Assets
        • Assetization Process
        • Numbers ID (Nid)
        • Non-Fungible Tokens
        • Commit
        • AssetTree
          • integrityCid
          • digitalSourceType
          • miningPreference
          • nftRecord
        • Commit and AssetTree example
      • Glossary
      • Solution Stack
      • Use Cases
      • Roadmap & Milestones
      • Principles & Standards
    • Whitepaper
    • NUM Token
      • Get NUM
      • Bridge to Multiple Chains
      • Stake NUM
      • Liquidity Providers
      • NUM Utility
      • Token Allocation
      • Deflationary Token Economy
      • Audit Report
      • Distribution and Other Activities
      • Manage your NUM in Cold Wallet
      • 🛠️Developer Tools
    • NumbersDAO
      • Roles & Responsibilities
      • Become A DAO Member
      • Governance & Voting Rules - v2.0
      • [Deprecated] Governance Rules v1.0
    • Weekly Summary
      • 2023
        • 13 Jan 2023
        • 20 Jan 2023
        • 27 Jan 2023
        • 3 Feb 2023
        • 10 Feb 2023
        • 17 Feb 2023
        • 24 Feb 2023
        • 3 Mar 2023
        • 10 March 2023
        • 17 Mar 2023
        • 24 Mar 2023
        • 31 Mar 2023
        • 7 Apr 2023
        • 14 Apr 2023
        • 21 Apr 2023
        • 28 Apr 2023
        • 5 May 2023
        • 12 May 2023
        • 19 May 2023
        • 26 May 2023
        • 2 June 2023
        • 9 June 2023
        • 16 June 2023
        • 23 June 2023
        • 30 June 2023
        • 7 July 2023
        • 14 July 2023
        • 21 July 2023
        • 28 July 2023
        • 4 Aug 2023
        • 11 Aug 2023
        • 18 Aug 2023
        • 25 Aug 2023
        • 01 Sep 2023
        • 08 Sep 2023
        • 15 Sep 2023
        • 22 Sep 2023
        • 29 Sep 2023
        • 6 Oct 2023
        • 13 Oct 2023
        • 20 Oct 2023
        • 27 Oct 2023
        • 3 Nov 2023
        • 10 Nov 2023
        • 17 Nov 2023
        • 24 Nov 2023
        • 1 Dec 2023
        • 8 Dec 2023
        • 15 Dec 2023
        • 22 Dec 2023
        • 29 Dec 2023
      • 2024
        • 5 Jan 2024
        • 12 Jan 2024
        • 19 Jan 2024
        • 26 Jan 2024
        • 2 Feb 2024
        • 9 Feb 2024
        • 16 Feb 2024
        • 23 Feb 2024
        • 1 Mar 2024
        • 8 Mar 2024
        • 15 Mar 2024
        • 22 Mar 2024
        • 29 Mar 2024
        • 5 Apr 2024
        • 12 Apr 2024
        • 19 Apr 2024
        • 26 Apr 2024
        • 3 May 2024
        • 10 May 2024
        • 17 May 2024
        • 24 May 2024
        • 31 May 2024
        • 7 June 2024
        • 14 June 2024
        • 21 June 2024
        • 28 June 2024
        • 5 July 2024
        • 12 July 2024
        • 19 July 2024
        • 26 July 2024
        • 2 Aug 2024
        • 9 Aug 2024
        • 16 Aug 2024
        • 23 Aug 2024
        • 30 Aug 2024
        • 6 Sep 2024
        • 13 Sep 2024
        • 20 Sep 2024
        • 27 Sep 2024
        • 4 Oct 2024
        • 11 Oct 2024
        • 18 Oct 2024
        • 25 Oct 2024
        • 1 Nov 2024
        • 8 Nov 2024
        • 15 Nov 2024
        • 22 Nov 2024
        • 29 Nov 2024
        • 6 Dec 2024
        • 13 Dec 2024
        • 20 Dec 2024
        • 27 Dec 2024
      • 2025
        • 3 Jan 2025
        • 10 Jan 2025
        • 17 Jan 2025
        • 24 Jan 2025
        • 31 Jan 2025
        • 7 Feb 2025
        • 14 Feb 2025
        • 21 Feb 2025
        • 28 Feb 2025
        • 7 Mar 2025
        • 14 Mar 2025
        • 21 Mar 2025
        • 28 Mar 2025
        • 4 Apr 2025
        • 11 Apr 2025
    • Community Wiki
    • FAQ
      • What is provenance and how does it work?
      • What is C2PA and why do we need it?
      • What's the role of Numbers in AI?
      • What's the difference between Numbers and NFT
      • What's the difference between Numbers and C2PA
      • How can Numbers assist songwriters and artists?
      • Why Numbers needs its own blockchain?
      • Why Numbers Mainnet is permissioned?
      • Does Numbers support other blockchain?
      • How is the Nid generated?
      • Should I mint NFT or commit with "license-to" action?
      • Environmental impact of Numbers Mainnet
      • How do I get or bridge Mainnet/BEP-20/ERC-20 NUM?
      • What is Numbers Protocol's role in the AI space?
    • Partnership Programs
      • Creative Origins
      • Creative Innovators
      • Provenance Pioneers
  • 🌐Applications
    • User Tutorials
    • Verify Engine
      • Support Status
      • Search UI Interface
      • Asset Profile
      • Advanced Search & URL Parameters
    • Capture
  • 🛠️Developers
    • Numbers Blockchain
      • Testnet (Snow)
        • Testnet Launch PR
      • Mainnet (Jade)
      • Contract Overview
      • Commit Contract
        • How Commit Contract Works
        • assetTree File
        • On-chain Commit Logs
        • When Should You Use Commit Contract?
      • NFT Contract
    • Initial Asset Registration
    • Verify Engine API
      • Asset Search
      • NFT Search
      • Theft Detection
      • Support Status
    • Nit - Git for Media Files
      • Getting Started
      • Nit Bubble Plugin
    • Read Asset History
      • Read commits with Asset Profile
        • Embed social media into asset profile
      • Read commits via API
      • Read commits via nit module
      • Read commits via Bubble plugin
      • Get the merged AssetTree
    • Commit Asset History
      • Support Status
      • Commit via API
      • Commit via Nit module
      • Commit via Bubble plugin
    • More Tools
      • [NUM] Fetch NUM balance
      • [NUM] Transfer NUM from Custodial Wallet
      • [NUM] Check Staked Amount
      • [IPFS] Cat metadata from Nid/Cid
      • [IPFS] Create Metadata on IPFS
      • [IPFS] Check Nid/Cid on IPFS
      • [IPFS] Unpin Nid/Cid from IPFS
      • XMP parser
    • Working With Us
      • Job Opportunity
      • Reporting Security Vulnerability
Powered by GitBook
On this page
  1. Developers
  2. More Tools

[IPFS] Create Metadata on IPFS

Previous[IPFS] Cat metadata from Nid/CidNext[IPFS] Check Nid/Cid on IPFS

Last updated 1 year ago

This API allows you to create a Metadata file needed by NFT, on-chain records or other purposed, store it on the IPFS network through the Numbers Gateway (https://ipfs-pin.numbersprotocol.io/ipfs/) and keep it permanently stored. t requires either a fileURL or a file object along with a valid for authorization. If you do not already have a Capture Token yet, please follow provided to create one.

The Numbers API charges you only for the files you pin, making it a cost-effective solution. Payments are taken every 30 days from your and must be made in Credits or NUM. To avoid having your files unpinned, it's important to keep your wallet and have sufficient funds. If a payment fails, you will receive an email notification and have 10 days to deposit more funds.

Payment for services is processed using NUM; if you want to know how much it costs in USD, you can check or .

API Endpoint: https://eow75n0xni8ruiy.m.pipedream.net

Cost: 0.01 NUM + Gas (~0.004 NUM per transaction) per file per month. No Gas is required if paid with Credits.

Method: POST

Description:
This API allows you to create a Metadata file needed by NFT, on-chain records or other purposed, store it on the IPFS network through the Numbers Gateway.

Authentication:
This API requires a valid token for Authorization. The token should be passed in the headers of the request using the following format: "Authorization: token YOUR_CAPTURE_TOKEN"

Header:
Authorization: token $YOUR_CAPTURE_TOKEN (required)
Content-Type: application/json

Request Body:
Data in the body should be the metadata that you want to pin on IPFS. When sending the request, the body is a required component.

Example:
curl -X POST "https://eow75n0xni8ruiy.m.pipedream.net" \
     -H "Content-Type: application/json" \
     -H "Authorization: token YOUR_CAPTURE_TOKEN" \
     -d '{
          "name": "Numbers Co., Ltd.",
            "wallet": "0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1",
            "profile": "bafkreidedkuz2mim2pfetxkhy2ysq75ooqe73bnuz5izhs6wzxoi567hua",
          "social": {
              "website": "https://numbersprotocol.io",
              "twitter": "https://twitter.com/numbersprotocol"
            },
          "type": "provider",
          "information": "Numbers Protocol is a decentralised photo network, for creating community, value and trust in digital media."
     }'

Response:
{
    "fileURL": string, // URL of the pinned metadata
    "cid": string, // content identifier of the metadata file
    "fileSize": integer, // size of the metadata file
    "cid_version": integer // version of the cid
    "orderID": string // ID of this order
}

200: Metadata has been created and pinned successfully
400: Bad request
401: Unauthorized
403: Forbidden
500: Internal Server Error

In this example, you would replace YOUR_CAPTURE_TOKEN with your actual Capture token and the body with the actual metadata you want to create. More examples can be found below:

import requests

url = "https://eow75n0xni8ruiy.m.pipedream.net"
headers = {
    "Content-Type": "application/json",
    "Authorization": "token YOUR_CAPTURE_TOKEN"
}
data = {
    "name": "Numbers Co., Ltd.",
    "wallet": "0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1",
    "profile": "bafkreidedkuz2mim2pfetxkhy2ysq75ooqe73bnuz5izhs6wzxoi567hua",
    "social": {
        "website": "https://numbersprotocol.io",
        "twitter": "https://twitter.com/numbersprotocol"
    },
    "type": "provider",
    "information": "Numbers Protocol is a decentralised photo network, for creating community, value and trust in digital media."
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    response_json = response.json()
    print(response_json)
else:
    print("Request failed with status code:", response.status_code)
const https = require("https");
const data = JSON.stringify({
  name: "Numbers Co., Ltd.",
  wallet: "0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1",
  profile: "bafkreidedkuz2mim2pfetxkhy2ysq75ooqe73bnuz5izhs6wzxoi567hua",
  social: {
    website: "https://numbersprotocol.io",
    twitter: "https://twitter.com/numbersprotocol"
  },
  type: "provider",
  information: "Numbers Protocol is a decentralised photo network, for creating community, value and trust in digital media."
});

const options = {
  hostname: "eow75n0xni8ruiy.m.pipedream.net",
  port: 443,
  path: "/",
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "token YOUR_CAPTURE_TOKEN",
    "Content-Length": data.length
  }
};

const req = https.request(options, res => {
  let responseData = "";

  res.on("data", chunk => {
    responseData += chunk;
  });

  res.on("end", () => {
    const responseJson = JSON.parse(responseData);
    console.log(responseJson);
  });
});

req.on("error", error => {
  console.error(error);
});

req.write(data);
req.end();

🛠️
Capture Token
the instruction
Capture Account's Asset Wallet
topped up
CoinGecko
CoinMarketCap