# Code Examples

### Python code example

1\. We use the requests library to send a POST request to the /fetch-result endpoint.

2\. We pass the Authorization header with a valid token, as well as Content-Type: application/json.

3\. The payload includes page and page-size parameters to fetch paginated results.

4\. We handle any HTTP exceptions using raise\_for\_status() and basic exception catching.

```
import requests

# Replace {model-code} with your specific model code
url = "https://test-app.graphite-note.com/api/model/fetch-result/{model-code}"

# Insert your Graphite Note tenant token
headers = {
    "Authorization": "Bearer YOUR-TENANT-TOKEN",
    "Content-Type": "application/json"
}

# Request payload
payload = {
    "page": 1,
    "page-size": 10000
}

try:
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()  # Raises an exception for 4XX/5XX errors
    
    # Parse JSON response
    data = response.json()
    print("Request successful!")
    print("Response Data:", data)
except requests.exceptions.RequestException as e:
    print(f"An error occurred: {e}")
```

***

### PHP Code Example

1\. We use cURL in PHP to send a POST request to the /fetch-result endpoint.

2\. We set both the Authorization header (with a bearer token) and Content-Type.

3\. We pass the page and page-size parameters in JSON format.

4\. We then parse the JSON response if the request is successful (HTTP status code 200). Otherwise, we print an error message.

```
<?php
// Replace {model-code} with your specific model code
$url = "https://test-app.graphite-note.com/api/model/fetch-result/{model-code}";

// Insert your Graphite Note tenant token
$headers = [
    "Authorization: Bearer YOUR-TENANT-TOKEN",
    "Content-Type: application/json"
];

// Request payload
$payload = [
    "page" => 1,
    "page-size" => 10000
];

// Initialize cURL
$ch = curl_init($url);

// Configure cURL options
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute the POST request
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// Close the connection
curl_close($ch);

// Handle the response
if ($http_code === 200) {
    $data = json_decode($response, true);
    echo "Request successful!\n";
    print_r($data);
} else {
    echo "Error: HTTP status code $http_code\n";
    echo $response;
}
```

***

### Tips & Best Practices

• Always use HTTPS (as shown above) to ensure data security.

• Replace YOUR-TENANT-TOKEN with the valid token assigned to your Graphite Note tenant.

• Adjust page and page-size to match how many records you want per request.

• Handle potential rate-limiting (e.g., 429 Too Many Requests status) by adding retry logic if needed.

• For production environments, consider using more robust error handling and logging.
