> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chamelio.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# core.document.uploaded

> Fired when a new document is successfully uploaded to Chamelio's Core — before processing begins.

## Event

```
core.document.uploaded
```

This event fires immediately after a document is received via the [Upload Document](/api-reference/endpoint/core/upload) API or through the Chamelio web application. It signals that the document has been stored and is queued for processing.

## Payload Example

```json theme={null}
{
  "event": "core.document.uploaded",
  "event_id": "evt_01HXYZ1234567890",
  "organization_id": "org_abc123",
  "timestamp": "2025-06-01T14:32:00Z",
  "data": {
    "document_processing_id": 12345,
    "file_id": "file_abc123",
    "file_name": "master_services_agreement.pdf",
    "file_extension": "pdf",
    "uploaded_by": "john.doe@example.com",
    "attributes": [
      {
        "name": "contract_type",
        "data_type": "text",
        "value": "Master Services Agreement"
      }
    ]
  }
}
```

## Payload Fields

### Envelope

| Field             | Type   | Description                                     |
| ----------------- | ------ | ----------------------------------------------- |
| `event`           | string | Always `core.document.uploaded`                 |
| `event_id`        | string | Unique delivery ID — use to deduplicate retries |
| `organization_id` | string | ID of the organization that owns the document   |
| `timestamp`       | string | ISO 8601 UTC timestamp of the event             |
| `data`            | object | Event-specific payload (see below)              |

### Data Object

| Field                    | Type    | Description                                  |
| ------------------------ | ------- | -------------------------------------------- |
| `document_processing_id` | integer | ID of the async processing job               |
| `file_id`                | string  | Permanent unique identifier for the document |
| `file_name`              | string  | Original file name                           |
| `file_extension`         | string  | File extension (e.g., `pdf`, `docx`)         |
| `uploaded_by`            | string  | Email of the user who triggered the upload   |
| `attributes`             | array   | Metadata attributes attached at upload time  |

## Notes

<Info>
  This event fires before processing completes. Listen for [`core.document.upload_completed`](/api-reference/webhooks/core/document-upload-completed) or [`core.document.upload_with_issues`](/api-reference/webhooks/core/document-upload-with-issues) to know the final processing outcome.
</Info>
