# ABC Ignite

{% stepper %}
{% step %}

### Become an API client

To connect with ABC Fitness Solutions you will need an API business relationship with ABC. You can [sign up on their API site](https://abcfinancial.3scale.net/signup).

{% embed url="<https://developers.abcfitness.com/>" %}
{% endstep %}

{% step %}

### Get whitelisted

Once set up as an API client with ABC, you will need to be whitelisted for any clubs or endpoints you want to connect to. Work with ABC to get whitelisted.
{% endstep %}

{% step %}

### Create a connection in Middle

Go ahead and[ create a new ABC Ignite connection](https://docs.middle.app/middle-docs/building-workflows/connect-or-edit-an-app-connection) to authenticate.
{% endstep %}

{% step %}

### Enter a formatted club list

You will need to format a list of all the clubs you want to connect as such `clubNumber`/ `timezone`. The timezone should reflect what ABC has set for the club. The timezone should be formatted to match the [tz database format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

Here is an example of a formatted club list:

```
4372, US/Eastern
2347, US/Eastern
0436, US/Central
2345, US/Pacific
```

{% hint style="warning" %}
Only include leading zeros in club IDs to make the club ID four digits
{% endhint %}

{% embed url="<https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>" %}

{% hint style="warning" %}
Sometimes ABC locations default to US/Central. If you notice that recent record poll syncs aren't picking up data, it might be that you have the timezone incorrect.
{% endhint %}
{% endstep %}

{% step %}

### Fetch your ABC credentials

You will need to log into your ABC [API client portal](https://abcfinancial.3scale.net/) and then go to **API Keys**. There, you will need the **Application ID** and an **Application Key**.
{% endstep %}

{% step %}

### Enter your credentials

1. Enter the formatted club/timezone list into the **Club Numbers & Time Zones (Example)** field
2. Click **Save**
3. Copy the formatted list and paste it into the **Club Numbers & Time Zones (required)** field
4. Enter your ABC application ID
5. Enter your application key
6. Click **Submit**

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FEEZzBSJ4Kg3bWqODbRHV%2FScreenshot%202023-01-18%20at%205.19.27%20PM.png?alt=media&#x26;token=2177b6ab-a288-4ce7-8e77-9c8ddcbbbaef" alt=""><figcaption><p>A filled our ABC authentication with formatted club lists</p></figcaption></figure>

{% hint style="info" %}
You have to enter your formatted club list twice to help protect your credentials. With Middle's authentication, you cannot add a new club to the connection without re-entering your API credentials. **This ensures that bad actors can't hijack your credentials to sync data from clubs that shouldn't be connected to the given account.** The example list is for you to reference what clubs are connected and to copy it the next time you need to authenticate.
{% endhint %}

To test the authentication's success, it's helpful to go to the ABC Ignite app you just connected and run [an ad-hoc sync](https://docs.middle.app/middle-docs/building-workflows/sync#a-d-hoc-syncs).
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.middle.app/middle-docs/guides/app-reference/abc-ignite.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
