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

# ProductFlo API Documentation

> API documentation for ProductFlo - AI powered engineering platform for hardware product development

<img className="block dark:hidden" src="https://mintcdn.com/productfloio/bo293HgBAQ_o0zgL/logo/light.svg?fit=max&auto=format&n=bo293HgBAQ_o0zgL&q=85&s=c36ca3147f4ec606a213bbbbaa89c541" alt="ProductFlo Logo" width="50" height="50" data-path="logo/light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/productfloio/bo293HgBAQ_o0zgL/logo/dark.svg?fit=max&auto=format&n=bo293HgBAQ_o0zgL&q=85&s=bb93533486438286f333abe210e763a9" alt="ProductFlo Logo" width="1917" height="349" data-path="logo/dark.svg" />

# ProductFlo API Documentation

Welcome to the ProductFlo API documentation. ProductFlo is an AI-powered engineering platform purpose-built for hardware product development with specialized tools for mechanical, electrical, firmware, and manufacturing.

## Getting Started

<CardGroup cols={2}>
  <Card title="Quick Start" icon="bolt" href="/quickstart">
    Get up and running with the ProductFlo API in minutes
  </Card>

  <Card title="Authentication" icon="lock" href="/core-concepts/authentication">
    Learn how to authenticate with the ProductFlo API
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Explore the complete API reference
  </Card>

  <Card title="Development Guide" icon="screwdriver-wrench" href="/development">
    Set up your development environment
  </Card>
</CardGroup>

## Core Features

<CardGroup cols={3}>
  <Card title="Multi-tenancy" icon="building" href="/core-concepts/multi-tenancy">
    Secure data isolation between organizations with cross-tenant collaboration
  </Card>

  <Card title="File Management" icon="file-circle-check" href="/core-concepts/file-management">
    Version control, metadata extraction, and fine-grained access control
  </Card>

  <Card title="Real-time Communication" icon="bolt" href="/core-concepts/real-time-communication">
    WebSocket-based real-time updates and collaborative features
  </Card>

  <Card title="AI Features" icon="microchip" href="/api-reference/ai/image-generation">
    Advanced AI for image generation, CAD, and design assistance
  </Card>

  <Card title="WebSockets" icon="plug" href="/api-reference/websockets/introduction">
    Bi-directional communication for real-time features
  </Card>

  <Card title="Team Collaboration" icon="users" href="/api-reference/core/team">
    User management, teams, and permissions
  </Card>
</CardGroup>

## API Highlights

* **RESTful Design:** Consistent and intuitive API design following REST principles
* **Strong Authentication:** JWT-based authentication with refresh tokens
* **Comprehensive Documentation:** Detailed guides and API references
* **Websocket Support:** Real-time communication for collaborative features
* **AI Integration:** Powerful AI capabilities for product development
* **Multi-tenancy:** Secure data isolation with tenant-specific schemas
* **Robust Error Handling:** Structured error responses with clear codes
* **Rate Limiting:** Fair usage policies to ensure system stability

## Examples

### Authentication

```javascript theme={null}
// Login
const response = await fetch('https://api.productflo.io/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: 'user@example.com', password: 'your-password' })
});

const { session } = await response.json();
const token = session.access_token;

// Authenticated request
const profileResponse = await fetch('https://api.productflo.io/profile', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'X-Tenant-ID': 'tenant-123'
  }
});
```

### WebSocket Chat

```javascript theme={null}
// Connect to WebSocket
const socket = new WebSocket('wss://api.productflo.io/ws?token=' + token);

// Send a message
socket.send(JSON.stringify({
  type: 'chat',
  room_id: 'conversation_123',
  data: {
    message: 'Hello team, I've updated the design.',
    sender: 'user_456'
  }
}));

// Listen for messages
socket.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log('Received:', data);
};
```

### AI Image Generation

```javascript theme={null}
const response = await fetch('https://api.productflo.io/image-generation-openai', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    prompt: 'A photorealistic smart thermostat with a touch screen interface',
    nbr_images: 3
  })
});

const { generated_images } = await response.json();
```

## Support

<CardGroup cols={2}>
  <Card title="Join Our Community" icon="discord" href="https://community.productflo.io">
    Connect with other developers and the ProductFlo team
  </Card>

  <Card title="Contact Support" icon="headset" href="mailto:support@productflo.io">
    Get help from our dedicated support team
  </Card>
</CardGroup>
