> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kash.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/organizations/:id/partners

> List partners under an organization with pagination and filtering

Fetches a paginated list of partners belonging to a specific organization.

## Endpoint

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

## Path Parameters

<ParamField path="id" type="string" required>
  The unique organization identifier (UUID format)
</ParamField>

## Query Parameters

<ParamField query="status" type="string" default="active">
  Filter by partner status: `active`, `inactive`, `all`
</ParamField>

<ParamField query="limit" type="number" default="50">
  Maximum number of results per page (max: 100)
</ParamField>

<ParamField query="offset" type="number" default="0">
  Pagination offset for fetching subsequent pages
</ParamField>

## Response

<ResponseField name="partners" type="array">
  Array of partner objects

  <Expandable title="Partner Object">
    <ResponseField name="id" type="string">
      Unique partner identifier
    </ResponseField>

    <ResponseField name="organizationId" type="string">
      Parent organization ID
    </ResponseField>

    <ResponseField name="name" type="string">
      Partner name
    </ResponseField>

    <ResponseField name="slug" type="string">
      URL-friendly slug
    </ResponseField>

    <ResponseField name="description" type="string">
      Partner description (nullable)
    </ResponseField>

    <ResponseField name="displayName" type="string">
      Display name for UI rendering (nullable)
    </ResponseField>

    <ResponseField name="tagline" type="string">
      Short tagline (nullable)
    </ResponseField>

    <ResponseField name="colorPrimary" type="string">
      Brand color in hex format (nullable)
    </ResponseField>

    <ResponseField name="logoUrl" type="string">
      Logo image URL (nullable)
    </ResponseField>

    <ResponseField name="websiteUrl" type="string">
      Partner website URL (nullable)
    </ResponseField>

    <ResponseField name="status" type="string">
      Partner status: `active`, `inactive`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata

  <Expandable title="Pagination Object">
    <ResponseField name="offset" type="number">
      Current offset
    </ResponseField>

    <ResponseField name="limit" type="number">
      Results per page
    </ResponseField>

    <ResponseField name="total" type="number">
      Total number of matching partners
    </ResponseField>

    <ResponseField name="hasMore" type="boolean">
      Whether more results are available
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="_meta" type="object">
  Request metadata

  <Expandable title="Metadata Properties">
    <ResponseField name="organizationId" type="string">
      The organization ID that was queried
    </ResponseField>

    <ResponseField name="requestedAt" type="string">
      ISO 8601 timestamp of request processing
    </ResponseField>
  </Expandable>
</ResponseField>

## Rate Limit

<Info>
  **100 requests per minute** per IP address
</Info>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://app.kash.bot/api/organizations/550e8400-e29b-41d4-a716-446655440000/partners?status=active&limit=10"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://app.kash.bot/api/organizations/550e8400-e29b-41d4-a716-446655440000/partners?' +
    new URLSearchParams({ status: 'active', limit: 10 })
  );
  const data = await response.json();
  console.log(`Found ${data.partners.length} partners`);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://app.kash.bot/api/organizations/550e8400-e29b-41d4-a716-446655440000/partners',
      params={'status': 'active', 'limit': 10}
  )
  data = response.json()
  print(f"Found {len(data['partners'])} partners")
  ```
</CodeGroup>

## Example Response

```json 200 - Success theme={null}
{
  "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"
  }
}
```

```json 404 - Organization Not Found theme={null}
{
  "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

```javascript theme={null}
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

```javascript theme={null}
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;
}
```

## Related Endpoints

<CardGroup cols={2}>
  <Card title="GET /api/organizations/:id" href="/developer-docs/public-embed-api/endpoints/organization-detail">
    Get organization metadata
  </Card>

  <Card title="GET /api/partners/:id" href="/developer-docs/public-embed-api/endpoints/partner-detail">
    Get individual partner details
  </Card>

  <Card title="GET /api/partners/:id/threads" href="/developer-docs/public-embed-api/endpoints/partner-threads">
    List threads for a partner
  </Card>
</CardGroup>
