Extract expiry data from up to 10 files in Cloud Storage

posthttps://api.expiryedge.com/v1/bulkExtractDocuments
any role30/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/bulkExtractDocuments' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "files": [
    {
      "storagePath": "user_files/org_northwind/uploads/dea-registration.pdf",
      "fileName": "dea-registration.pdf",
      "mimeType": "application/pdf"
    },
    {
      "storagePath": "user_files/org_northwind/uploads/fire-permit.jpg",
      "fileName": "fire-permit.jpg",
      "mimeType": "image/jpeg"
    }
  ]
}'
Response
{
  "success": true,
  "results": [
    {
      "fileName": "dea-registration.pdf",
      "documents": [
        {
          "name": "DEA Registration",
          "document_type": "registration",
          "issuing_authority": "Drug Enforcement Administration",
          "holder_name": "Dr. Priya Shah",
          "reference_number": "FS1234567",
          "start_date": null,
          "expiry_date": "2027-01-31",
          "vendor": null,
          "notes": null,
          "confidence": "high",
          "extracted_fields": []
        }
      ]
    },
    {
      "fileName": "fire-permit.jpg",
      "error": "File not found",
      "documents": []
    }
  ]
}

1-10 files; each must be inside your organization's upload area. The whole batch must fit the remaining AI scan quota (429 AiScanQuotaError otherwise); only successfully processed files are counted. Per-file failures appear as error in results.

Body parameters

application/json
  • filesarray of objectsrequired
    min items: 1 · max items: 10

Returns

200
Per-file results.
  • successboolean
  • resultsarray of objects

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
A file is outside your organization, or the plan has no AI scans (ai_scan_feature_not_available).
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.