POST
/
custom
/
sample
/
extractions
import requests
import json
import os 
import mimetypes
import base64

def read_file(file_path: str) -> dict[str,str]:
    if not os.path.isfile(file_path):
        raise FileNotFoundError(f"No file found at {file_path}")
    
    file_name = os.path.basename(file_path)
    mime_type, _ = mimetypes.guess_type(file_path)
    
    with open(file_path, 'rb') as file:
        file_data = file.read()

    file_base64 = base64.b64encode(file_data).decode('utf-8')  
    
    return  {
        "id": "freight_document",
        "name": file_name,
        "content": file_base64,
        "mime_type": mime_type or 'application/octet-stream',
    }

BASE_API_URL = "https://dashboard.getcube.ai/backend-api/api/custom/" 
API_KEY = "YOUR API KEY"  


headers = {
    "Api-Key": API_KEY,
    "Content-Type": "application/json",
}

document = read_file("data/example.PDF")

document_processing_request_json = {
    "document": document
}


response = requests.post(
    f"{BASE_API_URL}/extractions",
    headers=headers,
    json={**document_processing_request_json},
)

print(response.json())
{
    "extraction": {
        "booking_id": "SHIP-001",
        "payment": {
            "total_price": 1500,
            "currency": "EUR"
        },
        "client": {
            "company_name": "ACME Corporation",
            "VAT_number": "GB123456789",
            "address": {
                "city": "London",
                "postal_code": "WC2N 5DU",
                "country": "GB"
            },
            "email": "client@acme.com"
        },
        "shipments": [
            {
                "shipment_id": "SHIP-001",
                "sender": {
                    "company_name": "ACME Corporation",
                    "address": {
                        "country": "GB",
                        "postal_code": "WC2N 5DU",
                        "city": "London",
                        "line1": "123 Elm Street",
                        "line2": "Suite 500",
                        "state": null
                    },
                    "phone_number": "+44 20 7946 0958",
                    "email_address": "client@acme.com",
                    "pickup_datetime": {
                        "date": "2023-02-05",
                        "start_time": "08:00:00",
                        "end_time": "12:00:00"
                    },
                    "observations": null
                },
                "recipient": {
                    "company_name": "Beta Industries",
                    "address": {
                        "country": "DE",
                        "postal_code": "80331",
                        "city": "Munich",
                        "line1": "789 Pine Street",
                        "line2": null,
                        "state": "Bavaria"
                    },
                    "phone_number": "+49 89 123456",
                    "email_address": null,
                    "delivery_datetime": {
                        "date": "2023-03-05",
                        "start_time": "10:00:00",
                        "end_time": "16:00:00"
                    },
                    "observations": null
                },
                "goods": {
                    "packing": {
                        "units": 5,
                        "packing_type": "pallet",
                        "supplementary_parcels": null,
                        "pallets_on_ground": 5,
                        "number_eur_pallet": 0,
                        "observation": "UN1202 Class 3 Liquid, temperature control 5\\u00b0C to 25\\u00b0C."
                    },
                    "dimensions": {
                        "loading_meters": 0.4,
                        "volume": 1.44
                    },
                    "weight": 500,
                    "temperature_infos": {
                        "min_temperature": 5,
                        "max_temperature": 25,
                        "category": "Fresh"
                    },
                    "dangerous_goods_infos": [
                        {
                            "weight": null,
                            "UN_code": 1202,
                            "UN_label": "Liquid",
                            "UN_class": "3",
                            "UN_packing_group": null,
                            "ADR_tunnel_code": null
                        }
                    ]
                },
                "transport_constraints": {
                    "vehicle_type": null,
                    "body_type": null,
                    "tail_lift": null,
                    "crane": null
                }
            }
        ]
    },
    "created": 1737133490,
    "likelihoods": {
        "booking_id": 0.6726946950754706,
        "payment": {
            "total_price": 0.999999091165773,
            "currency": 0.9999944422379444
        },
        "client": {
            "company_name": 1.0,
            "VAT_number": 0.6486153882881889,
            "address": {
                "city": 0.9999988527586581,
                "postal_code": 0.9999968263007362,
                "country": 0.9994680776208963
            },
            "email": 0.9999933694113825
        },
        "shipments": [
            {
                "shipment_id": 0.6726946950754706,
                "sender": {
                    "company_name": 1.0,
                    "address": {
                        "country": 0.9994680776208963,
                        "postal_code": 0.9999968263007362,
                        "city": 0.9999988527586581,
                        "line1": 1.0,
                        "line2": 0.999996945503965,
                        "state": 0.9999784691637917
                    },
                    "phone_number": 0.9999545100307,
                    "email_address": 0.9999933694113825,
                    "pickup_datetime": {
                        "date": 0.995386165984811,
                        "start_time": 0.9959296666541886,
                        "end_time": 0.9999995679800934
                    },
                    "observations": 0.9999784691637917
                },
                "recipient": {
                    "company_name": 0.999994561441089,
                    "address": {
                        "country": 0.9999889589149532,
                        "postal_code": 0.9999995679800934,
                        "city": 0.9999974223173222,
                        "line1": 0.9999981375378344,
                        "line2": 0.9999784691637917,
                        "state": 0.9999976607241361
                    },
                    "phone_number": 0.9999934886141991,
                    "email_address": 0.9999784691637917,
                    "delivery_datetime": {
                        "date": 0.9995688277314909,
                        "start_time": 0.9999645227323332,
                        "end_time": 0.9999998063873687
                    },
                    "observations": 0.9999784691637917
                },
                "goods": {
                    "packing": {
                        "units": 0.9999988527586581,
                        "packing_type": 0.999720111226173,
                        "supplementary_parcels": 0.9999784691637917,
                        "pallets_on_ground": 0.9999988527586581,
                        "number_eur_pallet": 0.8337704119108418,
                        "observation": 0.3338635841915964
                    },
                    "dimensions": {
                        "loading_meters": 0.9879654652950378,
                        "volume": 0.9999984951481323
                    },
                    "weight": 0.9999984951481323,
                    "temperature_infos": {
                        "min_temperature": 0.9999988527586581,
                        "max_temperature": 0.9999978991308068,
                        "category": 0.9999826412106655
                    },
                    "dangerous_goods_infos": [
                        {
                            "weight": 0.9999784691637917,
                            "UN_code": 0.9986591072011969,
                            "UN_label": 0.6405346504790916,
                            "UN_class": 0.9999996871837189,
                            "UN_packing_group": 0.9999784691637917,
                            "ADR_tunnel_code": 0.9999784691637917
                        }
                    ]
                },
                "transport_constraints": {
                    "vehicle_type": 0.9999784691637917,
                    "body_type": 0.9999784691637917,
                    "tail_lift": 0.9999784691637917,
                    "crane": 0.9999784691637917
                }
            }
        ]
    },
    "regex_instruction_results": [
        {
            "instruction": {
                "name": "VAT Number",
                "pattern": "[Ff][Rr]\\\\s*(\\\\d\\\\s*){11}",
                "description": "All potential VAT numbers in the documents"
            },
            "hits": [
                "FR12 345 678 901"
            ]
        }
    ],
    "text_operations_message": "### I Found 1 matches for the regex pattern \'VAT Number\' (All potential VAT numbers in the documents):\\n- FR12 345 678 901\\n",
    "schema_validation_error": null
}
import requests
import json
import os 
import mimetypes
import base64

