Pixel DeckDocs
Dashboard

Clean water

Companies can match employee donations and double their impact. Local partners know their communities and make sure help arrives where it matters.

5 min read Updated Jun 1, 2026 v5.3.0

Overview

Monthly gifts let us plan ahead and respond quickly when disaster strikes. Thousands of donors already trust us, and we work hard to keep it that way. A school kit costs less than a cinema ticket and lasts a whole year. Our team has done this many times, so you never have to guess.

Installation

Install the SDK with the package manager your project already uses. It needs Node 18 or newer.

terminal
$ npm install @pixel-deck/sdk
terminal
$ yarn add @pixel-deck/sdk
terminal
$ pnpm add @pixel-deck/sdk
Using a server without Node? The same endpoints are available over plain HTTPS; see the API reference below.

Configuration

Clear prices, honest advice and no surprises along the way. Ninety cents of every dollar goes directly to the projects you support. Create a file named pixel-deck.config.json in the project root:

pixel-deck.config.json
{
  "project": "pixel-deck",
  "region": "ap-south",
  "categories": ["education", "health", "environment"],
  "retries": 4,
  "timeoutMs": 10000,
  "webhooks": { "enabled": true }
}
OptionTypeDefaultDescription
projectstring-Your project key from the dashboard.
regionstring"us-east"Data centre closest to your donors.
retriesnumber3How often a failed call is retried.
timeoutMsnumber10000Time before a request is cancelled.
webhooks.enabledbooleanfalseSend events to your endpoint.

Your first request

Volunteers give their time in schools, shelters and food banks every week.

  1. Create an API keyOpen the dashboard, choose Settings › API keys and copy a new secret key.
  2. Store it safelyKeep the key in an environment variable, never in your source code.
  3. Make the callRun the snippet below; it prints the first page of results.
index.js
import { Client } from "@pixel-deck/sdk";

const client = new Client({ apiKey: process.env.API_KEY });

// list the newest campaigns in one category
const page = await client.campaigns.list({ category: "education", limit: 20 });

for (const item of page.data) {
  console.log(item.name, item.price);
}
Heads up: test keys only return sample data. Switch to a live key before you go to production.

API reference

Every endpoint returns JSON and uses standard HTTP status codes.

GET/v1/campaignsList campaigns with paging and filters.
POST/v1/campaignsCreate a new campaign.
PATCH/v1/campaigns/{id}Update some fields of a campaign.
DELETE/v1/campaigns/{id}Archive a campaign; it can be restored for 30 days.
response.json
{
  "data": [
    { "id": "campaign_2347", "name": "Meal pack", "price": 354 }
  ],
  "has_more": true
}

Troubleshooting

You receive photos and updates showing exactly what your donation achieved. We have helped more than two hundred thousand people since we started.

Every detail is handled by people who care about getting it right. Every donation is tax-deductible, and receipts arrive by email instantly.

We listen first, then build a plan around what you actually need. Start in minutes and get help from a real person whenever you need it.

Next steps

Leave a gift in your will and help future generations.

Was this page helpful?
All screens