openapi: 3.2.0 info: title: Solutions AI API version: '1.0' servers: - url: https://api.cargoai.co/solutions security: - sec0: [] tags: - name: Ai paths: /ai/awb: post: summary: AWB Data Extraction description: AI Powered - Transform AWB image data into structured AWB information and remove manual data entry from your AWB transmission process. operationId: awb-extraction parameters: - name: x-api-key in: header description: API Key required: true schema: type: string requestBody: content: application/json: schema: type: object required: - email - data - type properties: email: type: string description: Requester email address data: type: string description: Base64 encoded image for IMAGE type: type: string description: media type (image accepted only) enum: - IMAGE examples: request example: value: email: ops@forwarder.com type: IMAGE data: responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"awb\": {\n \"shipper\": {\n \"name\": \"Shipper's name\",\n \"account_number\": \"0000\",\n \"phone\": \"+00000000000\",\n \"fax\": null,\n \"email\": \"Shipper's email\",\n \"address\": {\n \"line1\": \"1462 Test street\",\n \"line2\": \"\",\n \"place\": \"\",\n \"city\": {\n \"code\": \"\",\n \"name\": \"Paris\"\n },\n \"postal_code\": \"00000\",\n \"state_province\": \"\",\n \"country\": {\n \"code\": \"FR\",\n \"name\": \"France\"\n }\n },\n \"eori\": \"\"\n },\n \"consignee\": {\n \"name\": \"Consignee's name\",\n \"account_number\": null,\n \"phone\": \"+00000000000\",\n \"fax\": null,\n \"email\": \"\",\n \"address\": {\n \"line1\": \"1463 Test road\",\n \"line2\": \"\",\n \"place\": \"\",\n \"city\": {\n \"code\": \"\",\n \"name\": \"Singapore\"\n },\n \"postal_code\": \"0000000\",\n \"state_province\": \"\",\n \"country\": {\n \"code\": \"SG\",\n \"name\": \"Singapore\"\n }\n },\n \"eori\": \"\"\n },\n \"notify\": {\n \"name\": \"\",\n \"account_number\": null,\n \"phone\": null,\n \"fax\": null,\n \"email\": \"\",\n \"address\": {\n \"line1\": \"\",\n \"line2\": \"\",\n \"place\": \"\",\n \"city\": {\n \"code\": \"\",\n \"name\": \"\"\n },\n \"postal_code\": \"\",\n \"state_province\": \"\",\n \"country\": {\n \"code\": \"\",\n \"name\": \"\"\n }\n },\n \"eori\": \"\"\n },\n \"routingDetails\": [\n {\n \"from_airport_code\": \"CDG\",\n \"to_airport_code\": \"AMS\",\n \"carrier_code\": \"00\",\n \"flight_number\": \"687\",\n \"flight_date\": \"2025-08-20\"\n },\n {\n \"from_airport_code\": \"AMS\",\n \"to_airport_code\": \"SIN\",\n \"carrier_code\": \"00\",\n \"flight_number\": \"768\",\n \"flight_date\": \"2025-08-22\"\n }\n ],\n \"chargesDeclaration\": {\n \"currency_code\": \"EUR\",\n \"charge_code\": \"PP\",\n \"weight_or_valuation\": \"P\",\n \"other\": \"X\",\n \"values_for_carriage\": 0,\n \"values_for_custom\": 0,\n \"values_for_insurance\": 0\n },\n \"rates\": [\n {\n \"number_of_pieces\": 5,\n \"gross_weight\": {\n \"value\": 354.1,\n \"uom\": \"K\"\n },\n \"volume\": {\n \"value\": 0,\n \"uom\": \"\"\n },\n \"slac\": 0,\n \"rate_class_code\": \"Q\",\n \"commodity_item_number\": \"\",\n \"chargeable_weight\": 357,\n \"rate_or_charge\": 4.02,\n \"charge_amount\": 1435.14,\n \"nature_and_quantity_of_goods\": \"PERSONAL GOODS\",\n \"dims\": [\n {\n \"pcs\": 1,\n \"length\": 80,\n \"width\": 60,\n \"height\": 40,\n \"weight\": 0,\n \"Volume\": 0,\n \"uom\": \"CMT\"\n },\n {\n \"pcs\": 1,\n \"length\": 80,\n \"width\": 60,\n \"height\": 60,\n \"weight\": 0,\n \"Volume\": 0,\n \"uom\": \"CMT\"\n },\n {\n \"pcs\": 1,\n \"length\": 80,\n \"width\": 60,\n \"height\": 60,\n \"weight\": 0,\n \"Volume\": 0,\n \"uom\": \"CMT\"\n },\n {\n \"pcs\": 1,\n \"length\": 80,\n \"width\": 60,\n \"height\": 60,\n \"weight\": 0,\n \"Volume\": 0,\n \"uom\": \"CMT\"\n },\n {\n \"pcs\": 1,\n \"length\": 120,\n \"width\": 80,\n \"height\": 90,\n \"weight\": 0,\n \"Volume\": 0,\n \"uom\": \"CMT\"\n }\n ],\n \"uld\": [],\n \"hsc\": null\n }\n ],\n \"execution\": {\n \"date\": \"2025-08-20\",\n \"place\": \"Paris\",\n \"shipper_signature\": \"Shipper's Signature\",\n \"carrier_signature\": \"Carrier's Signature\"\n },\n \"oci\": {\n \"origin_country_code\": \"FR\"\n },\n \"agent\": {\n \"iata\": \"0000000\",\n \"cass\": \"0000\",\n \"name\": \"Agent's name\",\n \"place\": \"LYON\"\n },\n \"handling\": {\n \"shc\": \"\",\n \"other_info\": \"\",\n \"sci\": \"X\"\n },\n \"otherCharges\": null\n },\n \"awb_number\": \"000-00000000\",\n \"confidenceScore\": 0.9\n}" schema: type: object properties: awb: type: object properties: shipper: type: object properties: name: type: string example: Shipper's name account_number: type: string example: '0000' phone: type: string example: '+00000000000' fax: {} email: type: string example: Shipper's email address: type: object properties: line1: type: string example: 1462 Test street line2: type: string example: '' place: type: string example: '' city: type: object properties: code: type: string example: '' name: type: string example: Paris postal_code: type: string example: '00000' state_province: type: string example: '' country: type: object properties: code: type: string example: FR name: type: string example: France eori: type: string example: '' consignee: type: object properties: name: type: string example: Consignee's name account_number: {} phone: type: string example: '+00000000000' fax: {} email: type: string example: '' address: type: object properties: line1: type: string example: 1463 Test road line2: type: string example: '' place: type: string example: '' city: type: object properties: code: type: string example: '' name: type: string example: Singapore postal_code: type: string example: '0000000' state_province: type: string example: '' country: type: object properties: code: type: string example: SG name: type: string example: Singapore eori: type: string example: '' notify: type: object properties: name: type: string example: '' account_number: {} phone: {} fax: {} email: type: string example: '' address: type: object properties: line1: type: string example: '' line2: type: string example: '' place: type: string example: '' city: type: object properties: code: type: string example: '' name: type: string example: '' postal_code: type: string example: '' state_province: type: string example: '' country: type: object properties: code: type: string example: '' name: type: string example: '' eori: type: string example: '' routingDetails: type: array items: type: object properties: from_airport_code: type: string example: CDG to_airport_code: type: string example: AMS carrier_code: type: string example: '00' flight_number: type: string example: '687' flight_date: type: string example: '2025-08-20' chargesDeclaration: type: object properties: currency_code: type: string example: EUR charge_code: type: string example: PP weight_or_valuation: type: string example: P other: type: string example: X values_for_carriage: type: integer example: 0 default: 0 values_for_custom: type: integer example: 0 default: 0 values_for_insurance: type: integer example: 0 default: 0 rates: type: array items: type: object properties: number_of_pieces: type: integer example: 5 default: 0 gross_weight: type: object properties: value: type: number example: 354.1 default: 0 uom: type: string example: K volume: type: object properties: value: type: integer example: 0 default: 0 uom: type: string example: '' slac: type: integer example: 0 default: 0 rate_class_code: type: string example: Q commodity_item_number: type: string example: '' chargeable_weight: type: integer example: 357 default: 0 rate_or_charge: type: number example: 4.02 default: 0 charge_amount: type: number example: 1435.14 default: 0 nature_and_quantity_of_goods: type: string example: PERSONAL GOODS dims: type: array items: type: object properties: pcs: type: integer example: 1 default: 0 length: type: integer example: 80 default: 0 width: type: integer example: 60 default: 0 height: type: integer example: 40 default: 0 weight: type: integer example: 0 default: 0 Volume: type: integer example: 0 default: 0 uom: type: string example: CMT uld: type: array items: type: object properties: {} hsc: {} execution: type: object properties: date: type: string example: '2025-08-20' place: type: string example: Paris shipper_signature: type: string example: Shipper's Signature carrier_signature: type: string example: Carrier's Signature oci: type: object properties: origin_country_code: type: string example: FR agent: type: object properties: iata: type: string example: '0000000' cass: type: string example: '0000' name: type: string example: Agent's name place: type: string example: LYON handling: type: object properties: shc: type: string example: '' other_info: type: string example: '' sci: type: string example: X otherCharges: {} awb_number: type: string example: 000-00000000 confidenceScore: type: number example: 0.9 default: 0 '400': description: '400' content: application/json: examples: Missing mandatory field: value: "{\n \"error\": {\n \"type\": \"INVALID_REQUEST\",\n \"description\": \"data: cannot be blank.\"\n }\n}" Invalid type: value: "{\n \"error\": {\n \"type\": \"INVALID_REQUEST\",\n \"description\": \"type: must be a valid value.\"\n }\n}" schema: oneOf: - title: Missing mandatory field type: object properties: error: type: object properties: type: type: string example: INVALID_REQUEST description: type: string example: 'data: cannot be blank.' - title: Invalid type type: object properties: error: type: object properties: type: type: string example: INVALID_REQUEST description: type: string example: 'type: must be a valid value.' deprecated: false tags: - Ai /ai/shipment: post: summary: Shipment Data Extraction (Text, Image) description: Transform raw email data into accurate shipment information and remove manual data entry from your quote and book process. By far the easiest way to leverage powerful AI capabilities to supercharge your workflows. operationId: shipment-extraction parameters: - name: x-api-key in: header required: true schema: type: string requestBody: content: application/json: schema: type: object required: - email - data - type properties: email: type: string data: type: string description: raw text email for RAWTEXT type, or base64 encoded image for IMAGE and MULTI types type: type: string description: RAWTEXT (email only), IMAGE (image only), or MULTI (email + image) subject: type: string emailBody: type: string description: email body data for MULTI type examples: email only: value: email: test@gmail.com data: 'Hello, Please take the following reservation according to the quotation below: Delivery Thursday 28/10, Origin CDG, Destination BKK, NON GERBABLE, Weight: 500KG - 2m3, Type of goods: Fresh products +2+8°C (no dry ice) Best regards.' type: RAWTEXT image only: value: email: '' data: '{{base64_encoded_image}}' subject: '' type: IMAGE email + image: value: email: '' data: '{{base64_encoded_image}}' emailBody: '{{email_chain}}' subject: '' type: MULTI responses: '200': description: '200' content: application/json: examples: Result: value: "{\n\t\"origin\": \"CDG\",\n\t\"destination\": \"BKK\",\n\t\"date\": \"2024-10-28\",\n\t\"loadType\": \"PER\",\n\t\"weight\": 500,\n\t\"volume\": 2,\n\t\"dimensions\": [\n\t\t{\n\t\t\t\"pieces\": 2,\n\t\t\t\"length\": 140,\n\t\t\t\"width\": 100,\n\t\t\t\"height\": 120,\n\t\t\t\"weight\": 250,\n\t\t\t\"lengthUnit\": \"\",\n\t\t\t\"weightUnit\": \"kg\",\n\t\t\t\"stackable\": false\n\t\t}\n\t]\n}" schema: type: object properties: origin: type: string example: CDG destination: type: string example: BKK date: type: string example: '2024-10-28' loadType: type: string example: PER weight: type: integer example: 500 default: 0 volume: type: integer example: 2 default: 0 dimensions: type: array items: type: object properties: pieces: type: integer example: 2 default: 0 length: type: integer example: 140 default: 0 width: type: integer example: 100 default: 0 height: type: integer example: 120 default: 0 weight: type: integer example: 250 default: 0 lengthUnit: type: string example: '' weightUnit: type: string example: kg stackable: type: boolean example: false default: true '400': description: '400' content: application/json: examples: Result: value: "{\n \"customer\": null\n}" schema: type: object properties: customer: {} deprecated: false security: [] tags: - Ai components: securitySchemes: sec0: type: apiKey name: x-api-key in: header x-cargoai-api-family: CargoCOPILOT x-provenance: harvestedFrom: CargoAi CargoCONNECT developer portal (ReadMe) — per-operation oasDefinition embedded in each reference page fetchDate: '2026-07-30' httpStatus: 200 sourceInfoTitle: Solutions sourceInfoVersion: '1.0' note: Operations reproduced verbatim from the provider-published OpenAPI 3.1 definition. No operation, path, parameter, schema or server was authored by API Evangelist. operations: - sourceURL: https://cargoai.readme.io/reference/awb-extraction httpStatus: 200 operation: POST /ai/awb - sourceURL: https://cargoai.readme.io/reference/shipment-extraction httpStatus: 200 operation: POST /ai/shipment