Skip to content

Frequently Asked Questions (FAQ)

Overview

This page will answer common questions about Foundation API integration, including:

  • Authentication
  • Rate Limits
  • Integration
  • Troubleshooting

Authentication

How long do access tokens last?

Access tokens expire after one hour. Your application should request a new token when needed.

Can I use the same credentials for sandbox and production?

No. Sandbox and production use separate credentials for security. You'll receive different API keys for each environment.

Rate Limits

What are the rate limits?

  • Standard tier: 500 requests/minute
  • Professional tier: 2,000 requests/minute
  • Enterprise tier: Custom limits

Rate limits are communicated during onboarding.

What happens if I exceed rate limits?

Coming soon

Can I request higher limits?

Coming soon

Integration

Which programming languages are supported?

Foundation provides SDKs for:

  • C# / .NET - Full featured SDK
  • JavaScript/TypeScript - Node.js and browser

You can also use any language that supports HTTPS and JSON via direct REST API calls.

Do you have a sandbox environment?

Yes. All developers get sandbox access with test data.

How do I test webhooks?

Coming soon

Troubleshooting

Why am I getting 401 errors?

"401 Unauthorized" typically means:

  • Access token expired (tokens last one hour)
  • Invalid credentials
  • Token not included in request

How do I avoid non-printable character issues?

Printable Characters

IDs and text fields in FOUNDATION must be printable. Consequently, the API validates any text it receives before integrating it with FOUNDATION data. You can head off any validation issues by sanitizing your string before they are sent through our API using the following Regex Expression to validate your text:

\[\^ -\~\]+

This Regex Expression is looking for a match with any character that is below ASCII32 and above ASCII126.

The following method demonstrates the validation in C#:

public static bool IsValid(this string arg)
{
	if (arg == null) throw new ArgumentNullException();
	string asciiBelow32AndAbove126 = "\[\^ -\~\]+";
	Regex regEx = new Regex(asciiBelow32AndAbove126);
	return !regEx.IsMatch(arg);
}

Why am I getting 429 errors?

"429 Too Many Requests" means you've exceeded your rate limit. Wait 60 seconds and retry with exponential backoff.

Where can I find error codes?

Coming soon

Support

How do I contact support?

Please call (800) 811-5926 for support.