@devmehq/sdk-js
Version:
DEV.ME SDK for JavaScript & TypeScript for Server & Browser, Compatible with Node.js & React & Vue.js & Angular
2,460 lines • 148 kB
TypeScript
/**
* DEV.ME API Documentation
* **DEV.ME API Platform** - 19 powerful services across 7 categories **Validation & Verification:** [Email Validation API](https://dev.me/products/email) • [Phone Validation API](https://dev.me/products/phone) • [IP Geolocation API](https://dev.me/products/ip) **Financial & Currency:** [Currency Exchange API](https://dev.me/products/currency) • [Currency List API](https://dev.me/products/currency-list) **Domain & Security:** [Domain WHOIS API](https://dev.me/products/domain-whois) • [DNS Lookup API](https://dev.me/products/dns-lookup) • [Domain Tools API](https://dev.me/products/domain-tools) **Content & Media:** [QR Code Generator API](https://dev.me/products/qr-code-generator) • [Image Placeholders API](https://dev.me/products/image-placeholder) • [Image Optimization API](https://dev.me/products/image-optimizer) **URL & Web:** [URL Shortening API](https://dev.me/products/short-url) • [Web Scraping API](https://dev.me/products/url-scrapper) • [URL Metadata API](https://dev.me/products/url-metadata) • [One-Time URL API](https://dev.me/products/onetime-url) **Global Data:** [Country Data API](https://dev.me/products/country) • [City Data API](https://dev.me/products/city) **Management:** [API Key Management](https://dev.me/dashboard) • [API Usage Analytics](https://dev.me/dashboard) **Quick Start:** Use API key `demo-key` for testing • Visit [dev.me](https://dev.me) for complete documentation **Authentication:** Header `x-api-key: YOUR_API_KEY` or Query Parameter `?x-api-key=YOUR_API_KEY` **[Rate Limits](https://dev.me/pricing):** Free (500/mo) • Essential (15K/mo) • Standard (60K/mo) • Professional (1M/mo) • Enterprise (Unlimited) **Support:** support@dev.me • [Documentation](https://dev.me/documentation)
*
* The version of the OpenAPI document: 1.0.0
* Contact: support@dev.me
*/
import type { AxiosInstance, AxiosPromise, RawAxiosRequestConfig } from 'axios';
import type { RequestArgs } from './base';
import { BaseAPI } from './base';
import type { Configuration } from './configuration';
/**
*
*/
export interface ApiUsageItem {
/**
* Date of usage
*/
date?: string;
/**
* Service name
*/
service?: string;
/**
* Number of requests
*/
count?: number;
/**
* User ID
*/
userId?: string;
}
/**
*
*/
export interface BulkShortUrlItem {
/**
* Original URL to shorten
*/
url?: string;
/**
* Domain to use for short URL
*/
domain?: string;
/**
* Custom suffix for the short URL (optional)
*/
suffix?: string;
}
/**
*
*/
export interface BulkShortUrlResult {
/**
* Whether the URL was created successfully
*/
success?: boolean;
/**
* Original URL
*/
url?: string;
/**
* Generated short URL (if successful)
*/
shortUrl?: string;
/**
* Domain used
*/
domain?: string;
/**
* Short ID (if successful)
*/
sid?: string;
/**
* Error message (if failed)
*/
error?: string;
}
/**
*
*/
export interface CapitalInfo {
/**
* Latitude and longitude of capital
*/
latlng?: Array<number>;
}
/**
*
*/
export interface CarInfo {
/**
* Car signs
*/
signs?: Array<string>;
/**
* Driving side (left/right)
*/
side?: string;
}
/**
* Currency conversion response
*/
export interface ConvertCurrencyOut {
/**
* Source currency code
*/
from: string;
/**
* Target currency code
*/
to: string;
/**
* Exchange rate used
*/
exchangeRate: number;
/**
* Timestamp of the rate
*/
rateTime: string;
/**
* Original amount
*/
originalAmount: number;
/**
* Converted amount
*/
convertedAmount: number;
/**
* Human-readable conversion text
*/
convertedText: string;
/**
* Data provider used (if available)
*/
provider?: string;
/**
* Whether the rate was cached
*/
cached?: boolean;
/**
* Performance metrics (only when getPerformanceData=1)
*/
performance?: object;
}
/**
*
*/
export interface CountryName {
/**
* Common country name
*/
common?: string;
/**
* Official country name
*/
official?: string;
/**
* Native names by language code
*/
nativeName?: object;
}
/**
*
*/
export interface CreateApiKeyIn {
/**
* Name/description for the API key
*/
name?: string;
/**
* List of services this key can access
*/
services?: Array<string>;
/**
* Whether to enable the API key immediately
*/
isEnabled?: boolean;
}
/**
*
*/
export interface CreateBulkShortUrlsRequest {
/**
* Array of URLs to shorten (max 100)
*/
items?: Array<BulkShortUrlItem>;
/**
* Custom batch ID for this bulk operation (optional)
*/
batchId?: string;
}
/**
*
*/
export interface CreateBulkShortUrlsResponse {
/**
* Number of successfully created short URLs
*/
created?: number;
/**
* Number of failed creations
*/
failed?: number;
/**
* Unique identifier for this bulk operation
*/
batchId?: string;
/**
* Detailed results for each item
*/
results?: Array<BulkShortUrlResult>;
}
/**
*
*/
export interface CreateOnetimeUrlIn {
/**
* The secret text/content to share
*/
text: string;
/**
* Optional password protection (leave empty for no password)
*/
passphrase?: string;
/**
* Domain to use for the URL
*/
domain?: string;
/**
* Custom suffix for the URL
*/
suffix?: string;
/**
* Lifetime in seconds (default: 7 days)
*/
lifetime?: number;
/**
* Maximum number of times the URL can be viewed (default: 1)
*/
maxViews?: number;
}
/**
*
*/
export interface CreateOnetimeUrlOut {
/**
* The complete one-time URL
*/
onetimeUrl: string;
/**
* Domain used for the URL
*/
domain: string;
/**
* Short ID of the one-time URL
*/
sid: string;
/**
* ISO timestamp of creation
*/
createdAt: string;
}
/**
*
*/
export interface CreateQrCodeIn {
/**
* Data to encode in QR code
*/
data?: string;
/**
* QR code type
*/
type?: string;
/**
* Mixed JSON object with all QR code settings
*/
settings?: object;
}
/**
*
*/
export interface CreateQrCodeOut {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID for the QR code
*/
sid?: string;
/**
* Encoded data in the QR code
*/
data?: string;
/**
* Type of QR code
*/
type?: string;
/**
* Base64 encoded QR code image
*/
qrCodeImage?: string;
settings?: QrCodeGenerationSettings;
/**
* ISO timestamp when QR code expires
*/
expiresAt?: string;
/**
* ISO timestamp of creation
*/
createdAt?: string;
}
/**
*
*/
export interface CreateQrCodeSettings {
/**
* Mixed JSON object with all QR code settings from frontend
*/
settings?: object;
}
/**
*
*/
export interface CreateShortUrlIn {
/**
* URL to shorten
*/
url: string;
/**
* Domain to use for short URL
*/
domain?: string;
/**
* Custom suffix for the short URL
*/
suffix?: string;
}
/**
*
*/
export interface CreateShortUrlOut {
/**
* The original URL
*/
url: string;
/**
* The complete shortened URL
*/
shortUrl: string;
/**
* Domain used for the short URL
*/
domain: string;
/**
* Short ID of the URL
*/
sid: string;
/**
* ISO timestamp of creation
*/
createdAt: string;
}
/**
*
*/
export interface CurrencyDenominations {
/**
* Frequently used denominations
*/
frequent?: Array<string>;
/**
* Rarely used denominations
*/
rare?: Array<string>;
}
/**
*
*/
export interface CurrencyISO {
/**
* ISO currency code
*/
code?: string;
/**
* ISO numeric code
*/
number?: string;
}
/**
*
*/
export interface CurrencyMajorUnit {
/**
* Major unit name
*/
name?: string;
/**
* Major unit symbol
*/
symbol?: string;
}
/**
*
*/
export interface CurrencyMinorUnit {
/**
* Minor unit name
*/
name?: string;
/**
* Minor unit symbol
*/
symbol?: string;
/**
* Value relative to major unit
*/
majorValue?: number;
}
/**
*
*/
export interface CurrencyUnits {
major?: CurrencyMajorUnit;
minor?: CurrencyMinorUnit;
}
/**
*
*/
export interface DeleteApiKeyIn {
/**
* Database ID of the API key to delete
*/
_id?: string;
}
/**
*
*/
export interface DeleteApiKeyOut {
/**
* Whether the deletion was successful
*/
success?: boolean;
}
/**
*
*/
export interface DeleteOnetimeUrlIn {
/**
* Short ID of the one-time URL
*/
sid: string;
/**
* Domain of the URL
*/
domain?: string;
/**
* Passphrase if set during creation
*/
passphrase?: string;
}
/**
*
*/
export interface DeleteOnetimeUrlOut {
/**
* Whether deletion was successful
*/
success: boolean;
}
/**
*
*/
export interface DeleteQrCodeIn {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID of the QR code (alternative to _id)
*/
sid?: string;
/**
* Also delete related logs and short URLs (default: true)
*/
deleteRelated?: boolean;
}
/**
*
*/
export interface DeleteQrCodeOut {
/**
* Whether deletion was successful
*/
success?: boolean;
deletedCount?: DeletedCountInfo;
}
/**
*
*/
export interface DeleteShortUrlIn {
/**
* Short ID of the URL
*/
sid: string;
/**
* Domain of the short URL
*/
domain?: string;
}
/**
*
*/
export interface DeleteShortUrlOut {
/**
* Whether deletion was successful
*/
success: boolean;
}
/**
*
*/
export interface DeletedCountInfo {
/**
* Number of QR codes deleted
*/
qrCode?: number;
/**
* Number of logs deleted
*/
logs?: number;
}
/**
*
*/
export interface DetectedName {
/**
* First name detected from email
*/
firstName?: string;
/**
* Last name detected from email
*/
lastName?: string;
/**
* Confidence score for name detection (0-1)
*/
confidence?: number;
}
/**
*
*/
export interface DomainAgeInfo {
/**
* Age of the domain in days
*/
ageInDays?: number;
/**
* Domain creation date
*/
createdDate?: string;
/**
* Whether the age information is valid
*/
isValid?: boolean;
}
/**
*
*/
export interface DomainRegistrationInfo {
/**
* Domain creation date
*/
created?: string;
/**
* Domain last update date
*/
updated?: string;
/**
* Domain expiration date
*/
expires?: string;
/**
* Domain registrar name
*/
registrar?: string;
/**
* Registrant organization
*/
registrantOrganization?: string;
/**
* Registrant country
*/
registrantCountry?: string;
/**
* Domain status
*/
status?: string;
}
/**
*
*/
export interface DomainSuggestion {
/**
* Original domain with typo
*/
original?: string;
/**
* Suggested corrected domain
*/
suggested?: string;
/**
* Confidence score for suggestion (0-1)
*/
confidence?: number;
}
/**
*
*/
export interface DownloadApiUsageOut {
/**
* Download URL for the exported file
*/
url?: string;
/**
* Suggested filename for the download
*/
filename?: string;
/**
* MIME type of the file
*/
contentType?: string;
}
/**
* error value
*/
export interface ErrorValue {
}
/**
*
*/
export interface GetApiKeyDetailsIn {
/**
* Database ID of the API key
*/
_id?: string;
}
/**
*
*/
export interface GetApiKeyDetailsOut {
/**
* Database document ID
*/
_id?: string;
/**
* Name/description of the API key
*/
name?: string;
/**
* The actual API key value
*/
apiKey?: string;
/**
* List of services this key can access
*/
services?: Array<string>;
/**
* Whether the API key is active
*/
isEnabled?: boolean;
/**
* User ID who owns this API key
*/
userId?: string;
/**
* Additional metadata
*/
meta?: object;
/**
* ISO timestamp of creation
*/
createdAt?: string;
/**
* ISO timestamp of last update
*/
updatedAt?: string;
}
/**
*
*/
export interface GetApiUsageOut {
/**
* Array of daily usage records
*/
usage?: Array<ApiUsageItem>;
/**
* Total number of requests in the period
*/
totalRequests?: number;
}
/**
*
*/
export interface GetCityDetailsOut {
/**
* City ID
*/
id?: number;
/**
* City name
*/
name?: string;
/**
* Country code
*/
countryCode?: string;
/**
* Country name
*/
countryName?: string;
/**
* State/Province code
*/
stateCode?: string;
/**
* State/Province name
*/
stateName?: string;
/**
* Latitude coordinate
*/
latitude?: number;
/**
* Longitude coordinate
*/
longitude?: number;
}
/**
*
*/
export interface GetCountryDetailsOut {
/**
* Country code (ISO 3166-1 alpha-2)
*/
code?: string;
/**
* ISO 3166-1 alpha-2 code
*/
cca2?: string;
/**
* ISO 3166-1 alpha-3 code
*/
cca3?: string;
/**
* ISO 3166-1 numeric code
*/
ccn3?: string;
/**
* International Olympic Committee code
*/
cioc?: string;
/**
* FIFA code
*/
fifa?: string;
name?: CountryName;
/**
* Capital city/cities
*/
capital?: Array<string>;
capitalInfo?: CapitalInfo;
/**
* Alternative country name spellings
*/
altSpellings?: Array<string>;
/**
* Geographic region
*/
region?: string;
/**
* Geographic subregion
*/
subregion?: string;
/**
* Continents the country belongs to
*/
continents?: Array<string>;
/**
* Official languages (key-value pairs)
*/
languages?: object;
/**
* Currency information (key-value pairs)
*/
currencies?: object;
/**
* Flag emoji
*/
flag?: string;
flags?: ImageLinks;
coatOfArms?: ImageLinks;
/**
* Total area in km²
*/
area?: number;
/**
* Population count
*/
population?: number;
/**
* Latitude and longitude coordinates
*/
latlng?: Array<number>;
/**
* Whether the country is landlocked
*/
landlocked?: boolean;
/**
* Border country codes
*/
borders?: Array<string>;
/**
* Timezones
*/
timezones?: Array<string>;
/**
* Top-level domains
*/
tld?: Array<string>;
/**
* Independence status
*/
independent?: boolean;
/**
* UN membership status
*/
unMember?: boolean;
/**
* Country status
*/
status?: string;
/**
* First day of the week
*/
startOfWeek?: string;
car?: CarInfo;
idd?: IddInfo;
postalCode?: PostalCodeInfo;
/**
* Demonym information by language
*/
demonyms?: object;
/**
* Gini coefficient by year
*/
gini?: object;
maps?: MapsInfo;
/**
* Country name translations
*/
translations?: object;
}
/**
*
*/
export interface GetCurrencyDetailsOut {
/**
* Currency code (ISO 4217)
*/
code?: string;
/**
* Currency name
*/
name?: string;
/**
* Native currency name
*/
nameNative?: string;
/**
* Plural form of currency name
*/
namePlural?: string;
/**
* Native plural form of currency name
*/
namePluralNative?: string;
/**
* Currency symbol code
*/
symbol?: string;
/**
* Native currency symbol (e.g., $, €)
*/
symbolNative?: string;
/**
* Number of decimal places
*/
decimalDigits?: number;
/**
* Rounding precision
*/
rounding?: number;
/**
* Flag code for primary country
*/
flagCode?: string;
iso?: CurrencyISO;
units?: CurrencyUnits;
banknotes?: CurrencyDenominations;
coins?: CurrencyDenominations;
/**
* Country codes using this currency
*/
countries?: Array<string>;
}
/**
*
*/
export interface GetCurrencyExchangeRateOut {
/**
* Source currency code
*/
from?: string;
/**
* Target currency code
*/
to?: string;
/**
* Exchange rate from source to target currency
*/
exchangeRate?: number;
/**
* Timestamp of the exchange rate (ISO 8601 format)
*/
rateTime?: string;
/**
* Data provider used for this rate
*/
provider?: string;
/**
* Whether the rate was served from cache
*/
cached?: boolean;
/**
* Inverse exchange rate (to -> from)
*/
inverseRate?: number;
/**
* Rate disclaimer or terms of use
*/
disclaimer?: string;
}
/**
*
*/
export interface GetDomainWhoisOut {
/**
*
*/
domain?: string;
/**
*
*/
whoisText?: string;
/**
*
*/
whoisJson?: object;
}
/**
*
*/
export interface GetEmailDetailsOut {
/**
* The email address that was validated
*/
email?: string;
/**
* Whether MX records exist for the domain
*/
validMx?: boolean;
/**
* Whether SMTP connection was successful
*/
validSmtp?: boolean;
/**
* Whether email format is valid
*/
validFormat?: boolean;
/**
* Whether email is from a disposable domain
*/
isDisposable?: boolean;
/**
* Whether email is from a free email provider
*/
isFree?: boolean;
detectedName?: DetectedName;
domainSuggestion?: DomainSuggestion;
domainAge?: DomainAgeInfo;
domainRegistration?: DomainRegistrationInfo;
/**
* Overall email quality score (0-100)
*/
score?: number;
/**
* Performance metrics (only when getPerformanceData=true)
*/
performance?: object;
}
/**
* City geolocation information
*/
export interface GetIpDetailsCityOut {
/**
* Accuracy radius in kilometers
*/
accuracyRadius: number;
/**
* Geographic latitude
*/
latitude: number;
/**
* Geographic longitude
*/
longitude: number;
/**
* IANA time zone
*/
timeZone?: string;
/**
* City name
*/
name?: string;
/**
* Region or state name
*/
region?: string;
/**
* Area code if available
*/
areaCode?: string;
}
/**
* IP geolocation response
*/
export interface GetIpDetailsOut {
/**
* The IP address that was looked up
*/
ip: string;
/**
* PTR record (reverse DNS) if available
*/
ptr?: string;
/**
* ISO 3166-1 alpha-2 country code
*/
countryCode?: string;
/**
* ISO 3166-1 alpha-3 country code
*/
countryCode3?: string;
/**
* Full country name
*/
countryName?: string;
/**
* Continent code
*/
continentCode?: string;
/**
* Country code where IP is registered
*/
registeredCountryCode?: string;
/**
* Autonomous System Number
*/
asn?: number;
/**
* Autonomous System Organization name
*/
aso?: string;
/**
* Organization name
*/
organization?: string;
city?: GetIpDetailsCityOut;
/**
* Performance metrics (only when getPerformanceData=1)
*/
performance?: object;
}
/**
*
*/
export interface GetOnetimeUrlDetailsOut {
/**
* Whether a passphrase is required to access the content
*/
requirePassphrase?: boolean;
/**
* Complete one-time URL
*/
onetimeUrl?: string;
/**
* Short ID identifier for the one-time URL
*/
sid?: string;
/**
* Domain used for the one-time URL
*/
domain?: string;
/**
* The secret text content (only shown once)
*/
text?: string;
/**
* Number of times the URL has been viewed
*/
viewCount?: number;
/**
* Maximum number of views allowed
*/
maxViews?: number;
/**
* ISO timestamp when the URL expires
*/
expireAt?: string;
/**
* ISO timestamp of creation
*/
createdAt?: string;
}
/**
*
*/
export interface GetPhoneDetailsOut {
/**
* Whether the phone number is valid
*/
valid?: boolean;
/**
* Normalized phone number with country code
*/
number?: string;
/**
* Phone number in local format
*/
localFormat?: string;
/**
* Phone number in international format
*/
internationalFormat?: string;
/**
* Country calling code
*/
countryPrefix?: string;
/**
* ISO country code
*/
countryCode?: string;
/**
* Country name
*/
countryName?: string;
/**
* Geographic location or region
*/
location?: string;
/**
* Phone carrier/operator name
*/
carrier?: string;
/**
* Array of all possible carriers when multiple matches exist
*/
matchedCarriers?: Array<string>;
/**
* Type of phone line (mobile, landline, voip)
*/
lineType?: string;
}
/**
*
*/
export interface GetQrCodeAnalyticsOut {
/**
* Database ID of the QR code
*/
qrCodeId?: string;
/**
* Short ID of the QR code
*/
sid?: string;
/**
* QR code data
*/
data?: string;
/**
* QR code type
*/
type?: string;
/**
* Total number of scans
*/
totalScans?: number;
/**
* Number of unique scans
*/
uniqueScans?: number;
/**
* Last scan timestamp
*/
lastScannedAt?: string;
/**
* Breakdown by device type
*/
deviceTypes?: object;
/**
* Breakdown by country
*/
countries?: object;
/**
* Breakdown by browser
*/
browsers?: object;
/**
* Timeline of scans
*/
scanTimeline?: Array<object>;
/**
* Analytics period
*/
period?: object;
}
/**
*
*/
export interface GetQrCodeDetailsOut {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID for the QR code
*/
sid?: string;
/**
* Encoded data in the QR code
*/
data?: string;
/**
* Type of QR code
*/
type?: string;
/**
* Base64 QR code image or URL
*/
imageUrl?: string;
settings?: QrCodeGenerationSettings;
/**
* Whether QR code is active
*/
isActive?: boolean;
/**
* Expiration timestamp
*/
expiresAt?: string;
/**
* ISO timestamp of creation
*/
createdAt?: string;
/**
* ISO timestamp of last update
*/
updatedAt?: string;
}
/**
*
*/
export interface GetShortUrlAnalyticsOut {
/**
* Short URL details
*/
shortUrl: object;
/**
* Array of view/click records
*/
views: Array<object>;
/**
* Domain of the short URL
*/
domain: string;
/**
* Database ID
*/
_id?: string;
/**
* Short ID
*/
sid?: string;
}
/**
*
*/
export interface GetShortUrlDetailsOut {
/**
* Database document ID
*/
_id?: string;
/**
* Original long URL
*/
url?: string;
/**
* Complete shortened URL
*/
shortUrl?: string;
/**
* Short ID identifier
*/
sid?: string;
/**
* Domain used for shortening
*/
domain?: string;
/**
* Number of times the short URL was accessed
*/
clicks?: number;
meta?: ShortUrlMeta;
/**
* ISO timestamp of creation
*/
createdAt?: string;
/**
* ISO timestamp of last update
*/
updatedAt?: string;
}
/**
*
*/
export interface HttpErrorOut {
/**
* http status code
*/
status?: number;
/**
* error name
*/
name?: string;
/**
* error message
*/
message?: string;
/**
* array of errors
*/
errors?: Array<Error>;
}
/**
*
*/
export interface IApiKeyModelJSON {
/**
*
*/
_id?: string;
/**
*
*/
userId?: string;
/**
*
*/
apiKey?: string;
/**
*
*/
name?: string;
/**
*
*/
environment?: string;
/**
*
*/
services?: Array<string>;
/**
*
*/
isEnabled?: boolean;
/**
*
*/
note?: string;
/**
*
*/
meta?: object;
/**
*
*/
createdAt?: string;
/**
*
*/
updatedAt?: string;
}
/**
*
*/
export interface IddInfo {
/**
* Root dialing code
*/
root?: string;
/**
* Dialing code suffixes
*/
suffixes?: Array<string>;
}
/**
*
*/
export interface ImageLinks {
/**
* SVG image URL
*/
svg?: string;
/**
* PNG image URL
*/
png?: string;
/**
* Alternative text
*/
alt?: string;
}
/**
*
*/
export interface ListApiKeysIn {
/**
* Optional Database ID to filter specific API key
*/
_id?: string;
}
/**
*
*/
export interface ListApiKeysOut {
/**
* Array of API key objects
*/
list?: Array<GetApiKeyDetailsOut>;
}
/**
*
*/
export interface ListCitiesOut {
/**
* Array of city objects
*/
list?: Array<GetCityDetailsOut>;
/**
* page number
*/
page?: number;
/**
* total number of cities
*/
total?: number;
/**
* page size
*/
size?: number;
/**
* total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface ListCountriesOut {
/**
* Array of country objects (fields based on expand/exclude parameters)
*/
list?: Array<GetCountryDetailsOut>;
/**
* page number
*/
page?: number;
/**
* total number of countries
*/
total?: number;
/**
* page size
*/
size?: number;
/**
* total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface ListCurrenciesOut {
/**
* Array of currency objects (fields based on expand/exclude parameters)
*/
list?: Array<GetCurrencyDetailsOut>;
/**
* Total number of currencies matching filters
*/
total?: number;
/**
* Current page number
*/
page?: number;
/**
* Number of items per page
*/
pageSize?: number;
/**
* Total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface ListOnetimeUrlsOut {
/**
* Array of one-time URL objects
*/
list?: Array<GetOnetimeUrlDetailsOut>;
/**
* Current page number
*/
page?: number;
/**
* Number of items per page
*/
pageSize?: number;
/**
* Total number of URLs
*/
total?: number;
/**
* Total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface ListQrCodesOut {
/**
* Array of QR codes
*/
list?: Array<QrCodeListItem>;
pagination?: PaginationInfo;
}
/**
*
*/
export interface ListShortUrlsOut {
/**
* Array of short URL objects
*/
list?: Array<GetShortUrlDetailsOut>;
/**
* Current page number
*/
page?: number;
/**
* Number of items per page
*/
pageSize?: number;
/**
* Total number of URLs
*/
total?: number;
/**
* Total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface LookupDomainDnsOut {
/**
*
*/
address?: string;
/**
*
*/
type?: string;
/**
*
*/
records?: Array<object>;
/**
*
*/
success?: boolean;
/**
*
*/
error?: object;
/**
* Performance metrics (only when getPerformanceData=true)
*/
performance?: object;
}
/**
*
*/
export interface MapsInfo {
/**
* Google Maps URL
*/
googleMaps?: string;
/**
* OpenStreetMap URL
*/
openStreetMaps?: string;
}
/**
*
*/
export interface ModelError {
value?: ErrorValue;
/**
* error message
*/
msg?: string;
/**
* error parameters
*/
param?: string;
/**
* location of the error
*/
location?: string;
}
/**
*
*/
export interface PaginationInfo {
/**
* Current page number
*/
page?: number;
/**
* Items per page
*/
pageSize?: number;
/**
* Total number of items
*/
total?: number;
/**
* Total number of pages
*/
totalPages?: number;
}
/**
*
*/
export interface PerformanceMetrics {
/**
* Total processing time in milliseconds
*/
totalTime?: number;
/**
* Time to fetch the URL in milliseconds
*/
fetchTime?: number;
/**
* Time to extract metadata in milliseconds
*/
metadataTime?: number;
/**
* Time to extract Open Graph data in milliseconds
*/
openGraphTime?: number;
/**
* Whether a retry was attempted due to bot detection
*/
retryAttempted?: boolean;
/**
* Time taken for retry attempt in milliseconds
*/
retryTime?: number;
/**
* User agent used for the request
*/
userAgent?: string;
/**
* Whether mobile fallback was used
*/
mobileUserAgentUsed?: boolean;
}
/**
*
*/
export interface PostalCodeInfo {
/**
* Postal code format
*/
format?: string;
/**
* Postal code validation regex
*/
regex?: string;
}
/**
*
*/
export interface PreviewQrCodeIn {
/**
* Data to encode in QR code
*/
data?: string;
/**
* QR code type
*/
type?: PreviewQrCodeInTypeEnum;
/**
* Output format (always returns base64)
*/
format?: PreviewQrCodeInFormatEnum;
/**
* Mixed JSON object with all QR code settings
*/
settings?: object;
}
export declare const PreviewQrCodeInTypeEnum: {
readonly Url: "url";
readonly Text: "text";
readonly Email: "email";
readonly Phone: "phone";
readonly Sms: "sms";
readonly Wifi: "wifi";
readonly Vcard: "vcard";
};
export type PreviewQrCodeInTypeEnum = (typeof PreviewQrCodeInTypeEnum)[keyof typeof PreviewQrCodeInTypeEnum];
export declare const PreviewQrCodeInFormatEnum: {
readonly Base64: "base64";
};
export type PreviewQrCodeInFormatEnum = (typeof PreviewQrCodeInFormatEnum)[keyof typeof PreviewQrCodeInFormatEnum];
/**
*
*/
export interface PreviewQrCodeOut {
/**
* Output format
*/
format?: string;
/**
* Data encoded in QR code
*/
data?: string;
/**
* QR code type
*/
type?: string;
/**
* QR code content (base64, SVG, or PNG binary)
*/
qrCode?: string;
/**
* Settings used for generation
*/
settings?: object;
/**
* Legacy field for backward compatibility
*/
imgString?: string;
}
/**
*
*/
export interface QrCodeAnalytics {
/**
* Total number of scans
*/
scans?: number;
/**
* Number of unique scans
*/
uniqueScans?: number;
/**
* Last scan timestamp
*/
lastScannedAt?: string;
}
/**
*
*/
export interface QrCodeBase {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID of the QR code
*/
sid?: string;
/**
* Encoded data in the QR code
*/
data?: string;
/**
* Type of QR code
*/
type?: QrCodeBaseTypeEnum;
/**
* Base64 QR code image or URL
*/
imageUrl?: string;
analytics?: QrCodeAnalytics;
settings?: QrCodeGenerationSettings;
/**
* Whether QR code is active
*/
isActive?: boolean;
/**
* Expiration timestamp
*/
expiresAt?: string;
/**
* ISO timestamp of creation
*/
createdAt?: string;
/**
* ISO timestamp of last update
*/
updatedAt?: string;
}
export declare const QrCodeBaseTypeEnum: {
readonly Url: "url";
readonly Text: "text";
readonly Email: "email";
readonly Phone: "phone";
readonly Sms: "sms";
readonly Wifi: "wifi";
readonly Vcard: "vcard";
};
export type QrCodeBaseTypeEnum = (typeof QrCodeBaseTypeEnum)[keyof typeof QrCodeBaseTypeEnum];
/**
*
*/
export interface QrCodeColorOptions {
/**
* Dark color (hex)
*/
dark?: string;
/**
* Light color (hex)
*/
light?: string;
}
/**
*
*/
export interface QrCodeGenerationSettings {
/**
* Size of QR code in pixels (100-1000)
*/
size?: number;
/**
* Margin around QR code (0-10)
*/
margin?: number;
/**
* Error correction level
*/
errorCorrectionLevel?: QrCodeGenerationSettingsErrorCorrectionLevelEnum;
color?: QrCodeColorOptions;
/**
* URL to logo image to embed
*/
logo?: string;
}
export declare const QrCodeGenerationSettingsErrorCorrectionLevelEnum: {
readonly L: "L";
readonly M: "M";
readonly Q: "Q";
readonly H: "H";
};
export type QrCodeGenerationSettingsErrorCorrectionLevelEnum = (typeof QrCodeGenerationSettingsErrorCorrectionLevelEnum)[keyof typeof QrCodeGenerationSettingsErrorCorrectionLevelEnum];
/**
*
*/
export interface QrCodeListItem {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID of the QR code
*/
sid?: string;
/**
* Encoded data in the QR code
*/
data?: string;
/**
* Type of QR code
*/
type?: string;
/**
* Base64 QR code image or URL (truncated)
*/
imageUrl?: string;
/**
* Whether QR code is active
*/
isActive?: boolean;
/**
* Expiration timestamp
*/
expiresAt?: string;
/**
* ISO timestamp of creation
*/
createdAt?: string;
/**
* ISO timestamp of last update
*/
updatedAt?: string;
}
/**
*
*/
export interface ScrapeUrlDataIn {
/**
* URL to scrape metadata from
*/
url?: string;
/**
* Data types to return, metadata,openGraph,html, Default [\"openGraph\"]
*/
dataTypes?: Array<string>;
/**
* Specific metadata fields to extract: author,description,image,logo,favicon,title,url,spotify,youtube,instagram,soundcloud,amazon,shopping,clearbit,manifest. Default: all fields
*/
metadataFields?: Array<string>;
}
/**
*
*/
export interface ScrapeUrlDataOut {
/**
* The scraped URL
*/
url?: string;
/**
*
*/
metadata?: object;
/**
*
*/
openGraph?: object;
/**
* Raw HTML content (if requested)
*/
html?: string;
/**
* Data types that were requested
*/
dataTypes?: Array<string>;
/**
* Whether the data came from cache
*/
cached?: boolean;
performance?: PerformanceMetrics;
}
/**
*
*/
export interface ShortUrlMeta {
/**
* Whether the URL is disabled
*/
isDisabled?: boolean;
/**
* User ID who created the URL
*/
userId?: string;
}
/**
*
*/
export interface TrackQrViewIn {
/**
* Referrer URL
*/
referrer?: string;
/**
* User agent string
*/
userAgent?: string;
/**
* Additional tracking metadata
*/
meta?: object;
}
/**
*
*/
export interface TrackQrViewOut {
/**
* Whether tracking was successful
*/
success?: boolean;
/**
* Whether the view was tracked
*/
tracked?: boolean;
/**
* Response message
*/
message?: string;
}
/**
*
*/
export interface UpdateApiKeyIn {
/**
* Database ID of the API key to update
*/
_id: string;
/**
* Updated name/description for the API key
*/
name?: string;
/**
* Environment designation (e.g., production, staging, development)
*/
environment?: string;
/**
* Updated list of services this key can access
*/
services?: Array<string>;
/**
* Whether to enable or disable the API key
*/
isEnabled?: boolean;
}
/**
*
*/
export interface UpdateQrCodeIn {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID of the QR code (alternative to _id)
*/
sid?: string;
/**
* New data to encode (regenerates QR code)
*/
data?: string;
/**
* New QR code type
*/
type?: UpdateQrCodeInTypeEnum;
/**
* Enable/disable QR code
*/
isActive?: boolean;
/**
* New expiration date (ISO 8601)
*/
expiresAt?: string;
/**
* Mixed JSON object with all QR code settings
*/
settings?: object;
/**
* Force regenerate QR code image
*/
regenerateImage?: boolean;
}
export declare const UpdateQrCodeInTypeEnum: {
readonly Url: "url";
readonly Text: "text";
readonly Email: "email";
readonly Phone: "phone";
readonly Sms: "sms";
readonly Wifi: "wifi";
readonly Vcard: "vcard";
};
export type UpdateQrCodeInTypeEnum = (typeof UpdateQrCodeInTypeEnum)[keyof typeof UpdateQrCodeInTypeEnum];
/**
*
*/
export interface UpdateQrCodeOut {
/**
* Database ID of the QR code
*/
_id?: string;
/**
* Short ID of the QR code
*/
sid?: string;
/**
* Encoded data
*/
data?: string;
/**
* QR code type
*/
type?: string;
/**
* Updated QR code image
*/
imageUrl?: string;
/**
* Active status
*/
isActive?: boolean;
/**
* Expiration date
*/
expiresAt?: string;
settings?: QrCodeGenerationSettings;
/**
* Update timestamp
*/
updatedAt?: string;
}
/**
*
*/
export interface UpdateQrCodeSettings {
/**
* Mixed JSON object with all QR code settings from frontend
*/
settings?: object;
}
/**
*
*/
export interface UpdateShortUrlIn {
/**
* Database ID of the short URL
*/
_id: string;
/**
* Updated target URL
*/
url: string;
/**
* New short ID
*/
sid: string;
/**
* Domain for the short URL
*/
domain?: string;
}
/**
*
*/
export interface UpdateShortUrlOut {
/**
* The updated target URL
*/
originalUrl: string;
/**
* Complete updated short URL
*/
shortUrl: string;
/**
* Domain of the short URL
*/
domain: string;
/**
* Updated short ID
*/
sid: string;
}
/**
*
*/
export interface WhoAmIOut {
/**
*
*/
userId?: string;
/**
*
*/
email?: string;
/**
*
*/
username?: string;
/**
*
*/
reqIpAddress?: string;
/**
*
*/
reqIpCountry?: string;
/**
*
*/
reqUserAgent?: string;
}
/**
* APIKeyApi - axios parameter creator
*/
export declare const APIKeyApiAxiosParamCreator: (configuration?: Configuration) => {
/**
* Create API Key - Generate a new API key
* @param {CreateApiKeyIn} createApiKeyIn API key configuration
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1CreateApiKey: (createApiKeyIn: CreateApiKeyIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
/**
* Delete API Key - Remove an API key permanently
* @param {DeleteApiKeyIn} deleteApiKeyIn API key to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1DeleteApiKey: (deleteApiKeyIn: DeleteApiKeyIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
/**
* Get API Key Details - Retrieve details of a specific API key
* @param {GetApiKeyDetailsIn} getApiKeyDetailsIn Request body with API key ID
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetApiKeyDetails: (getApiKeyDetailsIn: GetApiKeyDetailsIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
/**
* Who Am I - Get current user information
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetWhoAmI: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
/**
* List API Keys - Retrieve user\'s API keys
* @param {ListApiKeysIn} listApiKeysIn Request body
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1ListApiKeys: (listApiKeysIn: ListApiKeysIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
/**
* Update API Key - Modify an existing API key
* @param {UpdateApiKeyIn} updateApiKeyIn Updated API key configuration
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1UpdateApiKey: (updateApiKeyIn: UpdateApiKeyIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
* APIKeyApi - functional programming interface
*/
export declare const APIKeyApiFp: (configuration?: Configuration) => {
/**
* Create API Key - Generate a new API key
* @param {CreateApiKeyIn} createApiKeyIn API key configuration
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1CreateApiKey(createApiKeyIn: CreateApiKeyIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetApiKeyDetailsOut>>;
/**
* Delete API Key - Remove an API key permanently
* @param {DeleteApiKeyIn} deleteApiKeyIn API key to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1DeleteApiKey(deleteApiKeyIn: DeleteApiKeyIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteApiKeyOut>>;
/**
* Get API Key Details - Retrieve details of a specific API key
* @param {GetApiKeyDetailsIn} getApiKeyDetailsIn Request body with API key ID
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetApiKeyDetails(getApiKeyDetailsIn: GetApiKeyDetailsIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetApiKeyDetailsOut>>;
/**
* Who Am I - Get current user information
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetWhoAmI(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WhoAmIOut>>;
/**
* List API Keys - Retrieve user\'s API keys
* @param {ListApiKeysIn} listApiKeysIn Request body
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1ListApiKeys(listApiKeysIn: ListApiKeysIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListApiKeysOut>>;
/**
* Update API Key - Modify an existing API key
* @param {UpdateApiKeyIn} updateApiKeyIn Updated API key configuration
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1UpdateApiKey(updateApiKeyIn: UpdateApiKeyIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetApiKeyDetailsOut>>;
};
/**
* APIKeyApi - factory interface
*/
export declare const APIKeyApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
/**
* Create API Key - Generate a new API key
* @param {APIKeyApiV1CreateApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1CreateApiKey(requestParameters: APIKeyApiV1CreateApiKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<GetApiKeyDetailsOut>;
/**
* Delete API Key - Remove an API key permanently
* @param {APIKeyApiV1DeleteApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1DeleteApiKey(requestParameters: APIKeyApiV1DeleteApiKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteApiKeyOut>;
/**
* Get API Key Details - Retrieve details of a specific API key
* @param {APIKeyApiV1GetApiKeyDetailsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetApiKeyDetails(requestParameters: APIKeyApiV1GetApiKeyDetailsRequest, options?: RawAxiosRequestConfig): AxiosPromise<GetApiKeyDetailsOut>;
/**
* Who Am I - Get current user information
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetWhoAmI(options?: RawAxiosRequestConfig): AxiosPromise<WhoAmIOut>;
/**
* List API Keys - Retrieve user\'s API keys
* @param {APIKeyApiV1ListApiKeysRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1ListApiKeys(requestParameters: APIKeyApiV1ListApiKeysRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListApiKeysOut>;
/**
* Update API Key - Modify an existing API key
* @param {APIKeyApiV1UpdateApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1UpdateApiKey(requestParameters: APIKeyApiV1UpdateApiKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<GetApiKeyDetailsOut>;
};
/**
* Request parameters for v1CreateApiKey operation in APIKeyApi.
*/
export interface APIKeyApiV1CreateApiKeyRequest {
/**
* API key configuration
*/
readonly createApiKeyIn: CreateApiKeyIn;
}
/**
* Request parameters for v1DeleteApiKey operation in APIKeyApi.
*/
export interface APIKeyApiV1DeleteApiKeyRequest {
/**
* API key to delete
*/
readonly deleteApiKeyIn: DeleteApiKeyIn;
}
/**
* Request parameters for v1GetApiKeyDetails operation in APIKeyApi.
*/
export interface APIKeyApiV1GetApiKeyDetailsRequest {
/**
* Request body with API key ID
*/
readonly getApiKeyDetailsIn: GetApiKeyDetailsIn;
}
/**
* Request parameters for v1ListApiKeys operation in APIKeyApi.
*/
export interface APIKeyApiV1ListApiKeysRequest {
/**
* Request body
*/
readonly listApiKeysIn: ListApiKeysIn;
}
/**
* Request parameters for v1UpdateApiKey operation in APIKeyApi.
*/
export interface APIKeyApiV1UpdateApiKeyRequest {
/**
* Updated API key configuration
*/
readonly updateApiKeyIn: UpdateApiKeyIn;
}
/**
* APIKeyApi - object-oriented interface
*/
export declare class APIKeyApi extends BaseAPI {
/**
* Create API Key - Generate a new API key
* @param {APIKeyApiV1CreateApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1CreateApiKey(requestParameters: APIKeyApiV1CreateApiKeyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetApiKeyDetailsOut, any>>;
/**
* Delete API Key - Remove an API key permanently
* @param {APIKeyApiV1DeleteApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1DeleteApiKey(requestParameters: APIKeyApiV1DeleteApiKeyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<DeleteApiKeyOut, any>>;
/**
* Get API Key Details - Retrieve details of a specific API key
* @param {APIKeyApiV1GetApiKeyDetailsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetApiKeyDetails(requestParameters: APIKeyApiV1GetApiKeyDetailsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetApiKeyDetailsOut, any>>;
/**
* Who Am I - Get current user information
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1GetWhoAmI(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WhoAmIOut, any>>;
/**
* List API Keys - Retrieve user\'s API keys
* @param {APIKeyApiV1ListApiKeysRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1ListApiKeys(requestParameters: APIKeyApiV1ListApiKeysRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ListApiKeysOut, any>>;
/**
* Update API Key - Modify an existing API key
* @param {APIKeyApiV1UpdateApiKeyRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
v1UpdateApiKey(requestParameters: APIKeyApiV1UpdateApiKeyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetApiKeyDetailsOut, any>>;
}
/**
* APIUsag