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

# 🚀 Quickstart Guide

> Get up and running with the KIMP360 Client API in minutes. Your journey to seamless integration starts here!

Welcome to the KIMP360 Client API Quickstart Guide! This guide walks you through the essential steps to set up your development environment and start making API calls. Let’s get you integrated in under five minutes.

## 🛠️ Step 1: Setup Your Development Environment

Follow these initial steps to prepare your environment for interacting with the KIMP360 API.

### Obtain Your API Key

You'll need an API key to authenticate your requests. You can find or generate your API key from your account settings in the KIMP360 dashboard.

<Warning>
  Your API key is sensitive. Treat it like a password and keep it secure. Do not expose it in client-side code.
</Warning>

## 🔑 Step 2: Authentication & Authorization

Secure communication with our API is paramount. Here's how authentication and rate limiting work:

<AccordionGroup>
  <Accordion title="API Key Authentication" icon="key">
    All API requests must be authenticated. Include your API key in the `x-api-key` header for every request: `http x-api-key: YOUR_API_KEY ` Replace `YOUR_API_KEY` with the actual key you obtained in Step 1.
  </Accordion>

  <Accordion title="Understanding Rate Limiting" icon="gauge">
    To ensure fair usage and stability for all users, the API implements rate limiting. Key points:

    * **Limits**: Typically, 60 requests per minute per API key (this may vary, check specific documentation if provided). - **Headers**: Look for `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers in API responses to track your usage. - **Exceeding Limits**: If you exceed the rate limit, you'll receive a `429 Too Many Requests` HTTP status code. The `Retry-After` header may indicate how long to wait before retrying.
  </Accordion>
</AccordionGroup>

## 🚀 Step 3: Making Your First API Request

Let's put it all together and make a sample request.

<AccordionGroup>
  <Accordion title="Example: List Tasks" icon="code-square">
    Here's an example of how to make a GET request to list tasks for a specific project: `http GET
                /tasks?projectId=123&perPage=10 HTTP/1.1 Host: api.kimp360.com x-api-key: YOUR_API_KEY Accept:
                application/json ` **Remember to replace:** - `YOUR_API_KEY` with your valid API key. - `projectId=123` and `perPage=10` with relevant query parameters for your test.
  </Accordion>
</AccordionGroup>

## 📚 Available Resources

The KIMP360 API provides a rich set of endpoints for managing various resources. Explore them to understand the full capabilities:

<CardGroup cols={2}>
  <Card title="Tasks" icon="clipboard-list" href="/api-playground/get-task">
    Get, create, and archive tasks (cards). Supports product types, brand/tag associations, file attachments, and dev card flow.
  </Card>

  <Card title="Brands" icon="building" href="/api-playground/list-brands">
    List, get, and delete brand profiles used for task management.
  </Card>

  <Card title="Tags" icon="hashtag" href="/api-playground/list-tags">
    List and delete tags for content organization.
  </Card>

  <Card title="Request Types" icon="list" href="/api-playground/list-request-types">
    List available request type categories for task creation.
  </Card>
</CardGroup>

## 📦 Response Format

All successful API responses (HTTP `2xx` status codes) follow a consistent JSON structure:

```json theme={null}
{
  "status": true,
  "data": {
    // Your requested data will be here
  },
  "message": "Operation successful" // Optional: Provides a human-readable message
}
```

* `status` (boolean): Indicates the success of the operation.
* `data` (object/array): Contains the requested resource(s).
* `message` (string, optional): A descriptive message about the outcome.

## ⚠️ Error Handling

The API uses standard HTTP status codes to indicate errors. Error responses also follow a consistent JSON format:

```json theme={null}
{
  "status": false,
  "message": "A concise error message describing what went wrong.",
  "error": "ErrorType", // e.g., "Validation Error", "Authentication Error"
  "details": {
    // Optional: Provides more specific details about the error
    "field_name": "Specific error for this field."
  },
  "statusCode": 400 // The HTTP status code
}
```

Refer to our detailed [API Error Handling](/error-handling) guide for a comprehensive list of error codes and troubleshooting tips.

<Info>
  Next Steps \
  Now that you've got the basics, dive deeper into the [API Reference](/api-playground/list-brands) or explore the integration guides!
</Info>
