3. Update extraction
Postman Collection
Server URL
https://api.extracta.ai/api/v1Headers
Name
Value
Body
Name
Type
Required
Description
Dedicated page
Body Example
Code Example
Responses
Last updated
{
"extractionId": "extractionId",
"extractionDetails": {
"name": "CV - English",
"description": "test",
"language": "English",
"options": {
"hasTable": false,
"handwrittenTextRecognition": true
},
"fields": [
{
"key": "name",
"description": "the name of the person",
"example": "John"
},
{
"key": "email",
"description": "the email of the person",
"example": "john@email.com"
}
]
}
}const axios = require('axios');
/**
* Updates an existing document extraction with the provided details.
*
* @param {string} token - The authorization token for API access.
* @param {string} extractionId - The ID of the extraction to update.
* @param {Object} extractionDetails - The new details of the extraction to update.
* @returns {Promise<Object>} The promise that resolves to the API response with the updated extraction details.
*/
async function updateExtraction(token, extractionId, extractionDetails) {
const url = "https://api.extracta.ai/api/v1/updateExtraction";
try {
const response = await axios.patch(url, {
extractionId,
extractionDetails
}, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
});
// Handling response
return response.data; // Directly return the parsed JSON response
} catch (error) {
// Handling errors
throw error.response ? error.response.data : new Error('An unknown error occurred');
}
}
async function main() {
const token = 'apiKey';
const extractionId = 'extractiondId'; // Placeholder for actual extraction ID
const extractionDetails = {
"name": "CV - English",
"description": "...",
"language": "English",
"options": {
"hasTable": false,
"handwrittenTextRecognition": true
},
"fields": [
{
"key": "name",
"description": "the name of the person",
"example": "John"
},
{
"key": "email",
"description": "the email of the person",
"example": "john@email.com"
}
]
};
try {
const response = await updateExtraction(token, extractionId, extractionDetails);
console.log("Extraction Updated:", response);
} catch (error) {
console.error("Failed to update extraction:", error);
}
}
main();import requests
def update_extraction(token, extraction_id, extraction_details):
url = "https://api.extracta.ai/api/v1/updateExtraction"
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"}
payload = {
"extractionId": extraction_id,
"extractionDetails": extraction_details
}
try:
response = requests.patch(url, json=payload, headers=headers)
response.raise_for_status() # Raises an HTTPError if the response status code indicates an error
return response.json() # Returns the parsed JSON response
except requests.RequestException as e:
# Handles any requests-related errors
print(e)
return None
# Example usage
if __name__ == "__main__":
token = "apiKey"
extraction_id = "extractionId" # Placeholder for the actual extraction ID to be updated
extraction_details = {
"name": "CV - English",
"description": "...",
"language": "English",
"options": {
"hasTable": False,
"handwrittenTextRecognition": True
},
"fields": [
{
"key": "name",
"description": "the name of the person",
"example": "John"
},
{
"key": "email",
"description": "the email of the person",
"example": "john@email.com"
}
]
}
response = update_extraction(token, extraction_id, extraction_details)
print("Extraction Updated:", response)<?php
/**
* Updates an existing document extraction with the provided details.
*
* @param string $token The authorization token for API access.
* @param string $extractionId The ID of the extraction to update.
* @param array $extractionDetails The new details of the extraction to update.
* @return mixed The API response with the updated extraction details or an error message.
*/
function updateExtraction($token, $extractionId, $extractionDetails) {
$url = 'https://api.extracta.ai/api/v1/updateExtraction';
// Initialize cURL session
$ch = curl_init($url);
// Prepare the payload with both extractionId and extractionDetails
$payload = json_encode([
'extractionId' => $extractionId,
'extractionDetails' => $extractionDetails
]);
// Set cURL options
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token,
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
try {
// Execute cURL session
$response = curl_exec($ch);
// Check for cURL errors
if (curl_errno($ch)) {
throw new Exception('Curl error: ' . curl_error($ch));
}
// For simplicity, returning the decoded response for now
return $response;
} catch (Exception $e) {
// Handle exceptions or errors here
return 'Error: ' . $e->getMessage();
} finally {
// Always close the cURL session
curl_close($ch);
}
}
// Example usage
$token = 'apiKey';
$extractionId = 'extractionId'; // Placeholder for the actual extraction ID
$extractionDetails = [
"name" => "CV - English",
"description" => "...",
"language" => "English",
"options" => [
"hasTable" => false,
"handwrittenTextRecognition" => true
],
"fields" => [
["key" => "name", "description" => "the name of the person", "example" => "John"],
["key" => "email", "description" => "the email of the person", "example" => "john@email.com"]
]
];
try {
$response = updateExtraction($token, $extractionId, $extractionDetails);
echo $response;
} catch (Exception $e) {
echo "Failed to update extraction: " . $e->getMessage();
}
?>{
"status": "updated",
"updatedAt": 1712547789609,
"extractionId": "extractionId"
}{
"status": "error",
"message": "Extraction does not exist",
"extractionId": "extractionId"
}{
"status": "error",
"message": "Could not update extraction",
"extractionId": "extractionId"
}