Document API (v2)

Download OpenAPI description
Languages
Servers
Staging URL
https://apis.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/documentapi/

Document

APIs for managing and performing operations on documents related to trips and bookings.

Documents

Operations

Upload a document

Request

Upload a document for a specific entity type (e.g., a PNR).

Bodymultipart/form-data
documentMetadataobject(DocumentMetadata)required

Metadata related to document.

documentMetadata.​documentTypestring(DocumentType)required

Document type.

Enum"BOARDING_PASS""CONFIRMATION""INVOICE""VISA""MISCELLANEOUS""OTHERS""TASK_PROCESSOR""EVENT_COVER_IMAGE""LOGO_IMAGE"
documentMetadata.​entityTypestring(EntityType)required

Entity type against which the document is to uploaded.

Enum"PNR""COMPANY""AIR_ITINERARY""EVENT""LOCATION_IMAGE"
documentMetadata.​entityIdstringrequired

Entity Id for the given entity type.

Example: "123124"
documentMetadata.​entityMetadataEntityMetadata (object) or EntityMetadata (object)(EntityMetadata)required
One of:

Metadata for associated entity of document.

documentMetadata.​entityMetadata.​pnrMetadataPnrMetadata (object) or PnrMetadata (object)(PnrMetadata)
One of:

Metadata when document is associated to pnr entity.

documentMetadata.​entityMetadata.​invoiceMetadataobject(InvoiceMetadata)

Metadata associated with an invoice document.

documentMetadata.​entityMetadata.​travelTypestring(TravelType)required

Travel Type

Enum"AIR""HOTEL""CAR""RAIL""LIMO""MISC""ALL"
documentMetadata.​namestringrequired

Document name.

Example: "BoardingPass.pdf"
filestring(binary)required

Contents of the document to be uploaded.

curl -i -X POST \
  https://apis.spotnana.com/v2/documents \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F 'documentMetadata[documentType]=VISA' \
  -F 'documentMetadata[entityType]=PNR' \
  -F 'documentMetadata[entityId]=123124' \
  -F 'documentMetadata[entityMetadata][pnrMetadata][flightMetadata][flightId]=CgNERU4SA1NGTxoKNTQ1NzI5ODcxMQ' \
  -F 'documentMetadata[entityMetadata][invoiceMetadata][invoiceNumber]=SPOT-0001' \
  -F 'documentMetadata[entityMetadata][invoiceMetadata][invoiceType]=FARE_INVOICE' \
  -F 'documentMetadata[entityMetadata][travelType]=AIR' \
  -F 'documentMetadata[name]=BoardingPass.pdf' \
  -F file=string

Responses

OK

Bodyapplication/json
documentIdstring(uuid)required

Unique identifier of the document.

Example: "f49d00fe-1eda-4304-ba79-a980f565281d"
documentMetadataobject(DocumentMetadata)required

Metadata related to document.

documentMetadata.​documentTypestring(DocumentType)required

Document type.

Enum"BOARDING_PASS""CONFIRMATION""INVOICE""VISA""MISCELLANEOUS""OTHERS""TASK_PROCESSOR""EVENT_COVER_IMAGE""LOGO_IMAGE"
documentMetadata.​entityTypestring(EntityType)required

Entity type against which the document is to uploaded.

Enum"PNR""COMPANY""AIR_ITINERARY""EVENT""LOCATION_IMAGE"
documentMetadata.​entityIdstringrequired

Entity Id for the given entity type.

Example: "123124"
documentMetadata.​entityMetadataEntityMetadata (object) or EntityMetadata (object)(EntityMetadata)required
One of:

Metadata for associated entity of document.

documentMetadata.​entityMetadata.​pnrMetadataPnrMetadata (object) or PnrMetadata (object)(PnrMetadata)
One of:

Metadata when document is associated to pnr entity.

documentMetadata.​entityMetadata.​invoiceMetadataobject(InvoiceMetadata)

Metadata associated with an invoice document.

documentMetadata.​entityMetadata.​travelTypestring(TravelType)required

Travel Type

Enum"AIR""HOTEL""CAR""RAIL""LIMO""MISC""ALL"
documentMetadata.​namestringrequired

Document name.

Example: "BoardingPass.pdf"
Response
application/json
{ "documentId": "f49d00fe-1eda-4304-ba79-a980f565281d", "documentMetadata": { "documentType": "VISA", "entityType": "PNR", "entityId": "123124", "entityMetadata": {}, "name": "BoardingPass.pdf" } }

List documents

Request

List all the uploaded documents for a specific entity ID and type.

Query
entityTypestring(EntityType)required

Entity type against which document is associated.

Enum"PNR""COMPANY""AIR_ITINERARY""EVENT""LOCATION_IMAGE"
Example: entityType=PNR
entityIdstringrequired

Entity Id for the given entity type.

Example: entityId=123124
curl -i -X GET \
  'https://apis.spotnana.com/v2/documents?entityId=123124&entityType=PNR' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
documentsArray of objects(Document)required

List of documents.

documents[].​urlstringrequired

S3 location of the document.

Example: "https://s3.amazonaws.com/bucket-name/folder-name/file-name"
documents[].​documentIdstring(uuid)required

Unique identifier of the document.

Example: "f49d00fe-1eda-4304-ba79-a980f565281d"
documents[].​documentMetadataobject(DocumentMetadata)required

Metadata related to document.

documents[].​documentMetadata.​documentTypestring(DocumentType)required

Document type.

Enum"BOARDING_PASS""CONFIRMATION""INVOICE""VISA""MISCELLANEOUS""OTHERS""TASK_PROCESSOR""EVENT_COVER_IMAGE""LOGO_IMAGE"
documents[].​documentMetadata.​entityTypestring(EntityType)required

Entity type against which the document is to uploaded.

Enum"PNR""COMPANY""AIR_ITINERARY""EVENT""LOCATION_IMAGE"
documents[].​documentMetadata.​entityIdstringrequired

Entity Id for the given entity type.

Example: "123124"
documents[].​documentMetadata.​entityMetadataEntityMetadata (object) or EntityMetadata (object)(EntityMetadata)required
One of:

Metadata for associated entity of document.

documents[].​documentMetadata.​entityMetadata.​pnrMetadataPnrMetadata (object) or PnrMetadata (object)(PnrMetadata)
One of:

Metadata when document is associated to pnr entity.

documents[].​documentMetadata.​entityMetadata.​invoiceMetadataobject(InvoiceMetadata)

Metadata associated with an invoice document.

documents[].​documentMetadata.​entityMetadata.​travelTypestring(TravelType)required

Travel Type

Enum"AIR""HOTEL""CAR""RAIL""LIMO""MISC""ALL"
documents[].​documentMetadata.​namestringrequired

Document name.

Example: "BoardingPass.pdf"
Response
application/json
{ "documents": [ {} ] }