This API is currently in closed beta and not publicly available

Carbon Offset Projects API

Access and manage carbon offset projects with our simple, powerful API. Built for developers, designed for impact.

quick-start.ts
package.json
const client = new OneTribeClient('YOUR_API_KEY')
// Fetch available carbon offset projects
const projects = await client.fetch('/projects/offset')
// Create a carbon offset transaction
const transaction = await client.fetch('/transactions', {
method: 'POST',
body: JSON.stringify({
project_id: projects.data[0].project_id,
transaction_type: 'purchase',
quantity: 100
})
})

Introduction

One Tribe Carbon Offset Projects API

Welcome to the One Tribe Carbon Offset Projects API documentation. This API enables you to browse carbon offset projects and manage offset transactions, providing essential data for integration with your applications.

Getting Started

Quick guide to making your first API request.

Authentication

Secure your requests with API key authentication.

Projects

Browse and retrieve carbon offset project data.

Transactions

Record and manage carbon offset transactions.

Overview

FeatureDetails
Base URLhttps://api.onetribe.com/v1
AuthenticationAPI Key via Authorisation header
FormatJSON
Rate Limits180 requests/minute, 10,800/hour, 120,000/day
UpdatesProject data refreshed hourly

Available APIs

Projects API

Read-only access to our catalogue of carbon offset projects:

EndpointMethodDescription
/projects/offsetGETList all carbon offset projects (paginated)
/projects/offset/{id}GETGet detailed information for a specific project

Transactions API

Note: The transactions API is currently in closed development. Contact us for early access.

Record and manage carbon offset transactions:

EndpointMethodDescription
/transactionsPOSTCreate a new transaction record
/transactionsGETList all transactions (paginated)
/transactions/{id}GETGet details of a specific transaction
/transactions/{id}DELETERemove a transaction record

TypeScript Support

All endpoints include TypeScript examples with:

  • Type definitions for requests and responses
  • Error handling with typed errors
  • URL parameter handling
  • Pagination support where applicable
// Example: Fetching a project
interface Project {
  project_id: string
  title: string
  description: string
  primary_image: string
  location_name: string
  country: string
  category: string
  registry_type: string
  min_volume: number
  pricing: {
    base_price_per_ton: number
    partner_margin_percentage: number
    partner_profit_per_ton: number
    end_customer_price_per_ton: number
    vat_rate: number
    total_price: number
  }
  project_status: string
}

const project = (await fetch(
  'https://api.onetribe.com/v1/projects/offset/123',
  {
    headers: {
      Authorisation: 'API-Key YOUR_API_KEY_HERE',
    },
  },
).then((res) => res.json())) as Project

Error Handling

All endpoints use standard HTTP status codes and return consistent error responses:

Status CodeCommon Usage
400Invalid request parameters
401Missing or invalid API key
403Valid key but insufficient permissions
404Resource not found
429Rate limit exceeded

Getting Started

  1. Request your API key
  2. Review the authentication requirements
  3. Explore the projects or transactions APIs
  4. Check the rate limiting guidelines

Need Help?