> For the complete documentation index, see [llms.txt](https://docs.adsecure.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adsecure.com/api/models/analysis.md).

# Analysis

The crawler's [Analysis](/docs/development/concepts.md#analysis) result.

```typescript
interface Analysis {
  // Ownership
  organization: string;
  account: string;
  owner: string;

  // Meta
  id: string;
  version: string;
  status: Status; // "INITIAL" | "DONE" | "ERROR"
  initialTime: string;
  doneTime: string;

  // Parameters
  content: string;
  device: string;
  location: string;

  // Data
  alert: boolean;
  violation: boolean;
  reports: Report[];
}
```

### Fields

* [`organization`](#organization)
* [`account`](#account)
* [`owner`](#owner)
* [`id`](#id)
* [`version`](#version)
* [`status`](#status)
* [`initialTime`](#initialtime)
* [`doneTime`](#donetime)
* [`content`](#content)
* [`device`](#device)
* [`location`](#location)
* [`alert`](#alert)
* [`violation`](#violation)
* [`reports`](#reports)

## Fields

***

### `organization`

```
version  : 1.0.0
stability: stable
```

```typescript
organization: string;
```

The `Organization`'s login that owns this [`Analysis`](/api/models/analysis.md).

***

### `account`

```
version  : 1.0.0
stability: stable
```

```typescript
account: string;
```

The `Account`'s login that owns this [`Analysis`](/api/models/analysis.md).

***

### `owner`

```
version  : 1.0.0
stability: stable
```

```typescript
owner: string;
```

The `User`'s login that owns this [`Analysis`](/api/models/analysis.md).

***

### `id`

```
version  : 1.0.0
stability: stable
```

```typescript
id: string;
```

Base64 encoded version of the pattern used by our API to retrieve an [`Analysis`](/api/models/analysis.md) document.

This identifier is composed by:

* The entry's type
* The entry's identifier (UUID)
* The entry's initial time (`yyyy-mm-dd`)

These fields are separated using the dash character `#` and orchestrated as follows:

```
TYPE#ID#DATE
```

Example:

```
// input
analysis#37394e45-c0e4-4343-ae5b-d5c414dac177#2018-04-25

// Base64 version
YW5hbHlzaXMjMzczOTRlNDUtYzBlNC00MzQzLWFlNWItZDVjNDE0ZGFjMTc3IzIwMTgtMDQtMjU=
```

***

### `version`

```
version  : 1.0.0
stability: stable
```

```typescript
version: string;
```

The version follows the [Semantic Versioning 2.0.0](https://semver.org/) specification and reflects the [`Analysis`](/api/models/analysis.md) document shape's version.

***

### `status`

```
version  : 1.0.0
stability: stable
```

```typescript
status: Status;
```

```typescript
enum Status: {
  Initial = "INITIAL",
  Done =  "DONE",
  Error = "ERROR",
};
```

The `Status` indicates the progress of an [`Analysis`](/api/models/analysis.md)

***

### `initialTime`

```
version  : 1.0.0
stability: stable
```

```typescript
initialTime: string;
```

An ISO 8601 timestamp that reflects the moment when the [`Analysis`](/api/models/analysis.md) request was handled. This value is the one used by default to sort an analysis list.

***

### `doneTime`

```
version  : 1.0.0
stability: stable
```

```typescript
doneTime: string;
```

An ISO 8601 timestamp that reflects the moment when the [`Analysis`](/api/models/analysis.md) request was completed. From that time on, the document's data is frozen.

***

### `content`

```
version  : 1.0.0
stability: stable
```

```typescript
content: string;
```

The URL or HTML snippet of the content that the user provided to initiate an [`Analysis`](/api/models/analysis.md). The URL follows the [WHATWG URL Standard](https://url.spec.whatwg.org/).

***

### `device`

```
version  : 1.0.0
stability: stable
```

```typescript
device: string;
```

It defines the device that has been emulated during the [`Analysis`](/api/models/analysis.md).

***

### `location`

```
version  : 1.0.0
stability: stable
```

```typescript
location: string;
```

The location identifier is composed by:

* A country (ISO3).
* A `ConnectionType`.
* A provider identifier.

These fields are separated using the dash character `#` and orchestrated as follows:

```
COUNTRY#CONNECTION_TYPE#PROVIDER
```

```typescript
enum ConnectionType {
  Standard = 'STANDARD',
  Residential = 'RESIDENTIAL',
  Mobile = 'MOBILE',
}
```

Example:

```
BEL#MOBILE#ORANGE
```

***

### `alert`

```
version  : 1.0.0
stability: stable
```

```typescript
alert: boolean;
```

It's set to `true` if one of the [`Analysis`](/api/models/analysis.md)'s [`Report`](/api/models/report.md)'s [`Detection`](/api/models/detection.md) is positive to an user defined alert.

***

### `violation`

```
version  : 1.0.0
stability: stable
```

```typescript
violation: boolean;
```

It's set to `true` if one of the [`Analysis`](/api/models/analysis.md)'s [`Report`](/api/models/report.md)'s [`Detection`](/api/models/detection.md) is positive to a violation.

***

### `reports`

```
version  : 1.0.0
stability: stable
```

```typescript
reports: Report[];
```

It handles the data generated for each [`Report`](/api/models/report.md) during an [`Analysis`](/api/models/analysis.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.adsecure.com/api/models/analysis.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
