# IngestedFileWebSource

Where a web download came from, and which run's agent fetched it. Null on every uploaded file.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `url` | `string` | The URL the agent asked for. |
| `finalUrl` | `string \| null` | The URL the content came from after redirects, when it differs. |
| `title` | `string \| null` | The page's or document's title, when it has one. |
| `kind` | [`WebContentKind`](https://docs.maitento.com/reference/types/web-content-kind.md) | What the URL turned out to be, which decides how it was turned into text. |
| `route` | [`WebFetchRoute`](https://docs.maitento.com/reference/types/web-fetch-route.md) | How the content was obtained. |
| `processType` | [`ProcessType`](https://docs.maitento.com/reference/types/process-type.md) | The kind of run whose agent fetched it. |
| `processId` | `uuid` | The run whose agent fetched it. |
| `agentName` | `string \| null` | The agent that fetched it, when known. |
| `isTextCapped` | `boolean` | The extracted text was longer than a file may hold and was cut short. |

## Example

```json
{
  "url": "...",
  "finalUrl": "...",
  "title": "...",
  "kind": "Page",
  "route": "Datacenter",
  "processType": "App",
  "processId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "agentName": "...",
  "isTextCapped": false
}
```

## Where it's used

- Inside [`IngestedFile`](https://docs.maitento.com/reference/types/ingested-file.md)
- Inside [`IngestedFileListItem`](https://docs.maitento.com/reference/types/ingested-file-list-item.md)
