- One call returns one result. No submission is created.
- Every call is synchronous. You get the result in the response, and there are no webhooks.
- Only calls that return a result are billed. Calls that end in an error are not billed.
Unit API Reference
Check the request and response specs for every API, copy call code for your language, and download the OpenAPI document.
Available APIs
Image and text analysis
Government and bank record checks
Record checks summarize the source’s answer as
verdict and verdictReason. See Reading verdicts.
Getting started
1
Copy your Unit API key
Copy the key from Unit API > Unit API Key in the dashboard. A key is issued automatically when a project is created, so there is nothing to request. Member role or higher is required.
2
Try it in the dashboard
In API Test, pick an API, enter values, and run it. Check the response, TX ID, endpoint, and cURL example.
3
Call from your server
Send the same request as the cURL example from your server. Use the key only on your server.
4
Store the result and TX ID
Store the result and
txId in your system as soon as you receive the response. ARGOS does not store request or response bodies.Endpoints
Every Unit API is aPOST request. Call the host of the region your project belongs to.
{api}is the path on each API page. Example:/v1/units/id-ocr- All 14 APIs are available in every region.
- A key works only in its project’s region. Calling another region’s host returns
401. Check your project’s region in Regions.
Authentication
Put your project’s Unit API key in thex-api-key request header.
Reissuing the key
- If the key is exposed or misuse is suspected, an Owner or Leader reissues it in the dashboard.
- Reissuing revokes the previous key immediately. Calls with the previous key are rejected with
401 INVALID_API_KEYand are not billed. - Who reissued the key and when is recorded in the key history and the Event Log.
Request rules
- Send a JSON body with
Content-Type: application/json. Other types are rejected with415 UNSUPPORTED_MEDIA_TYPE. - Fields that are not in the contract are rejected with
400 UNKNOWN_PARAMETER. This prevents a typo from being silently ignored and billed with an unexpected result. - An empty string (
"") ornullis not treated as “not sent” and is rejected with400 INVALID_PARAMETER_FORMAT. If an optional field has no value, leave the key out. - Dates use the
YYYY-MM-DDformat. Example:2019-03-14
Images
- Send images as Base64 strings. A prefix such as
data:image/jpeg;base64,is optional. - Only JPEG and PNG are accepted. Convert iPhone HEIC, GIF, BMP, and other formats to JPEG before sending.
- Each image can be up to about 3 MB in original size (4,000,064 Base64 characters without the prefix). Larger images return
400 PARAMETER_OUT_OF_RANGE. Most ID photos taken with a phone can be sent as is.
referenceId
Every API accepts an optionalreferenceId field.
If you send a different value for each call, you can find a call later even if you never received its response. See Duplicate calls and retries.
Common response
A successful (200) response has the same shape for every API. Fields that describe the call are at the top level, and the result the API produced is inside data.
string
required
The TX ID of this call. Use it to search the dashboard call history and when contacting support. Same value as the
X-Tx-Id response header.string
required
The code of the API you called. Examples:
ID_OCR, GC_KOR_NIDstring
required
When the request was received, in UTC (RFC 3339) with millisecond precision.
integer
required
Time from receiving the request to responding, in milliseconds.
object
required
Billing details for this call.
string | null
required
The
referenceId you sent, or null if you did not send one.object
required
The result the API produced. See each API page for its structure.
Defined response fields are never omitted; they come as
null when there is no value. On the other hand, new response fields and enum values can be added within v1, so make sure unknown fields or values do not break your code. Versioning policyReading verdicts
Record check APIs return the following fields insidedata. GC-MEX-CURP is the only exception: it returns the registry status as is, without a verdict.
MATCH: Matches the source’s records.MISMATCH: The source answered that it does not match. A lookup was made, so it is billed.REJECTED: Genuine, but no longer valid (a passport that lost its validity, or a suspended or closed business).
Billing
Credits are deducted only for calls that return a result. You can see the deducted credits inbilling.credit and in the dashboard call history.
- Calls that return a result are billed. A low face similarity or a
MISMATCHfrom the source is still a result, so it is billed. - Calls that end in an error are not billed. This covers every response whose HTTP status is not
200. - Calls run from the dashboard API Test are billed the same way.
- Trial projects are not billed. Instead, the number of calls per month is limited. Usage by project status
- Sending the same request twice is processed and billed as two calls.
Prices by API
Projects on thev3.1_USA plan use USA prices; all other plans use KOR prices. Prices are in credits.
You can also check your project’s prices in Unit API > API Test in the dashboard.
Usage by project status
- The trial limit counts all calls, including errors. Unbilled error calls and calls rejected for exceeding the limit are included.
- The limit resets at 00:00 UTC on the first day of each month.
- Once the limit is reached, calls return
429 TRIAL_LIMIT_EXCEEDED, and theRetry-Afterheader holds the seconds until the reset.
Data retention and privacy
- Request and response bodies are not stored. Store the result with its
txIdin your system as soon as you receive the response. You cannot retrieve results from ARGOS later. - Call records are kept for 3 years. They include the call time, API, result, error code, processing time, count, credits, source (live or API test), the user who ran it, and
referenceId. - Even for testing, you need a lawful basis, such as the data subject’s consent, to use real personal information.
Next steps
Error codes and retries
Error response format, what to do for each code, and retry rules
Unit API in the dashboard
API Test, call history, and key management