SDKs

Official SDKs for TypeScript, Python, Go, and Rust with full API coverage.

TypeScript/JavaScript
Full-featured SDK with TypeScript definitions

Installation

npm install @nobleid/sdk

Quick Example

npm install @nobleid/sdk import { NobleID } from '@nobleid/sdk' const client = new NobleID({ apiKey: process.env.NOBLEID_API_KEY, baseUrl: 'https://api.nobleid.org/v1' }) // Mint new work const work = await client.works.create({ title: 'My Research Paper', authors: [{ name: 'Dr. Jane Smith' }], abstract: 'This paper explores...', contentUrl: 'https://example.org/paper.pdf' }) // Resolve ARK const resolved = await client.resolve('ark:/nobleid/20092025/7X9K2Q')

Features

  • Full type safety
  • Promise-based API
  • Browser & Node.js
  • Built-in retry logic
Python
Pythonic SDK with async support

Installation

pip install nobleid-sdk

Quick Example

pip install nobleid-sdk from nobleid import NobleIDClient client = NobleIDClient( api_key=os.environ['NOBLEID_API_KEY'], base_url='https://api.nobleid.org/v1' ) # Mint new work work = client.works.create( title='My Research Paper', authors=[{'name': 'Dr. Jane Smith'}], abstract='This paper explores...', content_url='https://example.org/paper.pdf' ) # Resolve ARK resolved = client.resolve('ark:/nobleid/20092025/7X9K2Q')

Features

  • Async/await support
  • Type hints
  • Pydantic models
  • Automatic pagination
Go
Idiomatic Go SDK with context support

Installation

go get github.com/nobleid/go-sdk

Quick Example

go get github.com/nobleid/go-sdk package main import ( "github.com/nobleid/go-sdk/nobleid" ) func main() { client := nobleid.NewClient(&nobleid.Config{ APIKey: os.Getenv("NOBLEID_API_KEY"), BaseURL: "https://api.nobleid.org/v1", }) // Mint new work work, err := client.Works.Create(&nobleid.CreateWorkRequest{ Title: "My Research Paper", Authors: []nobleid.Author{{Name: "Dr. Jane Smith"}}, Abstract: "This paper explores...", ContentURL: "https://example.org/paper.pdf", }) // Resolve ARK resolved, err := client.Resolve("ark:/nobleid/20092025/7X9K2Q") }

Features

  • Context support
  • Structured errors
  • HTTP client reuse
  • JSON streaming
Rust
Memory-safe SDK with async runtime

Installation

nobleid-sdk = "0.1.0"

Quick Example

[dependencies] nobleid-sdk = "0.1.0" use nobleid_sdk::{NobleIDClient, CreateWorkRequest, Author}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let client = NobleIDClient::new( std::env::var("NOBLEID_API_KEY")?, "https://api.nobleid.org/v1" ); // Mint new work let work = client.works().create(CreateWorkRequest { title: "My Research Paper".to_string(), authors: vec![Author { name: "Dr. Jane Smith".to_string() }], abstract_text: Some("This paper explores...".to_string()), content_url: Some("https://example.org/paper.pdf".to_string()), ..Default::default() }).await?; // Resolve ARK let resolved = client.resolve("ark:/nobleid/20092025/7X9K2Q").await?; Ok(()) }

Features

  • Zero-cost abstractions
  • Tokio async
  • Serde integration
  • Strong typing
Community SDKs
Community-maintained SDKs for other languages

Don't see your language? The NOBLEID API is a standard REST API that works with any HTTP client. Check out our API reference orPostman collection to get started.