def read_file(file_path: str) -> dict[str,str]:
    if not os.path.isfile(file_path):
        raise FileNotFoundError(f"No file found at {file_path}")
    
    file_name = os.path.basename(file_path)
    mime_type, _ = mimetypes.guess_type(file_path)
    
    with open(file_path, 'rb') as file:
        file_data = file.read()

    file_base64 = base64.b64encode(file_data).decode('utf-8')  
    
    return  {
        "id": "freight_document",
        "name": file_name,
        "content": file_base64,
        "mime_type": mime_type or 'application/octet-stream',
    }

BASE_API_URL = "https://dashboard.getcube.ai/backend-api/api/custom/" 
API_KEY = "YOUR API KEY"  


headers = {
    "Api-Key": API_KEY,
    "Content-Type": "application/json",
}

document = read_file("data/example.PDF")

document_processing_request_json = {
    "document": document
}


response = requests.post(
    f"{BASE_API_URL}/extractions",
    headers=headers,
    json={**document_processing_request_json},
)

print(response.json())
{
    "extraction": {
        "booking_id": "SHIP-001",
        "payment": {
            "total_price": 1500,
            "currency": "EUR"
        },
        "client": {
            "company_name": "ACME Corporation",
            "VAT_number": "GB123456789",
            "address": {
                "city": "London",
                "postal_code": "WC2N 5DU",
                "country": "GB"
            },
            "email": "client@acme.com"
        },
        "shipments": [
            {
                "shipment_id": "SHIP-001",
                "sender": {
                    "company_name": "ACME Corporation",
                    "address": {
                        "country": "GB",
                        "postal_code": "WC2N 5DU",
                        "city": "London",
                        "line1": "123 Elm Street",
                        "line2": "Suite 500",
                        "state": null
                    },
                    "phone_number": "+44 20 7946 0958",
                    "email_address": "client@acme.com",
                    "pickup_datetime": {
                        "date": "2023-02-05",
                        "start_time": "08:00:00",
                        "end_time": "12:00:00"
                    },
                    "observations": null
                },
                "recipient": {
                    "company_name": "Beta Industries",
                    "address": {
                        "country": "DE",
                        "postal_code": "80331",
                        "city": "Munich",
                        "line1": "789 Pine Street",
                        "line2": null,
                        "state": "Bavaria"
                    },
                    "phone_number": "+49 89 123456",
                    "email_address": null,
                    "delivery_datetime": {
                        "date": "2023-03-05",
                        "start_time": "10:00:00",
                        "end_time": "16:00:00"
                    },
                    "observations": null
                },
                "goods": {
                    "packing": {
                        "units": 5,
                        "packing_type": "pallet",
                        "supplementary_parcels": null,
                        "pallets_on_ground": 5,
                        "number_eur_pallet": 0,
                        "observation": "UN1202 Class 3 Liquid, temperature control 5\\u00b0C to 25\\u00b0C."
                    },
                    "dimensions": {
                        "loading_meters": 0.4,
                        "volume": 1.44
                    },
                    "weight": 500,
                    "temperature_infos": {
                        "min_temperature": 5,
                        "max_temperature": 25,
                        "category": "Fresh"
                    },
                    "dangerous_goods_infos": [
                        {
                            "weight": null,
                            "UN_code": 1202,
                            "UN_label": "Liquid",
                            "UN_class": "3",
                            "UN_packing_group": null,
                            "ADR_tunnel_code": null
                        }
                    ]
                },
                "transport_constraints": {
                    "vehicle_type": null,
                    "body_type": null,
                    "tail_lift": null,
                    "crane": null
                }
            }
        ]
    },
    "created": 1737133490,
    "likelihoods": {
        "booking_id": 0.6726946950754706,
        "payment": {
            "total_price": 0.999999091165773,
            "currency": 0.9999944422379444
        },
        "client": {
            "company_name": 1.0,
            "VAT_number": 0.6486153882881889,
            "address": {
                "city": 0.9999988527586581,
                "postal_code": 0.9999968263007362,
                "country": 0.9994680776208963
            },
            "email": 0.9999933694113825
        },
        "shipments": [
            {
                "shipment_id": 0.6726946950754706,
                "sender": {
                    "company_name": 1.0,
                    "address": {
                        "country": 0.9994680776208963,
                        "postal_code": 0.9999968263007362,
                        "city": 0.9999988527586581,
                        "line1": 1.0,
                        "line2": 0.999996945503965,
                        "state": 0.9999784691637917
                    },
                    "phone_number": 0.9999545100307,
                    "email_address": 0.9999933694113825,
                    "pickup_datetime": {
                        "date": 0.995386165984811,
                        "start_time": 0.9959296666541886,
                        "end_time": 0.9999995679800934
                    },
                    "observations": 0.9999784691637917
                },
                "recipient": {
                    "company_name": 0.999994561441089,
                    "address": {
                        "country": 0.9999889589149532,
                        "postal_code": 0.9999995679800934,
                        "city": 0.9999974223173222,
                        "line1": 0.9999981375378344,
                        "line2": 0.9999784691637917,
                        "state": 0.9999976607241361
                    },
                    "phone_number": 0.9999934886141991,
                    "email_address": 0.9999784691637917,
                    "delivery_datetime": {
                        "date": 0.9995688277314909,
                        "start_time": 0.9999645227323332,
                        "end_time": 0.9999998063873687
                    },
                    "observations": 0.9999784691637917
                },
                "goods": {
                    "packing": {
                        "units": 0.9999988527586581,
                        "packing_type": 0.999720111226173,
                        "supplementary_parcels": 0.9999784691637917,
                        "pallets_on_ground": 0.9999988527586581,
                        "number_eur_pallet": 0.8337704119108418,
                        "observation": 0.3338635841915964
                    },
                    "dimensions": {
                        "loading_meters": 0.9879654652950378,
                        "volume": 0.9999984951481323
                    },
                    "weight": 0.9999984951481323,
                    "temperature_infos": {
                        "min_temperature": 0.9999988527586581,
                        "max_temperature": 0.9999978991308068,
                        "category": 0.9999826412106655
                    },
                    "dangerous_goods_infos": [
                        {
                            "weight": 0.9999784691637917,
                            "UN_code": 0.9986591072011969,
                            "UN_label": 0.6405346504790916,
                            "UN_class": 0.9999996871837189,
                            "UN_packing_group": 0.9999784691637917,
                            "ADR_tunnel_code": 0.9999784691637917
                        }
                    ]
                },
                "transport_constraints": {
                    "vehicle_type": 0.9999784691637917,
                    "body_type": 0.9999784691637917,
                    "tail_lift": 0.9999784691637917,
                    "crane": 0.9999784691637917
                }
            }
        ]
    },
    "regex_instruction_results": [
        {
            "instruction": {
                "name": "VAT Number",
                "pattern": "[Ff][Rr]\\\\s*(\\\\d\\\\s*){11}",
                "description": "All potential VAT numbers in the documents"
            },
            "hits": [
                "FR12 345 678 901"
            ]
        }
    ],
    "text_operations_message": "### I Found 1 matches for the regex pattern \'VAT Number\' (All potential VAT numbers in the documents):\\n- FR12 345 678 901\\n",
    "schema_validation_error": null
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string | null

Body

application/json

Response

200
application/json

Successful Response

The response is of type object.