1<!DOCTYPE html><html data-dpl-id="dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd" lang="en" class="sora_90533d02-module__OwJU1G__variable manrope_29ad9f4d-module__g1-kua__variable dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/immutable/media/6bd983bd58a87a3d-s.p.20t--8215-jwd.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/immutable/media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ffl2%402x.png&w=32&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 32w, /_next/image?url=%2Ffl2%402x.png&w=48&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 48w, /_next/image?url=%2Ffl2%402x.png&w=64&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 64w, /_next/image?url=%2Ffl2%402x.png&w=96&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 96w, /_next/image?url=%2Ffl2%402x.png&w=128&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 128w, /_next/image?url=%2Ffl2%402x.png&w=256&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 256w, /_next/image?url=%2Ffl2%402x.png&w=384&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 384w, /_next/image?url=%2Ffl2%402x.png&w=640&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 640w, /_next/image?url=%2Ffl2%402x.png&w=750&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 750w, /_next/image?url=%2Ffl2%402x.png&w=828&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 828w, /_next/image?url=%2Ffl2%402x.png&w=1080&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1080w, /_next/image?url=%2Ffl2%402x.png&w=1200&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1200w, /_next/image?url=%2Ffl2%402x.png&w=1920&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1920w, /_next/image?url=%2Ffl2%402x.png&w=2048&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 2048w, /_next/image?url=%2Ffl2%402x.png&w=3840&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 3840w" imageSizes="70px"/><link rel="stylesheet" href="/_next/static/immutable/chunks/0fhv7l21vlif5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/immutable/chunks/2qq72eeo_7yha.js"/>
1<script src="/_next/static/immutable/chunks/1qfu1jk5bcenr.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2xmb21q-zpa6p.js" async=""></script>
1<script src="/_next/static/immutable/chunks/01852k31_e818.js" async=""></script>
1<script src="/_next/static/immutable/chunks/turbopack-3c_2f53gm0f0-.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0vwm3tbpxhx-2.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/2e7vt4i9x_wjc.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/3kv1_6kuhv7fm.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/04eokba6m7qq4.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/2zc6rxvc_f_4z.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/35z0syqz5fx8b.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/0yfxkn7hcmz64.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/1fw_xduzzwce-.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/0iu5lvqjkar_e.js" async="" crossorigin=""></script>
1<script src="/_next/static/immutable/chunks/24e1wwkfpot7h.js" async="" crossorigin=""></script>
1<title>Developer overview â Ardent Africa Docs</title><meta name="description" content="The Ardent Africa public API and embeddable widgets, at a glance."/><meta name="application-name" content="Ardent Africa Docs"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://docs.ardent.africa/docs/developers"/><meta property="og:title" content="Developer overview"/><meta property="og:description" content="The Ardent Africa public API and embeddable widgets, at a glance."/><meta property="og:url" content="https://docs.ardent.africa/docs/developers"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Ardent Africa Docs"/><meta name="twitter:description" content="Guides and developer documentation for the Ardent Africa platform."/><link rel="icon" href="/ardent_africa_favicon_.png" type="image/png"/><link rel="apple-touch-icon" href="/ardent_africa_favicon_.png" sizes="180x180" type="image/png"/><meta name="next-size-adjust" content=""/>
1<script src="/_next/static/immutable/chunks/0c0hxoamwjsbw.js" noModule=""></script>
1</head><body class="flex min-h-screen flex-col"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,false,true)</script>
1<!--$--><div class="bg-fd-secondary/50 p-3 empty:hidden"></div><!--/$--><div id="nd-docs-layout" data-sidebar-collapsed="false" data-column-changed="false" style="grid-template:"sidebar sidebar header toc toc" 2"sidebar sidebar toc-popover toc toc" 3"sidebar sidebar main toc toc" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-width) - var(--fd-toc-width))) var(--fd-toc-width) minmax(min-content, 1fr);--fd-docs-row-1:var(--fd-banner-height, 0px);--fd-docs-row-2:calc(var(--fd-docs-row-1) + var(--fd-header-height));--fd-docs-row-3:calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height));--fd-sidebar-col:var(--fd-sidebar-width)" class="grid overflow-x-clip min-h-(--fd-docs-height) [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-toc-popover-height:0px] [--fd-sidebar-width:0px] [--fd-toc-width:0px] data-[column-changed=true]:transition-[grid-template-columns]"><header id="nd-subnav" data-transparent="false" class="[grid-area:header] sticky top-(--fd-docs-row-1) z-30 flex items-center ps-4 pe-2.5 border-b transition-colors backdrop-blur-sm h-(--fd-header-height) md:hidden max-md:layout:[--fd-header-height:--spacing(14)] data-[transparent=false]:bg-fd-background/80"><a class="inline-flex items-center gap-2.5 font-semibold" href="/"><span class="inline-flex items-center gap-2.5 font-[var(--font-sora)] font-semibold tracking-tight"><span class="relative inline-flex shrink-0 " style="width:70px;height:28px;min-width:70px;min-height:28px"><img alt="Ardent Africa" decoding="async" data-nimg="fill" class="object-contain object-left" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="70px" srcSet="/_next/image?url=%2Ffl2%402x.png&w=32&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 32w, /_next/image?url=%2Ffl2%402x.png&w=48&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 48w, /_next/image?url=%2Ffl2%402x.png&w=64&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 64w, /_next/image?url=%2Ffl2%402x.png&w=96&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 96w, /_next/image?url=%2Ffl2%402x.png&w=128&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 128w, /_next/image?url=%2Ffl2%402x.png&w=256&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 256w, /_next/image?url=%2Ffl2%402x.png&w=384&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 384w, /_next/image?url=%2Ffl2%402x.png&w=640&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 640w, /_next/image?url=%2Ffl2%402x.png&w=750&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 750w, /_next/image?url=%2Ffl2%402x.png&w=828&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 828w, /_next/image?url=%2Ffl2%402x.png&w=1080&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1080w, /_next/image?url=%2Ffl2%402x.png&w=1200&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1200w, /_next/image?url=%2Ffl2%402x.png&w=1920&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1920w, /_next/image?url=%2Ffl2%402x.png&w=2048&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 2048w, /_next/image?url=%2Ffl2%402x.png&w=3840&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 3840w" src="/_next/image?url=%2Ffl2%402x.png&w=3840&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd"/></span><span class="text-fd-foreground">Docs</span></span></a><div class="flex-1"></div><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4.5 p-2" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button><button type="button" aria-label="Open Sidebar" aria-expanded="false" aria-controls="nd-sidebar-mobile" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4.5 p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></header><div data-sidebar-placeholder="" class="sticky top-(--fd-docs-row-1) z-20 [grid-area:sidebar] pointer-events-none *:pointer-events-auto h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] md:layout:[--fd-sidebar-width:268px] max-md:hidden"><aside id="nd-sidebar" data-collapsed="false" data-hovered="false" class="absolute flex flex-col w-full inset-s-0 inset-y-0 items-end bg-fd-card text-sm border-e duration-250 *:w-(--fd-sidebar-width)"><div class="flex flex-col gap-3 p-4 pb-2"><div class="flex"><a class="inline-flex text-[0.9375rem] items-center gap-2.5 font-medium me-auto" href="/"><span class="inline-flex items-center gap-2.5 font-[var(--font-sora)] font-semibold tracking-tight"><span class="relative inline-flex shrink-0 " style="width:70px;height:28px;min-width:70px;min-height:28px"><img alt="Ardent Africa" decoding="async" data-nimg="fill" class="object-contain object-left" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="70px" srcSet="/_next/image?url=%2Ffl2%402x.png&w=32&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 32w, /_next/image?url=%2Ffl2%402x.png&w=48&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 48w, /_next/image?url=%2Ffl2%402x.png&w=64&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 64w, /_next/image?url=%2Ffl2%402x.png&w=96&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 96w, /_next/image?url=%2Ffl2%402x.png&w=128&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 128w, /_next/image?url=%2Ffl2%402x.png&w=256&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 256w, /_next/image?url=%2Ffl2%402x.png&w=384&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 384w, /_next/image?url=%2Ffl2%402x.png&w=640&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 640w, /_next/image?url=%2Ffl2%402x.png&w=750&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 750w, /_next/image?url=%2Ffl2%402x.png&w=828&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 828w, /_next/image?url=%2Ffl2%402x.png&w=1080&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1080w, /_next/image?url=%2Ffl2%402x.png&w=1200&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1200w, /_next/image?url=%2Ffl2%402x.png&w=1920&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 1920w, /_next/image?url=%2Ffl2%402x.png&w=2048&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 2048w, /_next/image?url=%2Ffl2%402x.png&w=3840&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd 3840w" src="/_next/image?url=%2Ffl2%402x.png&w=3840&q=75&dpl=dpl_3QCSWMJ2J4RYRDHKfWn46xapXQLd"/></span><span class="text-fd-foreground">Docs</span></span></a><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 mb-auto text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div><button type="button" data-search-full="" class="inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="rounded-md border bg-fd-background px-1.5">â</kbd><kbd class="rounded-md border bg-fd-background px-1.5">K</kbd></div></button></div><div dir="ltr" class="overflow-hidden min-h-0 flex-1" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] *:flex! *:flex-col! *:gap-0.5! p-4 overscroll-contain mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/guides">Guides</a><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/developers">Developers</a><a href="https://ardent.africa" rel="noreferrer noopener" target="_blank" data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors mb-4" style="padding-inline-start:calc(2 * var(--spacing))"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link" aria-hidden="true"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>ardent.africa</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs">Documentation</a><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Guides<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_2kqaknmlb_" hidden="" class="overflow-hidden relative before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="open"><button type="button" aria-controls="radix-_R_3kqaknmlb_" aria-expanded="true" data-state="open" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Developers<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="open" id="radix-_R_3kqaknmlb_" class="overflow-hidden relative before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"><div class="flex flex-col gap-0.5 pt-0.5"><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers">Developer overview</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/authentication">Authentication</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/rate-limits">Rate limits</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/versioning">Versioning</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/errors">The error envelope</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/endpoints">Endpoint reference</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/openapi">OpenAPI spec</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/mcp">MCP server</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/sdks">SDKs</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/widgets">Widgets</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/oembed">oEmbed (auto-embed)</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/wordpress">WordPress plugin</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/automation">Automation (Zapier)</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/webhooks">Webhooks</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/terms">API terms and acceptable use</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:inset-s-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/developers/changelog">Changelog</a></div></div></div></div></div></div><div class="flex flex-col p-4 pt-2"><div class="flex text-fd-muted-foreground items-center border bg-fd-secondary/50 p-0.5 pe-0 rounded-lg empty:hidden"><button class="inline-flex items-center border p-1 overflow-hidden px-1 py-0 border-y-0 border-e-0 rounded-none ms-auto *:rounded-md" aria-label="Toggle Theme" data-theme-toggle=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button></div></div></aside></div>
3<div data-sidebar-panel="" class="fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] inset-s-4 shadow-lg transition-opacity rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10 pointer-events-none opacity-0"><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button><button type="button" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-4.5 rounded-lg" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button></div><div data-state="closed" data-toc-popover="" class="sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]"><header class="border-b backdrop-blur-sm transition-colors bg-fd-background/80"><button type="button" aria-expanded="false" data-state="closed" class="flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&_svg]:size-4 md:px-6" data-toc-popover-trigger=""><svg role="progressbar" viewBox="0 0 18 18" aria-valuenow="0" aria-valuemin="0" aria-valuemax="1" style="width:18px;height:18px" class="shrink-0"><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" class="stroke-current/25"></circle><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" stroke="currentColor" stroke-dasharray="47.12388980384689" stroke-dashoffset="47.12388980384689" stroke-linecap="round" transform="rotate(-90 9 9)" class="transition-all"></circle></svg><span class="grid flex-1 *:my-auto *:row-start-1 *:col-start-1"><span class="truncate transition-[opacity,translate,color]">Developer overview</span><span class="truncate transition-[opacity,translate] opacity-0 translate-y-full pointer-events-none"></span></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down shrink-0 transition-transform mx-0.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_lfiv4nmlb_" hidden="" data-toc-popover-content="" class="overflow-hidden"></div></header></div><main class="contents"><article id="nd-page" data-full="false" class="flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14"><div class="flex items-center gap-1.5 text-sm text-fd-muted-foreground"><span class="truncate text-fd-primary font-medium">Developers</span></div>
3<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Developer overview","description":"The Ardent Africa public API and embeddable widgets, at a glance.","url":"https://docs.ardent.africa/docs/developers","dateModified":"2026-08-24T21:31:22.000Z","publisher":{"@type":"Organization","name":"Ardent Africa","url":"https://ardent.africa"}}</script>
3<h1 class="text-[1.75em] font-semibold">Developer overview</h1><p class="mb-8 text-lg text-fd-muted-foreground">The Ardent Africa public API and embeddable widgets, at a glance.</p><div class="prose flex-1"><p>The Ardent Africa public API is a small, read-only, versioned API for building on top 4of the platform. It exposes campaigns, petitions, marketplace listings, events, blog 5posts, public profiles, and platform statistics, all as safe projections. There are no 6write operations and no access to private, donor, or attendee data.</p> 7<p>Base URL:</p> 8<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span>https://api.ardent.africa/public/v1</span></span></code></pre></div></figure> 9<h2 id="what-you-can-do" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#what-you-can-do">What you can do</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2> 10<ul> 11<li>List and read active campaigns.</li> 12<li>List and read petitions, with aggregate signature stats.</li> 13<li>List and read active marketplace listings and categories.</li> 14<li>List and read published events, with public ticket-tier details.</li> 15<li>List and read published blog posts.</li> 16<li>List and read public durbars (live audio rooms), including who spoke in them.</li> 17<li>Read the machine transcript of a recorded durbar.</li> 18<li>Read public supporter profiles.</li> 19<li>Read platform-level statistics.</li> 20<li>Embed campaign, petition, event, poll, durbar and other widgets on your own site.</li> 21<li>Use the official <a href="/docs/developers/sdks">SDKs</a> (JavaScript/TypeScript and PHP) or the 22<a href="/docs/developers/automation">Zapier app</a> instead of calling the API by hand.</li> 23</ul> 24<h2 id="what-you-cannot-do" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#what-you-cannot-do">What you cannot do</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2> 25<p>By design, the public API never exposes donations, donor or signer personal data, 26payments, admin functions, or any write operation. If you need those, you are looking 27for a private integration, which this API does not provide.</p> 28<p><strong>You cannot join a durbar, and no key will ever let you.</strong> This page used to say Durbar had 29no public API at all, on the grounds that joining a room needs a short-lived token only our own 30clients are issued. Reading was never the problem, and reading now ships: see 31<a href="/docs/developers/endpoints#durbars">Durbars</a>. Joining still is. A token is scoped to a room, an 32identity and a permission set, and an API key has no actor, no trust level, no block 33relationships and nobody to show a recording consent notice to. Reading about a public room is a 34public act; entering one is not.</p> 35<p><strong>You cannot see who is listening to anything.</strong> Speakers are named on the API because they 36talked in public into a recording that is itself public and indexed. Listeners are only ever a 37number, and only once a room has ended. Raised hands are not readable by this
37surface at the 38database level, because knowing that somebody asked to speak in a known room identifies them.</p> 39<h2 id="quick-start" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#quick-start">Quick start</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2> 40<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># No key needed to try it (low rate limit applies)</span></span> 41<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://api.ardent.africa/public/v1/campaigns?limit=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5</span></span> 42<span class="line"></span> 43<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># With a key for higher limits</span></span> 44<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "x-api-key: <YOUR_API_KEY>"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span> 45<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://api.ardent.africa/public/v1/campaigns?limit=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5</span></span></code></pre></div></figure> 46<p>Next: <a href="/docs/developers/authentication">authentication</a>, 47<a href="/docs/developers/rate-limits">rate limits</a>, the full 48<a href="/docs/developers/endpoints">endpoint reference</a>, the machine-readable 49<a href="/docs/developers/openapi">OpenAPI spec</a> for codegen, the official 50<a href="/docs/developers/sdks">SDKs</a>, and <a href="/docs/developers/automation">Zapier automation</a>.</p><p class="mt-10 border-t border-fd-border pt-4 text-sm text-fd-muted-foreground">Last updated:<!-- --> <!-- -->24 August 2026</p></div><div class="@container grid gap-4 grid-cols-2"><a class="flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full" href="/docs/guides/faqs"><div class="inline-flex items-center gap-1.5 font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left -mx-1 size-4 shrink-0 rtl:rotate-180" aria-hidden="true"><path d="m15 18-6-6 6-6"></path></svg><p>FAQs and troubleshooting</p></div><p class="text-fd-muted-foreground truncate">Common questions, fixes, and how to reach support.</p></a><a class="flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full text-end" href="/docs/developers/authentication"><div class="inline-flex items-center gap-1.5 font-medium flex-row-reverse"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -mx-1 size-4 shrink-0 rtl:rotate-180" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><p>Authentication</p></div><p class="text-fd-muted-foreground truncate">How to request and use an Ardent Africa public API key.</p></a></div></article></main><div id="nd-toc" class="sticky top-(--fd-docs-row-1) h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] flex flex-col [grid-area:toc] w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden"><h3 id="toc-title" class="inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-align-start size-4" aria-hidden="true"><path d="M21 5H3"></path><path d="M15 12H3"></path><path d="M17 19H3"></path></svg>On this page</h3><div class="relative min-h-0 text-sm ms-px overflow-auto overscroll-contain [scrollbar-width:none] mask-[linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent)] py-3"><div class="relative flex flex-col"><a data-active="false" href="#what-you-can-do" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary pt-0" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground
50/10"></line></svg>What you can do</a><a data-active="false" href="#what-you-cannot-do" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground/10"></line></svg>What you cannot do</a><a data-active="false" href="#quick-start" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary pb-0" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground/10"></line></svg>Quick start</a></div></div></div><!--$--><!--/$--></div><button type="button" aria-label="Open support chat" class="fixed bottom-5 right-5 z-50 flex items-center gap-2 rounded-full px-4 py-3 font-[var(--font-sora)] text-sm font-semibold shadow-lg transition hover:brightness-95 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2" style="background-color:var(--ardent-gold);color:#1b1505"><svg class="size-5" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M21 12a8 8 0 0 1-11.6 7.1L3 21l1.9-6.4A8 8 0 1 1 21 12Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path></svg><span class="hidden sm:inline">Ask Ardent</span></button>
50<script src="/_next/static/immutable/chunks/2qq72eeo_7yha.js" id="_R_" async=""></script>
50<script>(self.__next_f=self.__next_f||[]).push([0])</script>
50<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[80024,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"RootProvider\"]\n3:I[128001,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"default\"]\n4:I[527807,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"default\"]\n5:I[177102,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"SupportChat\"]\n6:I[575682,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\"],\"LayoutBody\"]\nd:I[953430,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"default\",1]\n:HL[\"/_next/static/immutable/chunks/0fhv7l21vlif5.css\",\"style\"]\n:HL[\"/_next/static/immutable/media/6bd983bd58a87a3d-s.p.20t--8215-jwd.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"docs\",\"developers\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"developers\",\"oc\",[]],{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/0fhv7l21vlif5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"sora_90533d02-module__OwJU1G__variable manrope_29ad9f4d-module__g1-kua__variable dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"flex min-h-screen flex-col\",\"children\":[\"$\",\"$L2\",null,{\"theme\":{\"defaultTheme\":\"dark\",\"enableSystem\":false},\"children\":[[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\"
50:\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"tree\":{\"type\":\"root\",\"$ref\":{\"folder\":\"\",\"meta\":\"meta.json\"},\"$id\":\"root\",\"name\":\"Ardent Africa Docs\",\"description\":\"$undefined\",\"children\":[{\"$id\":\"index.mdx\",\"type\":\"page\",\"name\":\"Documentation\",\"description\":\"Guides for supporters and developer documentation for the Ardent Africa public API and widgets.\",\"icon\":\"$undefined\",\"url\":\"/docs\",\"$ref\":\"index.mdx\"},{\"type\":\"folder\",\"name\":\"Guides\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"guides/index.mdx\",\"type\":\"page\",\"name\":\"Guides overview\",\"description\":\"Everything you need to use Ardent Africa as a supporter or campaign creator.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides\",\"$ref\":\"guides/index.mdx\"},{\"$id\":\"guides/getting-started.mdx\",\"type\":\"page\",\"name\":\"Getting started\",\"description\":\"Create an Ardent Africa account and learn your way around the platform.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/getting-started\",\"$ref\":\"guides/getting-started.mdx\"},{\"$id\":\"guides/generate-ai-cover.mdx\",\"type\":\"page\",\"name\":\"Generate a cover image with AI\",\"description\":\"No photo on hand? Generate a fitting cover image for your campaign from its own title and description.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/generate-ai-cover\",\"$ref\":\"guides/generate-ai-cover.mdx\"},{\"$id\":\"guides/accounts.mdx\",\"type\":\"page\",\"name\":\"Account types\",\"description\":\"Personal, NGO, and corporate accounts on Ardent Africa.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/accounts\",\"$ref\":\"guides/accounts.mdx\"},{\"$id\":\"guides/organisations.mdx\",\"type\":\"page\",\"name\":\"Organisations (NGOs and companies)\",\"description\":\"Your public hub, verification, teams, CSR pledges, matching, and co-sponsorship as an NGO or company on Ardent Africa.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/organisations\",\"$ref\":\"guides/organisations.mdx\"},{\"$id\":\"guides/donating.mdx\",\"type\":\"page\",\"name\":\"Donating to a campaign\",\"description\":\"Payment methods, tips, fee cover, and dedications when you give.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/donating\",\"$ref\":\"guides/donating.mdx\"},{\"$id\":\"guides/campaigns-create-a-fundraiser.mdx\",\"type\":\"page\",\"name\":\"Create a fundraiser\",\"description\":\"Take a fundraising campaign from a blank page to a live, verified page that can receive money.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/campaigns-create-a-fundraiser\",\"$ref\":\"guides/campaigns-create-a-fundraiser.mdx\"},{\"$id\":\"guides/petitions.mdx\",\"type\":\"page\",\"name\":\"Petitions\",\"description\":\"Sign petitions, share them, and create one where allowed.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/petitions\",\"$ref\":\"guides/petitions.mdx\"},{\"$id\":\"guides/share-links.mdx\",\"type\":\"page\",\"name\":\"Share links \u0026 click tracking\",\"description\":\"Short, trackable ardent.africa/s/ links for your campaigns, and the analytics behind them.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/share-links\",\"$ref\":\"guides/share-links.mdx\"},{\"$id\":\"guides/foundation.mdx\",\"type\":\"page\",\"name\":\"Foundation giving\",\"description\":\"What the Ardent Africa Foundation is, the work it funds across Africa, and how to give.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/foundation\",\"$ref\":\"guides/foundation.mdx\"},{\"$id\":\"guides/marketplace-list-service.mdx\",\"type\":\"page\",\"name\":\"List a service on the marketplace\",\"description\":\"Create a marketplace listing so buyers can find, favourite, and enquire about your services.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/marketplace-list-service\",\"$ref\":\"guides/marketplace-list-service.mdx\"},{\"$id\":\"guides/marketplace-book-service.mdx\",\"type\":\"page\",\"name\":\"Book or enquire about a service\",\"description\":\"Find a service, ask questions, book it, and confirm the outcome afterwards.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/marketplace-book-service\",\"$ref\":\"guides/marketplace-book-service.mdx\"},{\"$id\":\"guides/events-create-sell-tickets.mdx\",\"type\":\"page\",\"name\":\"Create and sell event tickets\",\"description\":\"Publish an event, add ticket tiers, and sell tickets that settle straight to your own payment account.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/events-create-sell-tickets\",\"$ref\":\"guides/events-create-sell-tickets.mdx\"},{\"$id\":\"guides/events-register-buy-ticket.mdx\",\"type\":\"page\",\"name\":\"Register for or buy a ticket to an event\",\"description\":\"Find an event, register for free, or buy a ticket and get checked in.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/events-register-buy-ticket\",\"$ref\":\"guides/events-register-buy-ticket.mdx\"},{\"$id\":\"guides/jobs-find-and-apply.mdx\",\"type\":\"page\",\"name\":\"Find a job and build your profile\",\"description\":\"Search jobs across Africa, build a standout candidate profile that employers can find, and apply.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/jobs-find-and-apply\",\"$ref\":\"guides/jobs-find-and-apply.mdx\"},{\"$id\":\"guides/jobs-post-a-job.mdx\",\"type\":\"page\",\"name\":\"Post a job and hire\",\"description\":\"Create a public company profile, post roles, and find candidates on Arde
50nt Africa.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/jobs-post-a-job\",\"$ref\":\"guides/jobs-post-a-job.mdx\"},{\"$id\":\"guides/reviews-write-a-review.mdx\",\"type\":\"page\",\"name\":\"Write a review\",\"description\":\"Share your experience with a business, school, hospital, or NGO on Ardent Reviews.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/reviews-write-a-review\",\"$ref\":\"guides/reviews-write-a-review.mdx\"},{\"$id\":\"guides/reviews-claim-your-listing.mdx\",\"type\":\"page\",\"name\":\"Claim your listing on Ardent Reviews\",\"description\":\"Verify that you represent a business, school, hospital, or NGO so you can respond to reviews and manage its page.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/reviews-claim-your-listing\",\"$ref\":\"guides/reviews-claim-your-listing.mdx\"},{\"$id\":\"guides/reviews-manage-your-listing.mdx\",\"type\":\"page\",\"name\":\"Manage your business listing\",\"description\":\"Add opening hours, services, photos, attributes, verification badges, and more to your Ardent Reviews listing.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/reviews-manage-your-listing\",\"$ref\":\"guides/reviews-manage-your-listing.mdx\"},{\"$id\":\"guides/reviews-trust-score.mdx\",\"type\":\"page\",\"name\":\"How TrustScore is calculated\",\"description\":\"The methodology behind the TrustScore shown on every Ardent Reviews listing.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/reviews-trust-score\",\"$ref\":\"guides/reviews-trust-score.mdx\"},{\"$id\":\"guides/profiles.mdx\",\"type\":\"page\",\"name\":\"Your profile and settings\",\"description\":\"Supporter profiles, achievements, notifications, and privacy settings.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/profiles\",\"$ref\":\"guides/profiles.mdx\"},{\"$id\":\"guides/social.mdx\",\"type\":\"page\",\"name\":\"Ardent Social\",\"description\":\"Your @handle, posting to an audience you choose, following, connecting, and communities.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/social\",\"$ref\":\"guides/social.mdx\"},{\"$id\":\"guides/polls-and-surveys.mdx\",\"type\":\"page\",\"name\":\"Polls \u0026 Surveys\",\"description\":\"Asking a question and getting an honest answer: anonymous or identified, who can answer, when results appear, and what can be undone.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/polls-and-surveys\",\"$ref\":\"guides/polls-and-surveys.mdx\"},{\"$id\":\"guides/durbar.mdx\",\"type\":\"page\",\"name\":\"Durbar: live audio rooms\",\"description\":\"Opening a live audio room, who can hear it, what it costs to listen, what recording means, and what happens to the replay afterwards.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/durbar\",\"$ref\":\"guides/durbar.mdx\"},{\"$id\":\"guides/ardent-safety.mdx\",\"type\":\"page\",\"name\":\"Ardent Safety: hazards and missing persons\",\"description\":\"How to report a hazard or a missing person, how checked each report is, how to take down a page about yourself, and the one thing Ardent cannot do for you.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/ardent-safety\",\"$ref\":\"guides/ardent-safety.mdx\"},{\"$id\":\"guides/safety.mdx\",\"type\":\"page\",\"name\":\"Trust, verification, and how funds work\",\"description\":\"Verification, donor protection, and where your money goes.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/safety\",\"$ref\":\"guides/safety.mdx\"},{\"$id\":\"guides/support-tickets.mdx\",\"type\":\"page\",\"name\":\"Get help and open a support ticket\",\"description\":\"Search the Help Center, follow a tutorial, or open a ticket and get answers by email.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/support-tickets\",\"$ref\":\"guides/support-tickets.mdx\"},{\"$id\":\"guides/service-status.mdx\",\"type\":\"page\",\"name\":\"Service status\",\"description\":\"Check the live status of the Ardent Africa platform and subscribe to updates.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/service-status\",\"$ref\":\"guides/service-status.mdx\"},{\"$id\":\"guides/faqs.mdx\",\"type\":\"page\",\"name\":\"FAQs and troubleshooting\",\"description\":\"Common questions, fixes, and how to reach support.\",\"icon\":\"$undefined\",\"url\":\"/docs/guides/faqs\",\"$ref\":\"guides/faqs.mdx\"}],\"$id\":\"guides\",\"$ref\":{\"folder\":\"guides\",\"meta\":\"guides/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Developers\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"developers/index.mdx\",\"type\":\"page\",\"name\":\"Developer overview\",\"description\":\"The Ardent Africa public API and embeddable widgets, at a glance.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers\",\"$ref\":\"developers/index.mdx\"},{\"$id\":\"developers/authentication.mdx\",\"type\":\"page\",\"name\":\"Authentication\",\"description\":\"How to request and use an Ardent Africa public API key.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/authentication\",\"$ref\":\"developers/authentication.mdx\"},{\"$id\":\"developers/rate-limits.mdx\",\"type\":\"page\",\"name\":\"Rate limits\",\"description\":\"Per-IP and per-key request limits for the public API.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/rate-limits\",\"$ref\":\"developers/rate-limits.mdx\"},{\"$id\":\"developers/versioning.mdx\",\"type\":\"page\",\"name\":\"Versioning\",\"description\":\"How the public API is versioned and how changes are rolled out.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/versioning\",\"$ref\":\"developers/versioning.mdx\"},{\"$id\":\"developers/errors.mdx\",\"type\":\"page\",\"name\":\"The error envelope\",\"description\":\"The consistent error shape returned by the public API.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/errors\",\"$ref\":\"developers/errors.mdx\"},{\"$id\":\"developers/endpoints.mdx\",\"type\":\"page\",\"name\":\"Endpoint reference\",\"description\":\"Every public API endpoint, its parameters, and its exact response shape.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/endpoints\",\"$ref\":\"developers/endpoints.mdx\"},{\"$id\":\"developers/openapi.mdx\",\"type\":\"page\",\"name\":\"OpenAPI spec\",\"description\":\"The machine-readable contract for the public API, for codegen and tooling.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/openapi\",\"$ref\":\"developers/openapi.mdx\"},{\"$id\":\"developers/mcp.mdx\",\"type\":\"page\",\"name\":\"MCP server\",\"description\":\"Connect an AI agent to Ardent Africa's public data over the Model Context Protocol.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/mcp\",\"$ref\":\"developers/mcp.mdx\"},{\"$id\":\"developers/sdks.mdx\",\"type\":\"page\",\"name\":\"SDKs\",\"description\":\"Official typed, read-only client libraries for JavaScript/TypeScript and PHP.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/sdks\",\"$ref\":\"developers/sdks.mdx\"},{\"$id\":\"developers/widgets.mdx\",\"type\":\"page\",\"name\":\"Widgets\",\"description\":\"Embed campaigns, petitions, events, jobs, listings, reviews, blog posts, and profiles with an iframe or script tag.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/widgets\",\"$ref\":\"developers/widgets.mdx\"},{\"$id\":\"developers/oembed.mdx\",\"type\":\"page\",\"name\":\"oEmbed (auto-embed)\",\"description\":\"Paste an Ardent link and have it render as a rich card automatically.\",\"
50icon\":\"$undefined\",\"url\":\"/docs/developers/oembed\",\"$ref\":\"developers/oembed.mdx\"},{\"$id\":\"developers/wordpress.mdx\",\"type\":\"page\",\"name\":\"WordPress plugin\",\"description\":\"Install the Ardent Africa WordPress plugin and embed live campaigns, petitions, events, causes, listings, and supporter badges.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/wordpress\",\"$ref\":\"developers/wordpress.mdx\"},{\"$id\":\"developers/automation.mdx\",\"type\":\"page\",\"name\":\"Automation (Zapier)\",\"description\":\"Connect Ardent campaigns, petitions, and events to thousands of apps with Zapier.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/automation\",\"$ref\":\"developers/automation.mdx\"},{\"$id\":\"developers/webhooks.mdx\",\"type\":\"page\",\"name\":\"Webhooks\",\"description\":\"Get Ardent events pushed to your server, signed and verifiable.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/webhooks\",\"$ref\":\"developers/webhooks.mdx\"},{\"$id\":\"developers/terms.mdx\",\"type\":\"page\",\"name\":\"API terms and acceptable use\",\"description\":\"The rules for using the Ardent Africa public API and widgets.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/terms\",\"$ref\":\"developers/terms.mdx\"},{\"$id\":\"developers/changelog.mdx\",\"type\":\"page\",\"name\":\"Changelog\",\"description\":\"Notable changes to the Ardent Africa public API and widgets.\",\"icon\":\"$undefined\",\"url\":\"/docs/developers/changelog\",\"$ref\":\"developers/changelog.mdx\"}],\"$id\":\"developers\",\"$ref\":{\"folder\":\"developers\",\"meta\":\"developers/meta.json\"},\"icon\":\"$undefined\"}]},\"tabs\":[],\"tabMode\":\"$undefined\",\"sidebar\":{},\"nav\":{\"title\":\"$L7\"},\"links\":[{\"text\":\"Guides\",\"url\":\"/docs/guides\",\"active\":\"nested-url\"},{\"text\":\"Developers\",\"url\":\"/docs/developers\",\"active\":\"nested-url\"},{\"text\":\"ardent.africa\",\"url\":\"https://ardent.africa\",\"external\":true}],\"children\":\"$L8\"}]]}],{\"children\":[\"$L9\",{\"children\":[\"$La\",{},null,false,null]},null,false,\"$b\"]},null,false,null]},null,false,null],\"$Lc\",false]],\"m\":\"$undefined\",\"G\":[\"$d\",[\"$Le\"]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\nf:I[265868,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\"],\"DocsLogo\"]\n11:I[598429,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"OutletBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[598429,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"ViewportBoundary\"]\n16:I[598429,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"MetadataBoundary\"]\n7:[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-2.5 font-[var(--font-sora)] font-semibold tracking-tight\",\"children\":[[\"$\",\"$Lf\",null,{\"size\":28,\"priority\":true}],[\"$\",\"span\",null,{\"className\":\"text-fd-foreground\",\"children\":\"Docs\"}]]}]\n8:[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[\"$L10\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@13\"}]}]]}]\nc:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L17\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\ne:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/0fhv7l21vlif5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n18:I[371738,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"DocsPage\"]\n19:I[371738,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"DocsTitle\"]\n1a:I[371738,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"DocsDescription\"]\n1b:I[371738,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"DocsBody\"]\n1c:I[74021,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"CodeBlock\"]\n1d:I[74021,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"Pre\"]\n1e:I[997711,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"Heading\"]\nb:C\n10:[\"$\",\"$L18\",null,{\"toc\":[{\"depth\":2,\"url\":\"#what-you-can-do\",\"title\":\"What you can do\"},{\"depth\":2,\"url\":\"#what-you-cannot-do\",\"title\":\"What you cannot do\"},{\"depth\":2,\"url\":\"#quick-start\",\"title\":\"Quick start\"}],\"full\":\"$undefined\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"TechArticle\\\",\\\"headline\\\":\\\"Developer overview\\\",\\\"description\\\":\\\"The Ardent Africa public API and embeddable widgets, at a glance.\\\",\\\"url\\\":\\\"https://docs.ardent.africa/docs/developers\\\",\\\"dateModified\\\":\\\"2026-08-24T21:31:22.000Z\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Ardent Africa\\\",\\\"url\\\":\\\"https://ardent.africa\\\"}}\"}}],[\"$\",\"$L19\",null,{\"children\":\"Developer overview\"}],[\"$\",\"$L1a\",null,{\"children\":\"The Ardent Africa public API and embeddable widgets, at a glance.\"}],[\"$\",\"$L1b\",null,{\"children\":[[[\"$\",\"p\",null,{\"children\":\"The Ardent Africa public API is a small, read-only, versioned API for building on top\\
50nof the platform. It exposes campaigns, petitions, marketplace listings, events, blog\\nposts, public profiles, and platform statistics, all as safe projections. There are no\\nwrite operations and no access to private, donor, or attendee data.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"Base URL:\"}],\"\\n\",[\"$\",\"$L1c\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"https://api.ardent.africa/public/v1\"}]}]}]}]}],\"\\n\",[\"$\",\"$L1e\",null,{\"as\":\"h2\",\"id\":\"what-you-can-do\",\"children\":\"What you can do\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read active campaigns.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read petitions, with aggregate signature stats.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read active marketplace listings and categories.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read published events, with public ticket-tier details.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read published blog posts.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"List and read public durbars (live audio rooms), including who spoke in them.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Read the machine transcript of a recorded durbar.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Read public supporter profiles.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Read platform-level statistics.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Embed campaign, petition, event, poll, durbar and other widgets on your own site.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Use the official \",\"$L1f\",\" (JavaScript/TypeScript and PHP) or the\\n\",\"$L20\",\" instead of calling the API by hand.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"$L1e\",null,{\"as\":\"h2\",\"id\":\"what-you-cannot-do\",\"children\":\"What you cannot do\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"By design, the public API never exposes donations, donor or signer personal data,\\npayments, admin functions, or any write operation. If you need those, you are looking\\nfor a private integration, which this API does not provide.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You cannot join a durbar, and no key will ever let you.\"}],\" This page used to say Durbar had\\nno public API at all, on the grounds that joining a room needs a short-lived token only our own\\nclients are issued. Reading was never the problem, and reading now ships: see\\n\",\"$L21\",\". Joining still is. A token is scoped to a room, an\\nidentity and a permission set, and an API key has no actor, no trust level, no block\\nrelationships and nobody to show a recording consent notice to. Reading about a public room is a\\npublic act; entering one is not.\"]}],\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\"],\"$L26\"]}]]}]\n2d:I[917213,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\",\"/_next/static/immutable/chunks/2zc6rxvc_f_4z.js\",\"/_next/static/immutable/chunks/35z0syqz5fx8b.js\",\"/_next/static/immutable/chunks/0yfxkn7hcmz64.js\",\"/_next/static/immutable/chunks/1fw_xduzzwce-.js\",\"/_next/static/immutable/chunks/0iu5lvqjkar_e.js\",\"/_next/static/immutable/chunks/24e1wwkfpot7h.js\"],\"default\"]\n22:[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You cannot see who is listening to anything.\"}],\" Speakers are named on the API because they\\ntalked in public into a recording that is itself public and indexed. Listeners are only ever a\\nnumber, and only once a room has ended. Raised hands are not readable by this
50surface at the\\ndatabase level, because knowing that somebody asked to speak in a known room identifies them.\"]}]\n23:[\"$\",\"$L1e\",null,{\"as\":\"h2\",\"id\":\"quick-start\",\"children\":\"Quick start\"}]\n24:[\"$\",\"$L1c\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},\"children\":\"# No key needed to try it (low rate limit applies)\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://api.ardent.africa/public/v1/campaigns?limit=\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"5\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\"}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},\"children\":\"# With a key for higher limits\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -H\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" \\\"x-api-key: \u003cYOUR_API_KEY\u003e\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\\\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://api.ardent.africa/public/v1/campaigns?limit=\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"5\"}]]}]]}]}]}]\n25:[\"$\",\"p\",null,{\"children\":[\"Next: \",\"$L27\",\",\\n\",\"$L28\",\", the full\\n\",\"$L29\",\", the machine-readable\\n\",\"$L2a\",\" for codegen, the official\\n\",\"$L2b\",\", and \",\"$L2c\",\".\"]}]\n26:[\"$\",\"p\",null,{\"className\":\"mt-10 border-t border-fd-border pt-4 text-sm text-fd-muted-foreground\",\"children\":[\"Last updated:\",\" \",\"24 August 2026\"]}]\n1f:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/sdks\",\"children\":\"SDKs\"}]\n20:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/automation\",\"children\":\"Zapier app\"}]\n21:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/endpoints#durbars\",\"children\":\"Durbars\"}]\n27:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/authentication\",\"children\":\"authentication\"}]\n28:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/rate-limits\",\"children\":\"rate limits\"}]\n29:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/endpoints\",\"children\":\"endpoint reference\"}]\n2a:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/openapi\",\"children\":\"OpenAPI spec\"}]\n2b:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/sdks\",\"children\":\"SDKs\"}]\n2c:[\"$\",\"$L2d\",null,{\"href\":\"/docs/developers/automation\",\"children\":\"Zapier automation\"}]\n15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n2e:I[621786,[\"/_next/static/immutable/chunks/0vwm3tbpxhx-2.js\",\"/_next/static/immutable/chunks/2e7vt4i9x_wjc.js\",\"/_next/static/immutable/chunks/3kv1_6kuhv7fm.js\",\"/_next/static/immutable/chunks/04eokba6m7qq4.js\"],\"IconMark\"]\n13:null\n17:[[\"$\",\"title\",\"0\",{\"children\":\"Developer overview â Ardent Africa Docs\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The Ardent Africa public API and embeddable widgets, at a glance.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Ardent Africa Docs\"}],[\"$\",\"meta\",\"3\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://docs.ardent.africa/docs/developers\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Developer overview\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"The Ardent Africa public API and embeddable widgets, at a glance.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://docs.ardent.africa/docs/developers\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:title\",\"content\":\"Ardent Africa Docs\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:description\",\"content\":\"Guides and developer documentation for the Ardent Africa platform.\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"/ardent_africa_favicon_.png\",\"type\":\"image/png\"}],[\"$\",\"link\",\"13\",{\"rel\":\"apple-touch-icon\",\"href\":\"/ardent_africa_favicon_.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L2e\",\"14\",{}]]\n"])</script>
50</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.