New 42-day free trial Get it now
Smarty

Common mistakes when calling Smarty APIs

WEBINAR RECAP: Recently, our Support Team Lead, Lyle Durland went over common mistakes and outlined what you need to know to avoid API problems.
Updated October 29, 2025
Tags
WEBINAR RECAP: Recently, our Support Team Lead, Lyle Durland went over common mistakes and outlined what you need to know to avoid API problems.

There are two types of frequent errors: 401 "Authentication Required" errors, and 402 "Payment Required" errors.

If you keep reading, you can learn about both, as well as these other hot topics:

Status code 401 - Authentication required

If you're seeing this error there's a chance that there's an issue with your API key, there's a mistake inside your client-side request, or a mistake in the server-side request. In the recording Lyle dives deep into each of these, but here are the basics.

How to authenticate API requests

it’s important that you’re familiar with your API keys. Inside your Smarty account there's an API Keys tab where you can find embedded keys, as well as secret keys. Knowing which keys are used in which environment will help you avoid some errors. If you don't have access to the Smarty account, it may be a good idea to contact the account owner and get access to it.

Understand the difference between client-side requests (in a web browser) and server-side requests. Since browsers send a Referer header automatically, our system treats any request that includes a Referer header as a client-side request. In contrast, if the request does NOT have a Referer header, our system treats it as a server-side request.

Common mistakes in client-side requests

For client-side requests, you'll want to use the embedded keys, not the secret keys. To do so will return a 401 error. Also, don't list the wrong referer/host value with the embedded key. There are a few specific places where your host will be a little different.

  • For localhost, just list "localhost" without the port number.
  • For calls from the jsfiddle website, the correct host is fiddle.jshell.net

When using a wildcard in a hostname, don't use the * for more than one level of subdomain, or you will get the 401 error.

And lastly, don't forget to URL-encode the request URL. For example, a # symbol that is not URL-coded will break up the request URL and return an error.

Common mistakes in server-side requests

For server-side requests, you'll want to use the secret keys, not the embedded keys. Don't type the auth-id or auth-token by hand; you might mistype a 1 for a lower-case L or a 0 for a capital O. And of course, don't forget to URL-encode the request URL.

Status code 402 - Payment required

Most of these errors stem from a misunderstanding of the way Smarty's products work, or what each license provides you with. There are a few things you can do to avoid these errors.

If you’re a developer trying to work with the Smarty APIs we recommend that you be able to log in to the Smarty account that you’re trying to use. If you’re not the primary account owner, you'll need to obtain those login details from whoever is.

It is beneficial to be familiar with the different pages available in your account dashboard, such as the Subscriptions and API Keys pages. Knowing what you have available in the Subscriptions section will help you identify the APIs you are allowed to call and what specific abilities are included. If you are ever unclear, you can contact the Smarty Support team on any of Smarty's pages via chat, email, or phone call.

If you have several accounts with licenses make sure you're using the correct APIs from the correct accounts. Several of our customers are contractors or independent users who are utilizing several accounts. That may be the first thing you want to check if that is the case.

If you are using one of our SDKs, don't assume that the e-license value listed in the GitHub example code is the right one. For example, the default license listed in the GitHub example code is us-rooftop-geocoding-cloud, but you may not have a Rooftop Geocoding license.

When in doubt, contact support

The Smarty support team is here for you. Feel free to contact them any time you need it!

Regular office hours: Weekdays 8 AM - 5 PM Mountain Time.

Phone: 801-877-5778

Chat: Anywhere on smarty.com

Email: support@smarty.com

Watch the full webinar recording for more information!

Subscribe to our blog!
Learn more about RSS feeds here.
Read our recent posts
Smarty customers avoid USPS rate limiting
Arrow Icon
TLDR: Smarty customers won’t feel a thing from the new USPS API restrictions because Smarty doesn’t depend on USPS’s real-time APIs to do address verification. We’ve always used our own, powerful, hyper-accurate data to back our tools and support client needs. While USPS is capping its address verification service at 60 requests per hour and retiring the legacy Web Tools API on January 25, Smarty keeps verifying addresses at full speed on our own infrastructure. We ingest USPS data updates monthly and run verification internally, so USPS API changes, rate limits, or even a temporary USPS outage don’t ripple into your workflows.
Provider data accuracy: Regulatory compliance and hidden network risks
Arrow Icon
Welcome to part one of our new blog series on provider location data—an exploration into the messy, high-stakes world of healthcare compliance, address accuracy, and network adequacy. To kick things off, we sat down with Dave Medlock, founder of Maven One Health and a contributing thought leader, to discuss why clean provider data is essential for achieving peak regulatory compliance and meeting requirements with ease, thereby avoiding serious consequences if it isn’t done correctly. Here’s what he had to say about understanding CMS, state DOIs, continuous audits, rosters, data decay, messy inputs, and the future of address data itself.
Always on; always Smarty: High availability design and engineering best practices
Arrow Icon
When the digital world falters, our goal is simple: stay steady for our customers. At Smarty, reliability isn’t a bragging point, but rather a promise. We’ve built a platform designed to keep running even when others stop, using a vendor-agnostic, redundant infrastructure grounded in engineering best practices that weather disruptions with quiet consistency. Our customers depend on uninterrupted address data services. And, we take that trust seriously. And because we trust you, we’re offering a 42-day free trial on every product.

Ready to get started?