> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conductor.is/llms.txt
> Use this file to discover all available pages before exploring further.
# Quickstart
> Connect to QuickBooks Desktop via a modern API in 5 minutes.
export const Image = ({src, alt, width, align = "center", noShadow = false, noBorder = false, noZoom = false}) =>
;
Welcome! 👋 Follow the instructions below to connect your QuickBooks Desktop instance and start working with your data in just a few minutes. You'll be able to fetch, create, and update any object type in real-time with our modern APIs and SDKs.
## Part 1: Set up your Conductor account
Sign up for a Conductor account [here](https://dashboard.conductor.is/sign-up) with your work email.
Create an organization in the Conductor dashboard. This should be the name of your company.
In the organization you created, let's select the **"testing"** project. An organization can have multiple projects, but we'll use this one for now.
## Part 2: Connect to QuickBooks Desktop
**Important**: A QuickBooks Desktop instance for testing is **required**. If
you do not have one, you can [create a free test
instance](/qbd/test-instance).
After selecting the **"testing"** project in the Conductor dashboard, click the **"Create end user"** button.
An end-user represents the user or organization within *your* application for whom we are connecting to their QuickBooks Desktop instance. Each end-user maps to a single QuickBooks Desktop company file because each company file represents an individual legal entity.
After creating an end-user in the dashboard, it will automatically create an auth session. Visit this URL in your browser on the same computer or instance as your QuickBooks Desktop installation. This authentication flow will guide you through connecting your QuickBooks Desktop instance to Conductor.
*Read every step carefully!*
In the Conductor dashboard, navigate to the **API Keys** tab and click the **"Create secret key"** button. Be sure to save the secret key in a secure location.
Navigate to the **End Users** tab and find your end-user's **ID**. You'll need this in Step 6 to identify the end-user in your requests.
```sh Node.js theme={"system"}
# npm
npm install conductor-node
# yarn
yarn add conductor-node
# pnpm
pnpm add conductor-node
```
```sh Python theme={"system"}
pip install conductor-py
```
```sh cURL theme={"system"}
# Continue to the next step to access our REST API directly via `curl`.
```
Try fetching a list of QBD Customers:
```ts Node.js theme={"system"}
import Conductor from "conductor-node";
const conductor = new Conductor({ apiKey: "{{YOUR_SECRET_KEY}}" });
async function main() {
const invoices = await conductor.qbd.invoices.list({
conductorEndUserId: "{{YOUR_END_USER_ID}}",
limit: 10,
});
console.log(invoices.data);
}
main();
```
```py Python theme={"system"}
from conductor import Conductor
conductor = Conductor(api_key="{{YOUR_SECRET_KEY}}")
invoices = conductor.qbd.invoices.list(
conductor_end_user_id="{{YOUR_END_USER_ID}}",
)
print(invoices.data)
```
```sh cURL theme={"system"}
curl --request GET \
--url 'https://api.conductor.is/v1/quickbooks-desktop/customers' \
--header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
--header 'Conductor-End-User-Id: {{YOUR_END_USER_ID}}'
```
```json Example QBD response theme={"system"}
{
"objectType": "list",
"url": "/v1/quickbooks-desktop/customers",
"data": [
{
"id": "80000001-1234567890",
"objectType": "qbd_customer",
"createdAt": "2024-10-01T17:34:56.000Z",
"name": "ABC Corporation",
"isActive": true,
// ...
}
// ...
],
// ...
}
```