Fetches public-safe metadata for an organization by its UUID. Sensitive data (credentials, billing) is never returned.
Endpoint
GET https://app.kash.bot/api/organizations/:id
Path Parameters
The unique organization identifier (UUID format)
Response
Organization metadata (public-safe fields only)
Unique organization identifier
Display name for UI rendering
Short tagline or description
Brand color in hex format (e.g., #FBD109)
Logo image URL (nullable)
Organization status (nullable)
Request metadata
ISO 8601 timestamp of request processing
Rate Limit
100 requests per minute per IP address
Example Request
curl "https://app.kash.bot/api/organizations/550e8400-e29b-41d4-a716-446655440000"
Example Response
{
"organization": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "acme-markets",
"slug": "acme-markets",
"displayName": "Acme Markets",
"tagline": "Predict the future with Acme",
"colorPrimary": "#4FC4FF",
"logoUrl": "https://cdn.kash.bot/orgs/acme-logo.png",
"status": "active"
},
"_meta": {
"requestedAt": "2026-03-04T12:00:00Z"
}
}
{
"error": "Organization not found",
"message": "No organization exists with ID: 550e8400-e29b-41d4-a716-446655440000",
"code": "NOT_FOUND"
}
429 - Rate Limit Exceeded
{
"error": "Too many requests",
"message": "Rate limit of 100 requests per minute exceeded",
"code": "RATE_LIMIT_EXCEEDED",
"retryAfter": 45
}
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1709553660000
Access-Control-Allow-Origin: *
Common Use Cases
Fetch branding for a white-label embed
async function applyOrgBranding(orgId) {
const { organization } = await fetch(
`https://app.kash.bot/api/organizations/${orgId}`
).then(r => r.json());
document.documentElement.style.setProperty(
'--brand-color', organization.colorPrimary
);
if (organization.logoUrl) {
document.getElementById('logo').src = organization.logoUrl;
}
}