Skip to main content
Fetches a paginated list of partners belonging to a specific organization.

Endpoint

GET https://app.kash.bot/api/organizations/:id/partners

Path Parameters

id
string
required
The unique organization identifier (UUID format)

Query Parameters

status
string
default:"active"
Filter by partner status: active, inactive, all
limit
number
default:"50"
Maximum number of results per page (max: 100)
offset
number
default:"0"
Pagination offset for fetching subsequent pages

Response

partners
array
Array of partner objects
pagination
object
Pagination metadata
_meta
object
Request metadata

Rate Limit

100 requests per minute per IP address

Example Request

curl "https://app.kash.bot/api/organizations/550e8400-e29b-41d4-a716-446655440000/partners?status=active&limit=10"

Example Response

200 - Success
{
  "partners": [
    {
      "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "organizationId": "550e8400-e29b-41d4-a716-446655440000",
      "name": "sports-daily",
      "slug": "sports-daily",
      "description": "Leading sports prediction marketplace",
      "displayName": "Sports Daily",
      "tagline": "Predict every game",
      "colorPrimary": "#3EF47E",
      "logoUrl": "https://cdn.kash.bot/partners/sports-daily-logo.png",
      "websiteUrl": "https://sportsdaily.example.com",
      "status": "active"
    }
  ],
  "pagination": {
    "offset": 0,
    "limit": 10,
    "total": 3,
    "hasMore": false
  },
  "_meta": {
    "organizationId": "550e8400-e29b-41d4-a716-446655440000",
    "requestedAt": "2026-03-04T12:00:00Z"
  }
}
404 - Organization Not Found
{
  "error": "Organization not found",
  "message": "No organization exists with ID: 550e8400-e29b-41d4-a716-446655440000",
  "code": "NOT_FOUND"
}

Common Use Cases

Build a partner directory

async function renderPartnerDirectory(orgId) {
  const { partners } = await fetch(
    `https://app.kash.bot/api/organizations/${orgId}/partners?status=active`
  ).then(r => r.json());

  return partners.map(partner => ({
    name: partner.displayName || partner.name,
    logo: partner.logoUrl,
    url: partner.websiteUrl,
    color: partner.colorPrimary,
  }));
}

Fetch partners then drill into their threads

async function getPartnerWithThreads(orgId) {
  const { partners } = await fetch(
    `https://app.kash.bot/api/organizations/${orgId}/partners`
  ).then(r => r.json());

  // Fetch threads for each partner
  const results = await Promise.all(
    partners.map(async (partner) => {
      const { threads } = await fetch(
        `https://app.kash.bot/api/partners/${partner.id}/threads`
      ).then(r => r.json());
      return { partner, threads };
    })
  );

  return results;
}