Common API Objects and Fields
This section covers the fundamental API building blocks and fields that you’ll encounter throughout our API. Understanding these components is crucial for effective API integration.
Understanding Object IDs
Our API uses unversioned GUIDs to uniquely identify objects within our service. These IDs are:
- Automatically assigned upon object creation
- Included in all message responses
- Used for subsequent API operations (update/modify/delete)
The following objects are uniquely identified using these IDs:
- Customers
- Entities
- Documents
- Addresses
- Document scans
- Checks
- Batches
- Transaction groups
The Document Object
What's a Document Object?
A document object represents various types of information or documentation, such as:
- Identity documents (e.g., driver’s licenses)
- Contact information (phone numbers, email addresses)
- Reports or utility bills
- Collections of related data
Documents can exist as metadata only (e.g., ID number, country, and state) or include actual document scans.
Document Object Example
Scanned Documents in Business Check Results
Document Data Options
Performance Note
Control document inclusion in results using the documentData
parameter:
The Entity Object
An entity represents either a person or business in our system. It contains structured data including personal/organizational information and can hold multiple Document Objects.
Entity Structure Overview
An entity contains multiple elements including:
- Basic information (name, addresses, date of birth)
- Organizational data (for businesses)
- Document Objects (optional)
- Additional metadata
Entity Object Example
Key Value Pairs (KVPs)
Key Value Pairs provide flexibility for storing additional data that doesn’t fit into our standard object structure. While stored as strings, KVPs include type hints for better data handling.
KVP Types Overview
Basic Types
Identity & PII Types
Result Types
general.*
: Generic data types (string, integer, float, bool, date, datetime)raw.*
: Binary/encoded data (json.base64, xml.base64, base64)transient.*
: Temporary data that’s only valid for one API call
Important KVP Notes
KVPs with id.external
type in an entity’s extraData are indexed and searchable via the /search API.
Transient types are perfect for one-time sensitive data transmission - they’re processed but never stored.
RequestID (Transaction ID)
Every API response includes a unique RequestID based on the ULID (Universally Unique Lexicographically Sortable Identifier) specification.
- Time-based UUID (ULID format)
- Contains millisecond-precision timestamp
- Includes random element
- Sortable alphabetically and chronologically
- Trace results within FrankieOne
- Retrieve past API call results
- Track transactions in your system
- Essential for troubleshooting
Always save the RequestID in your logs. It’s the most valuable piece of information when troubleshooting with FrankieOne support.
While RequestIDs are chronologically sortable, don’t rely on them for strict time-based operations. Use dedicated timestamp fields for such purposes.