Authologic Conversation API
1. Base Methods needed for the verification process.
1. Base Methods needed for the verification process.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/authologic-conversation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Authologic Customer Conversation API
description: 'The integration API for using with Authlogic Engine.
Authologic allows for simple and effective checking of the user''s identity, and the use of API enables initiation by an external system
the verification process and the receipt of its results.'
contact:
name: API support
email: tech-support@authologic.com
version: '1.1'
servers:
- url: https://sandbox.authologic.com
description: Testing environment
security:
- apiKey: []
- oauth2: []
tags:
- name: Conversation
description: 1. Base Methods needed for the verification process.
externalDocs:
description: Usage
url: https://developer.authologic.com/docs/developer-documentation/home
paths:
/api/conversations:
post:
tags:
- Conversation
summary: Start a new user verification process
description: 'Each process of getting data and confirming the identity of the user should start by calling this method.
The call initiates this process and returns information about the address to which the user should be redirected to
gathering the information requested from him.
::note
In order to use the API you need to obtain the login and password for a for a specific environment.
You can generate a new API key in the API Keys section of the OmniPanel.
The API is accessible via either HTTP Basic authentication or OAuth2 client credentials flow.
Both methods accept the same API key.
When using OAuth2, the API key can be sent either via Authentication Bearer header or via HTTP POST body.
::
::note
This is because all of these fields may have their default values set on the Authologic side when creating your account. If any value does not have a default setting you will get an error and you should either provide that value or report to Authologic to set the default one.
::
The query contains three groups of information:
* general information such as:
* **userKey**: User ID on your system
* **strategy**: information about the identity checking strategy (usually the default value is sufficient)
* **returnUrl**: URL to which the user should be redirected after the process is completed
* **callbackUrl**: information about the return address to which the system will send the acquired information. If this information is not provided, Authologic assumes that the information will be downloaded by the client
* **query**: query definition containing individual products provided by Authologic
::warning
The test environment allows the use of an HTTP address for **callbackUrl**. A production environment always requires HTTPS.
::
::note
For testing purposes, to check the callback request, you can use online tools that accept and present the outgoing requests. One such tool is, for example, Webhook. When creating a conversation, it is enough to provide the url generated by Webhook in the callbackUrl parameter.
::
The information contained in the query section is divided into specific products:
* **identity** - fetch user information. This section is always required
* **requireOneOf**: User information to be specified by Authologic. This is represented as set of sets and Authologic will try to fetch one of these
* **optional**: User information that may be specified by Authologic when the information is available
* **aml** - check user on AML lists
* **checks**: lists where the user should be checked
* **auth** - user authentication product
* **bankTransactions** - the process of retrieving information about transactions.
* **type**: type of transaction - credit, debit or all
* **flags**: Additional information on what to return
* **verify** - confirmation of the compliance of user data
* **user**: information about user that should be verified'
operationId: createConversation
requestBody:
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/CreateConversation'
examples:
Simple verification process example:
summary: The simplest verification process
description: This example shows the main scenario of verification.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
identity:
requireOneOf:
- - PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
optional:
- list:
- PERSON_CONTACT_EMAIL_OTP
Multiple success options example:
summary: The process with multiple success options
description: This example shows how to use multiple field sets to describe alternative success options.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
identity:
requireOneOf:
- - PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
- PERSON_IDS_NATIONAL_ID
- - PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
- PERSON_IDS_PASSPORT_ID
optional:
- list:
- PERSON_CONTACT_EMAIL_OTP
AML verification process example:
summary: Verification process with AML continuous monitoring
description: This example shows how to perform verification and set up the AML monitoring.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
identity:
requireOneOf:
- - PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
aml:
checks:
- PEP
- SANCTIONS
subscription: {}
Example usage of the authorization product:
summary: The user authorization product
description: This example shows the main scenario for user authorization.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
auth: {}
Example usage of the affordability product:
summary: The affordability product
description: This example shows the main scenario of verification.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
affordability:
user:
country: NL
email: test.user@email.com
Example usage of the Database verification product:
summary: The Database verification product
description: This example shows the main scenario of identity and database verification.
value:
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
returnUrl: https://authologic.com/tests/return/?conversation={conversationId}
strategy: public:default
query:
identity:
requireOneOf:
- - PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
databaseVerification: {}
responses:
'200':
description: Conversation started
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ConversationInfo'
examples:
Conversation created response example:
summary: Conversation Created and waiting for the user
description: The conversation was created and now the user should be redirected to the given url.
value:
id: 022e8eaf-b06d-44b9-a68f-45eef1353dbe
userKey: 7dfb9ded-c38f-49ae-95e2-307283a0b1f6
url: https://sandbox.authologic.com/c/022e8eaf-b06d-44b9-a68f-45eef1353dbe
status: CREATED
result:
identity:
status: IN_PROGRESS
user: {}
'400':
description: Bad Request
content:
application/vnd.authologic.v1.1+json:
schema:
type: string
oneOf:
- $ref: '#/components/schemas/BadRequestApiError'
- $ref: '#/components/schemas/MethodArgumentNotValidError'
- $ref: '#/components/schemas/MethodArgumentTypeMismatchError'
- $ref: '#/components/schemas/ConstraintViolationError'
- $ref: '#/components/schemas/CustomValidationApiError'
- $ref: '#/components/schemas/OperationNotSupportedApiFieldError'
- $ref: '#/components/schemas/MissingHeaderApiError'
examples:
Bad request example:
summary: Bad request example
description: Example of bad request in case validation error.
value:
status: BAD_REQUEST
message: Validation failed for argument example_argument
violations: []
'402':
description: Exhaustion of the plan or limitations related to non-payment
'403':
description: Forbidden
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
Forbidden call response example:
summary: Forbidden example
description: Example of forbidden call.
value:
status: FORBIDDEN
message: 'Permission denied for strategy: `public:b`.'
violations: []
'500':
description: Server side error
/api/conversations/{conversationId}:
get:
tags:
- Conversation
summary: Retrieving up-to-date data as defined by the user identity verification process
description: '::warning
In practice, instead of this method you should use the callback mechanism described here.'
operationId: getConversation
parameters:
- name: conversationId
in: path
description: Conversation ID
required: true
schema:
type: string
responses:
'200':
description: Conversation found
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ConversationInfo'
'400':
description: Bad Request
content:
application/vnd.authologic.v1.1+json:
schema:
type: string
oneOf:
- $ref: '#/components/schemas/BadRequestApiError'
- $ref: '#/components/schemas/MethodArgumentNotValidError'
- $ref: '#/components/schemas/MethodArgumentTypeMismatchError'
- $ref: '#/components/schemas/ConstraintViolationError'
- $ref: '#/components/schemas/CustomValidationApiError'
- $ref: '#/components/schemas/OperationNotSupportedApiFieldError'
- $ref: '#/components/schemas/MissingHeaderApiError'
example:
status: BAD_REQUEST
message: 'JSON body has an illegal format [Line: 10, Column: 12]: Unexpected character (''"'' (code 34)): was expecting Array entries.'
violations: []
'402':
description: Exhaustion of the plan or limitations related to non-payment
'403':
description: Forbidden
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ApiError'
example:
status: FORBIDDEN
message: 'Permission denied for strategy: `public:b`.'
violations: []
'404':
description: Conversation not found
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ApiError'
example:
status: NOT_FOUND
message: Item not found
violations: []
'410':
description: Conversation is unavailable
content:
application/vnd.authologic.v1.1+json:
schema:
$ref: '#/components/schemas/ApiError'
example:
status: GONE
message: Conversation is unavailable due to retention policy.
violations: []
'500':
description: Server side error
components:
schemas:
ConversationInfoResult:
type: object
properties:
identity:
$ref: '#/components/schemas/ConversationInfoIdentityProductResult'
description: Identity check result
title: ConversationIdentityResult
verify:
$ref: '#/components/schemas/ConversationInfoVerifyProductResult'
description: Verify step result
title: ConversationVerifyResult
bankTransactions:
$ref: '#/components/schemas/ConversationInfoBankTransactionsProductResult'
description: The result of retrieving transaction data
title: ConversationBankTransactionsResult
aml:
$ref: '#/components/schemas/ConversationInfoAMLProductResult'
description: The result of AML checks
title: ConversationAMLResult
auth:
$ref: '#/components/schemas/ConversationInfoAuthProductResult'
description: The result of authorization
title: ConversationAuthResult
enquiry:
$ref: '#/components/schemas/ConversationProductEnquiryResult'
description: The result of enquiry form
title: ConversationEnquiryResult
affordability:
$ref: '#/components/schemas/ConversationInfoAffordabilityProductResult'
description: The result of affordability assessment product
title: ConversationInfoAffordabilityProductResult
ageVerification:
$ref: '#/components/schemas/ConversationInfoAgeVerificationProductResult'
description: '[BETA] The result of age verification'
title: ConversationAgeVerificationResult
databaseVerification:
$ref: '#/components/schemas/ConversationInfoDbVProductResult'
description: The result of database verification
title: ConversationDbVResult
ConversationProductValidationResult:
type: object
properties:
name:
type: string
description: Validator name.
readOnly: true
result:
type: string
description: Validation result.
enum:
- ACCEPTED
- FAILED
- ERROR
readOnly: true
details:
type: object
additionalProperties: {}
description: Validation details.
readOnly: true
required:
- details
- name
- result
CompanyName:
type: object
properties:
name:
type: string
description: Company name
example: ACME Inc.
maxLength: 200
minLength: 0
ConversationInfoIdentityProductResult:
type: object
properties:
status:
type: string
description: 'Result status:
* IN_PROGRESS - checking in progress
* FINISHED - checking completed
* PARTIAL - checking completed but only some data could be identified
* FAILED - checking completed but no data could be determined
'
enum:
- IN_PROGRESS
- FINISHED
- FAILED
- PARTIAL
example: FINISHED
readOnly: true
errors:
type: array
description: Additional information on possible causes of verification failure
items:
type: string
readOnly: true
uniqueItems: true
user:
$ref: '#/components/schemas/DiscoveredUserInfo'
description: Data discovered during identity checks
readOnly: true
checks:
type: array
description: Additional information about the validations performed and their results
items:
$ref: '#/components/schemas/ConversationProductValidationResult'
readOnly: true
required:
- status
- user
AMLProduct:
type: object
properties:
checks:
type: array
description: List of AML checks to perform
items:
type: string
enum:
- PEP
- SANCTIONS
- ADVERSE_MEDIA
- SIP
- OTHER
subscription:
$ref: '#/components/schemas/AMLSubscription'
description: The presence of the object enables recurring AML lists checking.
user:
$ref: '#/components/schemas/AMLUserInfo'
description: Individual's data in case of AML list check without KYC verification.
required:
- checks
Violation:
type: object
properties:
field:
type: string
description: Field name
message:
type: string
description: Descriptive error message
required:
- field
- message
BankTransactionsProduct:
type: object
properties:
type:
type: string
description: 'Transaction type to be retrieved:
* CREDIT - credit
* DEBIT - debit
* ALL - all types
'
enum:
- CREDIT
- DEBIT
- ALL
flags:
type: array
items:
type: string
enum:
- INCLUDE_SCHEDULED
- INCLUDE_TAGS
uniqueItems: true
required:
- flags
- type
BadRequestApiError:
type: object
properties:
status:
type: string
description: Response status
message:
type: string
description: Descriptive error message
violations:
type: array
description: Validation error list
items:
$ref: '#/components/schemas/Violation'
statusDetail:
type: string
description: Response status detailed information
required:
- message
- status
- violations
VerifyProductResultDetailInfo:
type: object
properties:
field:
type: string
description: The field to which the data relate
enum:
- PERSON_NAME_FIRSTNAME
- PERSON_NAME_LASTNAME
- PERSON_NAME_MIDDLENAME
- PERSON_NAME_MIDDLE_INITIAL
- PERSON_NAME_FULLNAME
- PERSON_NAME_MOTHER_NAME
- PERSON_NAME_FATHER_NAME
- PERSON_NAME_SPELLING
- PERSON_IDS_NATIONAL_ID
- PERSON_IDS_ACCOUNTS
- PERSON_IDS_IDCARD_ID
- PERSON_IDS_IDCARD_TYPE
- PERSON_IDS_IDCARD_PHOTO
- PERSON_IDS_IDCARD_ISSUE_DATE
- PERSON_IDS_IDCARD_EXPIRY_DATE
- PERSON_IDS_IDCARD_ISSUE_COUNTRY
- PERSON_IDS_IDCARD_ISSUER
- PERSON_IDS_PASSPORT_ID
- PERSON_IDS_PASSPORT_ISSUE_DATE
- PERSON_IDS_PASSPORT_EXPIRY_DATE
- PERSON_IDS_PASSPORT_PHOTO
- PERSON_IDS_PASSPORT_ISSUE_COUNTRY
- PERSON_IDS_PASSPORT_ISSUER
- PERSON_IDS_RESIDENCE_PERMIT_ID
- PERSON_IDS_RESIDENCE_PERMIT_TYPE
- PERSON_IDS_RESIDENCE_PERMIT_ISSUE_DATE
- PERSON_IDS_RESIDENCE_PERMIT_EXPIRY_DATE
- PERSON_IDS_RESIDENCE_PERMIT_PHOTO
- PERSON_IDS_RESIDENCE_PERMIT_ISSUE_COUNTRY
- PERSON_IDS_RESIDENCE_PERMIT_ISSUER
- PERSON_IDS_DRIVER_LICENCE_ID
- PERSON_IDS_DRIVER_LICENCE_ISSUE_DATE
- PERSON_IDS_DRIVER_LICENCE_EXPIRY_DATE
- PERSON_IDS_DRIVER_LICENCE_PHOTO
- PERSON_IDS_DRIVER_LICENCE_ISSUE_COUNTRY
- PERSON_IDS_DRIVER_LICENCE_ISSUE_STATE
- PERSON_IDS_DRIVER_LICENCE_ISSUER
- PERSON_IDS_DRIVER_LICENCE_CATEGORIES
- PERSON_IDS_DRIVER_LICENCE_ADDITIONAL_ID
- PERSON_IDS_DRIVER_LICENCE_LIMITATIONS
- PERSON_IDS_DRIVER_LICENCE_DOCUMENT_STATUS
- PERSON_IDS_OTHER_DOCUMENT_ID
- PERSON_IDS_OTHER_DOCUMENT_DESCRIPTION
- PERSON_IDS_OTHER_DOCUMENT_ISSUE_DATE
- PERSON_IDS_OTHER_DOCUMENT_EXPIRY_DATE
- PERSON_IDS_OTHER_DOCUMENT_ISSUE_COUNTRY
- PERSON_IDS_OTHER_DOCUMENT_ISSUER
- PERSON_IDS_OTHER_DOCUMENT_PHOTO
- PERSON_INFO_GENDER
- PERSON_INFO_NATIONALITY
- PERSON_INFO_BIRTHDATE
- PERSON_INFO_BIRTH_CITY
- PERSON_INFO_BIRTH_COUNTRY
- PERSON_INFO_AGE
- PERSON_INFO_FOREIGNER_STATUS
- COMPANY_NAME_NAME
- COMPANY_IDS_TAX_ID
- PERSON_ADDRESS
- COMPANY_ADDRESS
- PERSON_CONTACT_EMAIL
- PERSON_CONTACT_PHONE
- PERSON_CONTACT_EMAIL_OTP
- PERSON_CONTACT_PHONE_OTP
- COMPANY_CONTACT_EMAIL
- COMPANY_CONTACT_PHONE
- COMPANY_IDS_ADDITIONAL_ID
- COMPANY_IDS_ACCOUNTS
readOnly: true
reliability:
type: number
format: double
description: Information about how closely the field matches the input data
maximum: 1
minimum: 0
readOnly: true
required:
- field
- reliability
PersonAccountInfo:
type: object
description: User account information
properties:
swiftbic:
type: string
description: Bank's SWIFT / BIC code
example: BREXPLPW
maxLength: 50
minLength: 0
accountId:
type: string
description: User account identification number
example: PL27114020040000300201355387
maxLength: 50
minLength: 0
currency:
type: string
description: Account currency
example: PLN
maxLength: 3
minLength: 0
CompanyIds:
type: object
properties:
taxId:
type: string
description: 'Tax identification number (in Poland: NIP) of the company'
example: 1234567890
maxLength: 50
minLength: 0
additionalId:
type: string
description: Additional identifier
example: A03015512
maxLength: 50
minLength: 0
accounts:
type: array
description: Company account list
items:
$ref: '#/components/schemas/CompanyAccountInfo'
required:
- accounts
CompanyAccountInfo:
type: object
description: Company account information
properties:
swiftbic:
type: string
description: Bank's SWIFT / BIC code
example: BREXPLPW
maxLength: 50
minLength: 0
accountId:
type: string
description: Company account identification number
example: PL27114020040000300201355387
maxLength: 50
minLength: 0
currency:
type: string
description: Account currency
example: PLN
maxLength: 3
minLength: 0
DatabaseVerificationProduct: {}
ConstraintViolationError:
type: object
properties:
status:
type: string
description: Response status
message:
type: string
description: Descriptive error message
violations:
type: array
description: Validation error list
items:
$ref: '#/components/schemas/Violation'
statusDetail:
type: string
description: Response status detailed information
required:
- message
- status
- violations
ResidencePermitInfo:
type: object
description: User's residence permit
properties:
id:
type: string
description: Number
example: AD 24243423
maxLength: 50
minLength: 0
issueDate:
type: string
format: date
description: Date of issue of the document
expiryDate:
type: string
format: date
description: Document expiry date
issueCountry:
type: string
description: Country of issue of the document
example: GB
issuer:
type: string
description: Authority issuing the document
example: Wojewoda Mazowiecki
ConversationInfoAuthProductResult:
type: object
properties:
status:
type: string
description: 'Result status:
* IN_PROGRESS - checking in progress
* FINISHED - checking completed
* PARTIAL - checking completed but only some data could be identified
* FAILED - checking completed but no data could be determined
'
enum:
- IN_PROGRESS
- FINISHED
- FAILED
- PARTIAL
example: FINISHED
readOnly: true
token:
type: string
description: Authorization token.
readOnly: true
challenge:
type: string
description: Equivalent of a user's login in a given method.
readOnly: true
required:
- status
ConversationInfo:
type: object
properties:
id:
type: string
description: Unique identifier for the conversation
example: e0c0b3cc-8238-414f-9940-9f14bd1b8693
userKey:
type: string
description: Unique user identifier in the Customer's system
example: d5dbb8e0-192e-4bc6-972c-f7948409d10c
url:
type: string
description: The address where user should be redirected to perform the verification
example: https://sandbox.authologic.com/c/022e8eaf-b06d-44b9-a68f-45eef1353dbe
status:
type: string
description: 'Conversation state
* CREATED - conversation ready to be run
* IN_PROGRESS - data is being determined from the query
* FINISHED - query checks have been completed
* CANCELED - checking interrupted by the user
* EXPIRED - conversation is expired
'
enum:
- CREATED
- IN_PROGRESS
- FINISHED
- CANCELED
- EXPIRED
example: CREATED
result:
$ref: '#/components/schemas/ConversationInfoResult'
description: The result of checking individual elements
title: ConversationResult
info:
type: array
description: The information about activated strategy elements
items:
$ref: '#/components/schemas/ConversationStrategyInfo'
title: ConversationInfo
required:
- id
- result
- status
- url
- userKey
title: Conversation
EnquiryProduct:
type: object
properties:
formId:
type: string
description: Form identifier.
ConversationInfoAffordabilityProductResult:
type: object
properties:
status:
type: string
description: 'Result status:
* IN_PROGRESS - checking in progress
* FINISHED - checking completed
* FAILED - checking completed but no data could be determined
'
enum:
- IN_PROGRESS
- FINISHED
- FAILED
- PARTIAL
example: FINISHED
readOnly: true
errors:
type: array
description: Additional information on possible causes of verification failure
items:
type: string
readOnly: true
uniqueItems: true
required:
- status
PersonName:
type: object
properties:
firstName:
type: string
description: User name
example: Jan
maxLength: 100
minLength: 0
lastName:
type: string
description: User surname
example: Kowalski
maxLength: 200
minLength: 0
middleName:
type: string
description: Second name
example: Stanisław
maxLength: 100
minLength: 0
middleInitial:
type: string
description: Middle initial
example: S
maxLength: 1
minLength: 0
fullName:
type: string
description: User full name
example: Jan Stanisław Kowalski
maxLength: 300
minLength: 0
motherName:
type: string
description: Mother's name
example: Anna
maxLength: 100
minLength: 0
fatherName:
type: string
description: Father's name
example: Tomasz
maxLength: 100
minLength: 0
spelling:
$ref: '#/components/schemas/Spelling'
description: Object containing alternative spelling variations, legally recognized aliases, and official transliterations or romanizations of the individual's name
OperationNotSupportedApiFieldError:
type: object
properties:
status:
type: string
description: Response status
message:
type: string
description: Descriptive error message
violations:
type: array
description: Validation error list
items:
$ref: '#/components/schemas/Violation'
statusDetail:
type: string
description: Response status detailed information
required:
- message
- status
- violations
ConversationInfoAgeVerificationProductResult:
type: object
properties:
status:
type: string
description: 'Result status:
* IN_PROGRESS - checking in progress
* FINISHED - checking completed
* FAILED - checking completed but no data could be determined
'
enum:
- IN_PROGRESS
- FINISHED
- FAILED
- PARTIAL
example: FINISHED
readOnly: true
over:
type: integer
format: int32
description: Declared age to verify against.
readOnly: true
result:
type: boolean
description: Age verification result. True if the user's age meets the declared threshold.
readOnly: true
required:
- over
- status
AffordabilityUserInfo:
type: object
properties:
firstName:
type: string
description: First nam
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/authologic/refs/heads/main/openapi/authologic-conversation-api-openapi.yml