3. Update extraction
PATCH /updateExtraction
Updates an existing document extraction process by modifying specified parameters within the extraction details.
Only the parameters included in the extractionDetails will be updated; any parameters not included will remain unchanged. Use this to efficiently adjust specific aspects of an extraction process without altering its overall configuration.
Postman Collection
For a complete and interactive set of API requests, please refer to our Postman Integrationcollection.
Server URL
https://api.extracta.ai/api/v1Headers
Content-Type
application/json
Authorization
Bearer <token>
Body
extractionId
string
true
The extraction Id
name
string
false
A descriptive name for the extraction.
description
string
false
A description for the extraction.
To fully customize your data extraction request, understanding the fields parameter is crucial. This parameter allows you to specify exactly what information you want to extract, with options for string, object, and array types to match your data structure needs.
Customize your extraction process with additional options such as table analysis and handwritten text recognition.
⚙️OptionsBody Example
{
"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": "[email protected]"
}
]
}
}Code Example
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": "[email protected]"
}
]
};
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": "[email protected]"
}
]
}
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" => "[email protected]"]
]
];
try {
$response = updateExtraction($token, $extractionId, $extractionDetails);
echo $response;
} catch (Exception $e) {
echo "Failed to update extraction: " . $e->getMessage();
}
?>Responses
{
"status": "updated",
"updatedAt": 1712547789609,
"extractionId": "extractionId"
}{
"status": "error",
"message": "Extraction does not exist",
"extractionId": "extractionId"
}{
"status": "error",
"message": "Could not update extraction",
"extractionId": "extractionId"
}Last updated
Was this helpful?