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

# Chift connector-picker

Chift hosts the connector picker. You build nothing: your end-user picks their software on a Chift page, then connects it on the connector page.

<Frame caption="Chift connector-picker: your end-user picks their software on a Chift-hosted page.">
  <img src="https://mintcdn.com/chift/vSJ6kANJcydTHQ9s/images/chift-connector-picker.png?fit=max&auto=format&n=vSJ6kANJcydTHQ9s&q=85&s=5af1fad4444aa7507f5a6a024878d0ad" alt="Connector picker on the Chift-hosted connector-picker" width="1282" height="737" data-path="images/chift-connector-picker.png" />
</Frame>

<Steps>
  <Step title="Create the consumer">
    Create one consumer per end-user. Store the returned `consumerid` on your end-user record. You reuse it for every connection that end-user makes.

    ```bash theme={null}
    curl -X POST https://api.chift.eu/consumers \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Your end-user's company name",
        "internal_reference": "your-internal-end-user-id",
        "email": "contact@your-end-user.example",
        "redirect_url": "https://yourapp.example/integrations/callback"
      }'
    ```

    | Field | Required | Notes |
    | - | - | - |
    | `name` | Yes | Shown in your Chift platform and used in automated emails. |
    | `email` | No | Used for [activation reminders](/platform/user-onboarding/email-reminders) and emailing the [local agent](/platform/advanced/local-agent) installer. |
    | `internal_reference` | No | Your own ID for this end-user. Makes reconciliation much easier later. |
    | `redirect_url` | No | Where the end-user lands after activation. Can also be set once for the whole account. See [Activation links and redirects](/developer-guides/unified-api/activation-and-redirects). |

    <Note>
      Already have a `consumerid` for this end-user? Skip this step.
    </Note>

    [API reference: Create new consumer ↗](/api-reference/endpoints/consumers/create-new-consumer)
  </Step>

  <Step title="Create the connection">
    Create the connection without `integrationid`:

    ```bash theme={null}
    curl -X POST https://api.chift.eu/consumers/{consumerid}/connections \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "country": "BE",
        "apis": ["Accounting"],
        "redirect": true
      }'
    ```

    | Field | Required | Notes |
    | - | - | - |
    | `country` | No | ISO 3166-1 alpha-2. Shows only the connectors that support this country. |
    | `apis` | No | Shows only the connectors of these Unified APIs. |
    | `redirect` | No | Default `false`. `true` sends the end-user to the consumer's `redirect_url` after activation. See [Activation links and redirects](/developer-guides/unified-api/activation-and-redirects). |

    The call returns a single field: `url`.

    <Note title="Updating an existing connection">
      A consumer can have only one connection per connector. If the connection already exists, for example to refresh expired credentials, update it instead. See [Update an existing connection ↗](/api-reference/endpoints/connections/update-an-existing-connection).
    </Note>

    [API reference: Add new connection ↗](/api-reference/endpoints/connections/add-new-connection)
  </Step>

  <Step title="Send the end-user to the link">
    Redirect your end-user to the returned `url`, or email it to them.

    <Warning>
      The link is secured by a token that expires after **30 minutes**. Generate it when the end-user is about to click it, not in advance.
    </Warning>

    Your end-user picks their software, then connects it. What they see depends on the connector: an OAuth2 consent screen, a credentials form, or instructions to install the [local agent](/platform/advanced/local-agent). Some connectors then ask follow-up questions, such as which accounting folder or which POS location. See [Post-connections](/developer-guides/core-concepts/monitor-connections#post-connections).
  </Step>

  <Step title="Check the connection">
    When the end-user finishes, reload the consumer's connections and confirm the connection is `active`. Then you can call the Unified API for that consumer.

    ```bash theme={null}
    curl https://api.chift.eu/consumers/{consumerid}/connections \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
    ```

    Do not rely on the redirect alone. An end-user who abandons the flow never triggers it. See [Monitoring & updating connections](/developer-guides/core-concepts/monitor-connections) for the webhook, polling, and redirect-parameter options.

    [API reference: Get connections ↗](/api-reference/endpoints/connections/get-connections)
  </Step>
</Steps>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.