SDKs
Official SDKs for TypeScript, Python, Go, and Rust with full API coverage.
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
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
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
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.