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

# Customer Journey

> Most Synctera APIs act on resources whose IDs are specified in requests.

## Overview

These resources must exist. This means there is a sequence to calling the APIs to get from a clean slate to a successful transaction.

This document is aimed at capturing that sequence, which is a reflection of a typical customer journey. We have provided the exact API details here but we strongly encourage you to read the Guides mentioned below to understand the dependencies, alternatives, configuration needs and additional information about these products.

You can also explore and try out the [Postman collection](https://www.postman.com/synctera/workspace/synctera-public-workspace/collection/19487588-931708f8-bc42-4051-8a02-4e9104d984e4?action=share\&creator=19487588) once you have an API key.

## Before You Begin

### Get an API Key

If you don't already have an API key, you will need one in order to call the APIs. If you have signed up for the t-minus10 program ([click here](https://drive.google.com/file/d/1qPYNx4Ij1el5lIKbfJcJttQJb4Ot9xny/view?usp=sharing) for more details on t-minus10) you can self-serve an API key by following the "Sandbox" or "Live testing" links in the top navigation. If you are already working with the Synctera team, you an also reach out to your contact at Synctera to get an API key.

**Self-serve**:

<CardGroup cols={1}>
  <Card title="Live Testing or Production" href="https://app.synctera.com/admin/developer-tools/api-keys" icon="angle-right" iconType="solid" horizontal={true}>
    [https://app.synctera.com/admin/developer-tools/api-keys](https://app.synctera.com/admin/developer-tools/api-keys)
  </Card>

  <Card title="Sandbox" href="https://app-sandbox.synctera.com/admin/developer-tools/api-keys" icon="angle-right" iconType="solid" horizontal={true}>
    [https://app-sandbox.synctera.com/admin/developer-tools/api-keys](https://app-sandbox.synctera.com/admin/developer-tools/api-keys)
  </Card>
</CardGroup>

Once an API key is issued in Sandbox, you can immediately start calling the APIs below. In Live Testing or Production, your FinTech must first pass KYB.

### KYB Your FinTech

In Sandbox - you're done! KYB was automatically passed for your Sandbox workspace.

In Live Testing or Production, you need to have run a successful KYB on your Fintech if you want to issue cards or move money via ACH / Internal transfers.

If you are on t-minus 10, you need to do this by filling in [Business information](https://app.synctera.com/admin/my-fintech/address) and [Owner details](https://app.synctera.com/admin/my-fintech/owners) and then [Run KYB](https://app.synctera.com/admin/my-fintech/kyb) using the t-minus 10 platform.

If you are not on t-minus10, your contact at Synctera will collect the required information to run KYB for you.

## Guides and APIs

<Steps>
  <Step title="Customers & Businesses">
    These are customers of the Financial Service that use Synctera APIs. Customers can either be Individuals or Businesses. If your customers are businesses, create a business.

    **Guide**:

    <CardGroup>
      <Card title="Personal Customers" href="/v1/docs/create-a-personal-customer" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Business Customers" href="/v1/docs/create-a-business" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **APIs**:

    <CardGroup>
      <Card title="Create Customer" href="/reference/createcustomer" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Create Business" href="/reference/createbusiness" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Disclosures">
    Customers or Businesses who are onboarded to your platform will need to accept disclosures for legal needs. You will work with Synctera Implementation & Onboarding team to identify the disclosures needed for your company.

    **Guide**:

    <CardGroup>
      <Card title="Disclosures" href="/v1/docs/record-disclosure-acceptance" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **API**: [Create Disclosure](/reference/createdisclosure)
  </Step>

  <Step title="KYB & KYC">
    The next step is to ensure that you know your customer and they are who they claim to be. Run KYC if your customer is an individual. Run KYB if your customer is a business.

    As part of this, you can also enroll the user for Watchlists.

    **Guide**:

    <CardGroup>
      <Card title="KYC" href="/v1/docs/kyc-kyb-verification" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **APIs**:

    <CardGroup>
      <Card title="Verify a customer's identity" href="/reference/verify" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Subscribe a customer to watchlist monitoring" href="reference/createsubscription" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Account Templates">
    Account templates define basic characteristics of an account. This is a mandatory step to create an account.

    You can also use Account Products which can be included in the account template to capture the Interest / Fee aspects of the account.

    **Guide**:

    <CardGroup>
      <Card title="Accounts" href="/v1/docs/create-accounts-guide" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **APIs**:

    <CardGroup>
      <Card title="Create an account template" href="/reference/createaccounttemplate" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Create an account product" href="/reference/createaccountresourceproduct" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Accounts">
    Once a Customer is created, Verified, and an account template is created, you can now create an account for the customer / business.

    You can use Account relationships to create further relationships on the accounts - e.g Joint Account Holder.

    **Guide**:

    <CardGroup>
      <Card title="Accounts" href="/v1/docs/create-accounts-guide" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **APIs**:

    <CardGroup>
      <Card title="Create an account" href="/reference/createaccount" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Create account relationship" href="/reference/createaccountrelationship" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="External Accounts">
    Once an account is created, the next step is to move funds from an external bank account to move funds into the customer’s account at the Fintech.

    **Guide**:

    <CardGroup>
      <Card title="External Accounts" href="/v1/docs/external-accounts-guide" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **APIs**:

    <CardGroup>
      <Card title="Create a link token to verify an external account" href="/reference/createverificationlinktoken" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Create a permanent access token for an external account" href="/reference/createaccesstoken" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Add external accounts through a vendor, such as Plaid." href="/reference/addvendorexternalaccounts" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Internal Accounts">
    To move funds into a customer account, you would typically link a customer's external account and move funds from there. Alternatively, as a convenience in the sandbox environment, you can also create an internal account to do this. Internal accounts in production would typically be used for specific needs such as issuing promotional credits to your customers. To create an internal account, use this API.

    **API**:

    <CardGroup>
      <Card title="Add internal accounts" href="/reference/addinternalaccounts" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Move Funds with ACH">
    Once an external account is linked (or you created an internal account as above), you can move funds from an external account into the customer’s account at the Fintech.

    **API**:

    <CardGroup>
      <Card title="Create an outgoing ACH" href="/reference/addtransactionout" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Issue Cards">
    Once the account is funded, the customer access the money on the account using cards or ACH. Users can be issued multiple virtual cards and a physical card per account.

    You will have to use Marqeta widgets for accessing card details. You also can issue custom Cards with images uploaded by the user.

    **Guides**:

    <CardGroup>
      <Card title="Personal Cards" href="/v1/docs/personal-cards" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Card Widgets" href="/v1/docs/card-widgets" icon="angle-right" iconType="solid" horizontal={true} />

      <Card title="Custom Cards" href="/v1/docs/custom-card-images" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>

    **API**:

    <CardGroup>
      <Card title="Issue a Card" href="/reference/issuecard" icon="angle-right" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>

  <Step title="Internal Transfer">
    You can also move money between accounts held in the Fintech.

    **API**:

    <CardGroup>
      <Card title="Create an internal transfer" icon="angle-right" href="/reference/createinternaltransfer" iconType="solid" horizontal={true} />
    </CardGroup>
  </Step>
</Steps>
