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

# API Token

> Connect Parable to BambooHR using an API key

export const platform_1 = "BambooHR"

export const limit_0 = "varies; implement backoff for 429 responses"

export const platform_0 = "BambooHR"

export const role_0 = undefined

export const tokenName_0 = "API key"

<Tabs>
  <Tab title="Setup">
    <Card title="What You'll Need" icon="key">
      | Credential    | What it is                       |
      | ------------- | -------------------------------- |
      | **API Key**   | Generated from BambooHR settings |
      | **Subdomain** | Your BambooHR subdomain          |
    </Card>

    ## Overview

    Connect Parable to BambooHR for comprehensive HR and people data.

    <CardGroup cols={2}>
      <Card title="Employees" icon="users">
        Profiles, job information, contacts
      </Card>

      <Card title="Time Off" icon="calendar">
        Balances, requests, policies
      </Card>
    </CardGroup>

    ## Prerequisites

    <Info>
      **Setup access in {platform_0}.** These steps require **{role_0}**, or a colleague with equivalent permissions who can create credentials for you.

      If that is not you, ask your {platform_0} administrator.
    </Info>

    * **Admin** access level in BambooHR
    * API key generation permission

    ## Setup Guide

    <Steps>
      <Step title="Access Account Settings">
        1. Log in to BambooHR
        2. Click your name in the lower left
        3. Select **API Keys**
      </Step>

      <Step title="Generate API Key">
        1. Click **Add New Key**
        2. Name: `Parable Integration`
        3. Click **Generate Key**

        <Warning>
          **Copy your {tokenName_0} now!**

          This is the only time it will be displayed. Store it in a secure password manager before closing this page.
        </Warning>
      </Step>

      <Step title="Note Your Subdomain">
        Your BambooHR URL format:

        ```
        https://yourcompany.bamboohr.com
        ```

        Your subdomain is `yourcompany`.
      </Step>

      <Step title="Enter values in the form">
        1. **Subdomain** and **API Key**: Enter your BambooHR subdomain and API key.
        2. Click **Save & test connection**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Reference">
    ## Verify Your Setup

    BambooHR uses Basic Auth with API key as username and `x` as password:

    <CodeGroup>
      ```bash Test Authentication theme={null}
      curl -u "YOUR_API_KEY:x" \
        "https://api.bamboohr.com/api/gateway.php/yourcompany/v1/employees/directory"
      ```

      ```bash Get Employee theme={null}
      curl -u "YOUR_API_KEY:x" \
        "https://api.bamboohr.com/api/gateway.php/yourcompany/v1/employees/0/?fields=firstName,lastName,jobTitle"
      ```
    </CodeGroup>

    <Check>
      **Success!** If you received a `200 OK` response with valid data, your credentials are configured correctly. You can now proceed to configure this connector in Parable.
    </Check>

    <Tip>
      **Rate Limits:** {platform_1} enforces rate limits of **{limit_0}**.

      Parable handles rate limiting automatically with exponential backoff, but initial syncs of large datasets may take longer due to these limits.
    </Tip>

    ## Troubleshooting

    | Error              | Meaning                  | Solution                  |
    | ------------------ | ------------------------ | ------------------------- |
    | `401 Unauthorized` | Invalid API key          | Verify key is correct     |
    | `403 Forbidden`    | Insufficient permissions | Ensure admin access level |
    | `404 Not Found`    | Wrong subdomain          | Check subdomain in URL    |

    ## Additional Resources

    <CardGroup cols={2}>
      <Card title="BambooHR API" icon="book" href="https://documentation.bamboohr.com/reference">
        Official API documentation
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
