External Integrations

The QA API integrates with many external services to enable end-to-end test scenarios. This page provides a reference for each integration: its purpose, authentication mechanism, the Go package that wraps it, and which secret (if any) it uses.

Integration Reference

Integration Purpose Auth Mechanism Go Package / Client Secret

Auth0

Create user accounts and manage identities

Management API token

pkg/auth0/

SM_AUTH0_NAME env var

Plaid

Configure bank account overrides and simulation data

Client ID + secret

pkg/plaid/

SM_PLAID_NAME env var

User Service

Create and read user profiles (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/user

Float Service

Create floats, read active float status (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/float

Subscription Service

Create subscriptions, read subscription status (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/subscription

LOC Service

Create loans (Line of Credit) (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/loc

Payments Service

Create payment records for custom user setup (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/payments

Underwriting Service

Read user eligibility status (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/underwriting

Insight Service

Write income and insight records (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/insight

Admin Service

Perform admin operations (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/admin

Transactions Service

Read bank account transaction data (FloatMe internal)

AWS SigV4 (IAM role)

fmsdk/clients/txns

Iterable

Query marketing events and manage user records

API key (two separate keys: mobile + server)

pkg/iterable/

SM_ITERABLE_NAME, SM_ITERABLE_MOBILE_NAME env vars

GrowthBook

Fetch and evaluate feature flags at startup

SDK key

fmsdk/clients/growthbook

SM_GROWTHBOOK_NAME env var

Jira/Xray

Import .feature files and export test results

XRAY_TOKEN + XRAY_CLIENT_ID env vars

cucumber/import_features.sh, cucumber/export_results.sh

DynamoDB

Query bypass rules table (requirements-bypass) and subscriptions table (billing-activity)

AWS SigV4 (IAM role)

pkg/dynamo/

RDS (PostgreSQL)

Read float and loan records from the main database

Password authentication

pkg/rds/

SM_RDS_MAIN_NAME env var

SQS

Send collection job messages to async processors

AWS SigV4 (IAM role)

aws-sdk-go-v2/service/sqs

Kinesis

Inject test events for stream processing

AWS SigV4 (IAM role)

aws-sdk-go-v2/service/kinesis

All secrets stored in AWS Secrets Manager are loaded at Lambda startup via fmsdkSM.BatchGetAndUnmarshalSecrets().

Secrets are referenced by environment variables (e.g., SM_PLAID_NAME) that contain the Secrets Manager secret name. This service is deployed to the test environment only; secret names are configured in the Lambda environment at deploy time.