Zamna Session API
The Session API from Zamna — 9 operation(s) for session.
The Session API from Zamna — 9 operation(s) for session.
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/zamna-session-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: Zamna Ready To Fly Session API
version: '2.18'
servers:
- url: https://paxcheck-app-dev.staging.zamna.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Session
paths:
/session/{sessionId}:
get:
summary: Get MultiPax session
operationId: getSession
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
responses:
'200':
description: MultiPax session
content:
application/json:
schema:
$ref: '#/components/schemas/GetSessionResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}:
get:
summary: Get Pax session
operationId: getPaxSession
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
responses:
'200':
description: Pax session
content:
application/json:
schema:
$ref: '#/components/schemas/GetPaxSessionResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/address:
post:
summary: Add address to pax session
operationId: addAddress
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddAddressRequest'
required: true
responses:
'200':
description: Updated pax session
content:
application/json:
schema:
$ref: '#/components/schemas/AddAddressResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/answers:
post:
summary: Provide nationality and/or birthdate and/or set answers to questions
operationId: postAnswers
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetAnswersRequest'
required: true
responses:
'200':
description: Updated Pax session
content:
application/json:
schema:
$ref: '#/components/schemas/SetAnswersResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/apply-document/manual:
post:
summary: Apply manually provided non-travel document data
operationId: applyManualDocument
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyManualDocumentRequest'
required: true
responses:
'200':
description: Either error (rules mismatch), or success (with updated Pax session)
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyManualDocumentResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/apply-document/recognised:
post:
summary: Apply document recognised by /recognise-document
operationId: applyRecognisedDocument
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyRecognisedDocumentRequest'
required: true
responses:
'200':
description: Success (with updated Pax session) or Error (doc processing, id or rules mismatch)
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyRecognisedDocumentResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/apply-document/travel-document:
post:
summary: Apply manually provided travel document data
operationId: applyTravelDocument
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyTravelDocumentRequest'
required: true
responses:
'200':
description: Either error (id or rules mismatch), or success (with updated Pax session)
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyTravelDocumentResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/pax-session/{paxSessionId}/recognise-document:
post:
summary: Recognise document (photo, scan or PDF)
operationId: recogniseDocument
parameters:
- name: X-Request-Id
in: header
description: Request id to be returned in response header (auto generated if not specified)
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
- name: paxSessionId
in: path
description: Pax session id (prefixed with 'pax_')
required: true
schema:
type: string
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
method:
type: string
expected_document_types:
type: array
items:
type: string
page_index_to_process:
type: integer
files:
type: array
items:
type: string
format: binary
required: true
responses:
'200':
description: Success (with updated Pax session) or Error (doc processing, id or rules mismatch)
content:
application/json:
schema:
$ref: '#/components/schemas/RecogniseDocumentResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
/session/{sessionId}/set-consent:
post:
summary: Set consent for MultiPax session
operationId: setConsent
parameters:
- name: X-Request-Id
in: header
description: request id to be returned in response header (generated if not specified)
schema:
type: string
- name: Accept-Language
in: header
description: Locale to return content with
schema:
type: string
- name: sessionId
in: path
description: MultiPax session id
required: true
schema:
type: string
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetConsentRequest'
required: true
responses:
'200':
description: Updated MultiPax session
content:
application/json:
schema:
$ref: '#/components/schemas/SetConsentResponse'
'401':
description: Unauthorized
security:
- BearerAuth: []
tags:
- Session
components:
schemas:
IcaoSex:
type: string
enum:
- M
- F
- X
HaveDocumentQuestion:
type: object
description: A Yes/No question (boolean), manifested through a positive statement of 'I do have {document type}' format
properties:
id:
type: string
description: Question id
example: HelbxGxFg0gpdAdnumztVA==
is_relevant:
type: boolean
description: Whether question is relevant for this passenger, according to current answers to all questions
answer:
description: Question answer, if was provided
example: 'null'
type:
- boolean
- 'null'
question_title:
$ref: '#/components/schemas/QuestionTitle'
description: Question title (localised)
sample_image:
description: Question sample image (eg US Green Card specimen) with a title
anyOf:
- $ref: '#/components/schemas/QuestionSampleImage'
- type: 'null'
doc_category_order:
type: integer
format: int32
description: Document category sort order
doc_category_title:
type: string
description: Document category (localised)
example: Visa
doc_title:
type: string
description: Document title (localised)
example: US Green Card
country:
description: Document country code (iso alpha-3) - can be EURO
example: USA
type:
- string
- 'null'
type:
type: string
required:
- id
- is_relevant
- question_title
- doc_category_order
- doc_category_title
- doc_title
- type
FieldNotIn:
type: object
description: 'Checklist item requirement: field value NOT IN list ({field} not in [{values}], eg docSubType not in [B1,B2,B1/B2])'
properties:
as_text:
type: string
description: Requirement represented as text
example: docCountry not in (GBR, USA)
field:
type: string
description: Field
example: docCountry
values:
type: array
items:
type: string
description: Not allowed values
example: '["GBR", "USA"]'
type:
type: string
required:
- as_text
- field
- values
- type
BarcodeToDocMismatch:
type: object
description: 'Doc recognition error: Barcode data to document mismatch'
properties:
type:
type: string
required:
- type
ErrorContainer:
type: object
properties:
general_error:
anyOf:
- $ref: '#/components/schemas/GeneralError'
- type: 'null'
DeparturePoint:
type: object
description: Departure point - API output
properties:
airport:
$ref: '#/components/schemas/Airport'
description: Airport record
departure_datetime:
type: string
description: Date and time of departure (local)
pattern: $(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})^
country_code:
type: string
description: ISO 3166-1 alpha-3 country code
example: USA
required:
- airport
- departure_datetime
- country_code
NoBarcodeScannedError:
type: object
description: 'Doc recognition error: barcode was not present'
properties:
type:
type: string
required:
- type
ApplyDocumentError:
oneOf:
- $ref: '#/components/schemas/IdMismatches'
- $ref: '#/components/schemas/NoItemsToApplyDocumentTo'
- $ref: '#/components/schemas/RulesMismatches'
- $ref: '#/components/schemas/SignalsMismatches'
- $ref: '#/components/schemas/TravelDocumentRequired'
discriminator:
propertyName: type
mapping:
id-mismatches: '#/components/schemas/IdMismatches'
no-items-to-apply-document-to: '#/components/schemas/NoItemsToApplyDocumentTo'
rules-mismatches: '#/components/schemas/RulesMismatches'
signals-mismatches: '#/components/schemas/SignalsMismatches'
provide-passport: '#/components/schemas/TravelDocumentRequired'
DocumentSidesExpectation:
type: string
enum:
- DATA_PAGE
- CARD_FRONT
- CARD_BACK
- ALL
DocumentSidesConfiguration:
type: string
enum:
- SINGLE_SIDE_OR_FILE
- MULTIPLE_SIDES_OR_FILES
ComposedOr:
type: object
description: 'Composed checklist item requirement: Or([ChecklistItemRequirement])'
properties:
as_text:
type: string
description: Requirement represented as text
example: expiryDate >= 2025-05-27 or nationality in (GBR,USA)
requirements:
type: array
items:
$ref: '#/components/schemas/ChecklistItemRequirement'
description: Embedded requirements as a list (... or ... or ...)
type:
type: string
required:
- as_text
- requirements
- type
SetAnswersResponse:
type: object
properties:
data:
anyOf:
- $ref: '#/components/schemas/PaxSession'
- type: 'null'
error:
anyOf:
- $ref: '#/components/schemas/ErrorContainer'
- type: 'null'
ApplyManualDocumentResponseError:
type: object
properties:
general_error:
anyOf:
- $ref: '#/components/schemas/GeneralError'
- type: 'null'
operationError:
$ref: '#/components/schemas/ApplyDocumentError'
required:
- operationError
AddAddressResult:
type: object
properties:
updated_pax_session:
$ref: '#/components/schemas/PaxSession'
required:
- updated_pax_session
SetConsentRequest:
type: object
description: Request to set consent response for MultiPax session
properties:
consent:
type: boolean
description: Consent response
example: 'true'
required:
- consent
PickFromListQuestion:
type: object
description: A question with options to choose from, requires single answer (option id)
properties:
id:
type: string
description: Question id
example: PassportTypeInQuestion
is_relevant:
type: boolean
description: Whether question is relevant for this passenger, according to current answers to all questions
answer:
description: Question answer (Option id), if was provided
example: 'null'
type:
- string
- 'null'
options:
type: array
items:
$ref: '#/components/schemas/Option'
description: Options to choose from
question_title:
$ref: '#/components/schemas/QuestionTitle'
description: Question title (localised)
sample_image:
description: Question sample image with a title
anyOf:
- $ref: '#/components/schemas/QuestionSampleImage'
- type: 'null'
default_value:
type:
- string
- 'null'
type:
type: string
required:
- id
- is_relevant
- options
- question_title
- type
FieldMismatch:
type: object
description: 'Rules mismatch: specific document field'
properties:
field:
type: string
description: Name of the mismatched document field
type:
type: string
required:
- field
- type
QuestionSampleImage:
type: object
description: Question sample image with a name to form expressions like 'Sample of {title}'
properties:
url:
type: string
description: Image URL for a sample image to go with the question
example: https://zamna-webview.s3.eu-west-1.amazonaws.com/samples/usa-green-card.png
title:
description: Optional title
example: US Green Card
type:
- string
- 'null'
required:
- url
OnwardTicket:
type: object
description: Manually entered return or onward ticket
properties:
travelDate:
type: string
format: date
type:
type: string
required:
- travelDate
- type
ArrivalPoint:
type: object
description: Arrival point - API output
properties:
airport:
$ref: '#/components/schemas/Airport'
description: Airport record
arrival_datetime:
type: string
description: Date and time of arrival (local)
pattern: $(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})^
country_code:
type: string
description: ISO 3166-1 alpha-3 country code
example: COL
required:
- airport
- arrival_datetime
- country_code
ComposedAnd:
type: object
description: 'Composed checklist item requirement: And([ChecklistItemRequirement])'
properties:
as_text:
type: string
description: Requirement represented as text
example: expiryDate >= 2025-05-27 and docCountry = CAN
requirements:
type: array
items:
$ref: '#/components/schemas/ChecklistItemRequirement'
description: Embedded requirements as a list (... and ... and ...)
type:
type: string
required:
- as_text
- requirements
- type
AllowedDocument:
type: object
description: Describes a document which can be used to resolve checklist item
properties:
type:
type: string
description: Type of document
example: USA_GREEN_CARD
document_format:
$ref: '#/components/schemas/AllowedDocumentFormat'
description: Document format - to represent in UI
example: BOOKLET
title:
type: string
description: Title (localised)
example: US Green Card
description:
description: Description (localised)
example: Verification of your US Green Card is required to travel
type:
- string
- 'null'
provision_methods:
type: array
items:
$ref: '#/components/schemas/DocumentProvisionMethod'
description: Allowed provision methods (MANUAL, SCAN, UPLOAD)
sides_configuration:
$ref: '#/components/schemas/DocumentSidesConfiguration'
description: Whether document has one or multiple sides (or files, ie PDF)
sides_expectation:
$ref: '#/components/schemas/DocumentSidesExpectation'
description: Whether one or multiple sides (or files, ie PDF) are requested from passenger
side_with_mrz:
$ref: '#/components/schemas/DocumentMrzConfiguration'
description: MRZ configuration
multipax_resolution_supported:
type: boolean
description: If true, document of this type can be applied to multiple pax sessions with a single apply (ie using multipax-apply-document/file)
example: 'true'
sample_image_src:
description: Sample image URL (optional)
example: https://zamna-webview.s3.eu-west-1.amazonaws.com/samples/col-id-card.png
type:
- string
- 'null'
country:
description: Document country code (iso alpha-3) - can be EURO
example: USA
type:
- string
- 'null'
expect_long_processing:
type: boolean
description: Whether to expect long processing on the backend - allows to show user a warning
page_index_to_process:
format: int32
description: Which page of the document is relevant - pass to /apply
type:
- integer
- 'null'
required:
- type
- document_format
- title
- provision_methods
- sides_configuration
- sides_expectation
- side_with_mrz
- multipax_resolution_supported
- expect_long_processing
AddAddressResponse:
type: object
properties:
data:
anyOf:
- $ref: '#/components/schemas/AddAddressResult'
- type: 'null'
error:
anyOf:
- $ref: '#/components/schemas/ErrorContainer'
- type: 'null'
ChecklistItem:
oneOf:
- $ref: '#/components/schemas/DocumentRequirement'
- $ref: '#/components/schemas/InfoItem'
discriminator:
propertyName: type
mapping:
document-requirement: '#/components/schemas/DocumentRequirement'
info-item: '#/components/schemas/InfoItem'
MultipaxSession:
type: object
description: MultiPax session (ie booking)
properties:
id:
type: string
description: MultiPax session id
example: aae10767-d13b-4e5c-a9fe-0ab8f13b8087
journey:
$ref: '#/components/schemas/Journey'
description: Journey
paxs:
type: array
items:
$ref: '#/components/schemas/PaxSession'
description: List of Pax sessions (ie passengers)
required:
- id
- journey
- paxs
DocumentRequirement:
type: object
description: Document requirement with status and acceptable documents (and methods) to resolve it
properties:
id:
type: string
description: Checklist item id
example: QFJHy3K9eSufEkA7auLeZQ==
title:
type: string
description: Title (localised)
example: US Green Card
short_title:
description: Short document title (localised)
example: visa
type:
- string
- 'null'
description:
description: Description (localised)
example: What is ESTA?...
type:
- string
- 'null'
short_description:
description: Short description (localised)
example: You need to pay the Non-Resident Fee (DNR)
type:
- string
- 'null'
requirements:
items:
$ref: '#/components/schemas/ChecklistItemRequirement'
description: Any relevant requirements to present to passenger (eg hours to the onward flight for TICKET checklist item type)
type:
- array
- 'null'
external_link:
description: External link for more info
example: https://ceac.state.gov/genniv/
type:
- string
- 'null'
rule_origin:
$ref: '#/components/schemas/RuleOrigin'
description: Rule origin
allowed_documents_set:
description: A set of documents with which this checklist item can be resolved
anyOf:
- $ref: '#/components/schemas/AllowedDocumentsSet'
- type: 'null'
status:
$ref: '#/components/schemas/ChecklistItemStatus'
description: Checklist item status
example: RESOLVED
item_type:
$ref: '#/components/schemas/ChecklistItemType'
description: Checklist item type
is_travel_document:
type: boolean
description: Whether item is Travel Document requirement
example: 'true'
type:
type: string
required:
- id
- title
- rule_origin
- status
- item_type
- is_travel_document
- type
Answer:
oneOf:
- $ref: '#/components/schemas/Bool'
- $ref: '#/components/schemas/FromList'
discriminator:
propertyName: type
mapping:
bool-answer: '#/components/schemas/Bool'
from-list-answer: '#/components/schemas/FromList'
SetConsentResponse:
type: object
properties:
data:
anyOf:
- $ref: '#/components/schemas/MultipaxSession'
- type: 'null'
error:
anyOf:
- $ref: '#/components/schemas/ErrorContainer'
- type: 'null'
UnknownRecognitionError:
type: object
description: 'Doc recognition error: unknown error'
properties:
message:
type: string
description: Error message
type:
type: string
required:
- message
- type
PaxSession:
type: object
description: Pax session (ie passenger)
properties:
pax_session_id:
type: string
description: Pax session id (prefixed with 'pax_')
example: pax_aae10767-d13b-4e5c-a9fe-0ab8f13b8087
required_action:
description: Next action required
example: ANSWER_QUESTIONS
anyOf:
- $ref: '#/components/schemas/RequiredAction'
- type: 'null'
consented:
description: 'Consent response when provided (true: consented, false: didn''t consent), null otherwise'
type:
- boolean
- 'null'
pax:
$ref: '#/components/schemas/Pax'
description: Passenger basic data (first name, last name, birthdate)
checklist:
$ref: '#/components/schemas/Checklist'
description: Passenger checklist
is_travel_document_verified:
type: boolean
description: Whether travel document requires verification
is_visa_verified:
type: boolean
description: Whether visa requires verification
is_rp_verified:
type: boolean
description: Whether residence permit requires verification
required:
- pax_session_id
- pax
- checklist
- is_travel_document_verified
- is_visa_verified
- is_rp_verified
MrzToVizMismatch:
type: object
description: 'Doc recognition error: MRZ to VIZ mismatch'
properties:
type:
type: string
required:
- type
ApplyManualDocumentRequest:
type: object
description: Request to provide manually entered non-travel document data to resolve checklist item(s)
properties:
document:
$ref: '#/components/schemas/ApiManualDocument'
ignore_mistakes:
type: boolean
required:
- document
- ignore_mistakes
Pax:
type: object
description: Passenger basic data (first name, last name, birthdate)
properties:
first_name:
description: Given names, should be provided if last_name is null
example: JACK MARVO
type:
- string
- 'null'
last_name:
description: Last name, should be provided if first_name is null
example: SMITH VESSEN
type:
- string
- 'null'
birthdate:
format: date
description: Birthdate, if set in DCS
type:
- string
- 'null'
ApplyRecognisedDocumentResult:
type: object
properties:
updated_pax_session:
$ref: '#/components/schemas/PaxSession'
additional_pax_sessions:
items:
$ref: '#/components/schemas/PaxSession'
type:
- array
- 'null'
required:
- updated_pax_session
TravelDocumentRequired:
type: object
description: 'Apply file: Passport have to be provided first'
properties:
type:
type: string
required:
- type
InfoItem:
type: object
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zamna/refs/heads/main/openapi/zamna-session-api-openapi.yml