Extracta.ai
DashboardJoin Discord
  • extracta.ai
    • Introduction
    • Overview
  • API Reference
    • 🔓Authentication
    • 📁Supported File Types
  • Data Extraction - API
    • đŸ’ģAPI Endpoints - Data Extraction
      • 1. Create extraction
      • 2. View extraction
      • 3. Update extraction
      • 4. Delete extraction
      • 5. Upload Files
      • 6. Get results
    • Extraction Details
      • 🌎Supported Languages
      • âš™ī¸Options
      • 📋Fields
    • Receiving Batch Results
      • Polling vs Webhook
      • How to use the Webhook
    • đŸ•šī¸Postman Integration
  • Document Classification - API
    • đŸ’ģAPI Endpoints - Document Classification
      • 1. Create classification
      • 2. View classification
      • 3. Update classification
      • 4. Delete data
        • 4.1 Delete classification
        • 4.2 Delete batch
        • 4.3 Delete files
      • 5. Upload Files
      • 6. Get results
    • Classification Details
      • 📄Document Types
  • Documents
    • Custom Document
    • Resume / CV
    • Contract
    • Business Card
    • Email
    • Invoice
    • Receipt
    • Bank Statement
  • Support
    • 💁Tutorials
    • đŸŸĸAPI Status
  • Contact
    • 📧Contact Us
    • ❓FAQ
Powered by GitBook
On this page
  • Postman Collection
  • Server URL
  • Headers
  • Body
  • Body Example
  • Code Example
  • Responses

Was this helpful?

  1. Data Extraction - API
  2. API Endpoints - Data Extraction

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/v1

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Required
Description
Dedicated page

extractionId

string

true

The extraction Id

name

string

false

A descriptive name for the extraction.

description

string

false

A description for the extraction.

language

string

false

Document's language for accurate extraction.

options

object

false

Additional processing options.

fields

object

false

An array of objects, each specifying a field to extract.

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.

Body 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": "john@email.com"
            }
        ]
    }
}

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": "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();
}

?>

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"
}
Previous2. View extractionNext4. Delete extraction

Last updated 11 months ago

Was this helpful?

đŸ’ģ
📋Fields
âš™ī¸Options
Supported Languages
Options
Fields