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

# ProbeStep

> One step of a [ServiceProbe](/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ServiceProbe): what was tried, how it ended, and what the service said.

## Definition

**Assembly:** Microsoft.OData.Mcp.Core.dll

**Namespace:** Microsoft.OData.Mcp.Core.Diagnostics

**Inheritance:** System.Object

## Syntax

```csharp theme={null}
Microsoft.OData.Mcp.Core.Diagnostics.ProbeStep
```

## Summary

One step of a [ServiceProbe](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ServiceProbe.md): what was tried, how it ended, and what the service said.

## Constructors

### &#x20;.ctor

Initializes a new instance of the [ProbeStep](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ProbeStep.md) class.

#### Syntax

```csharp theme={null}
public ProbeStep(Microsoft.OData.Mcp.Core.Diagnostics.ProbeOutcome outcome, string detail, System.Nullable<int> statusCode = null, System.Collections.Generic.IReadOnlyList<string> challenges = null)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `outcome` | `Microsoft.OData.Mcp.Core.Diagnostics.ProbeOutcome` | The outcome. |
| `detail` | `string` | One readable line. |
| `statusCode` | `System.Nullable<int>` | The HTTP status code, if any. |
| `challenges` | `System.Collections.Generic.IReadOnlyList<string>?` | The `WWW-Authenticate` values, if any. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public Object()
```

## Properties

### &#x20;Challenges

Every `WWW-Authenticate` value the response carried. Empty unless the outcome is
[ProbeOutcome.Unauthorized](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ProbeOutcome.md#unauthorized) or [ProbeOutcome.Forbidden](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ProbeOutcome.md#forbidden).

#### Syntax

```csharp theme={null}
public System.Collections.Generic.IReadOnlyList<string> Challenges { get; }
```

#### Property Value

Type: `System.Collections.Generic.IReadOnlyList<string>`

### &#x20;Detail

One line a person can read, for example `Categories?$top=1 → 200`.

#### Syntax

```csharp theme={null}
public string Detail { get; }
```

#### Property Value

Type: `string`

### &#x20;Outcome

The outcome.

#### Syntax

```csharp theme={null}
public Microsoft.OData.Mcp.Core.Diagnostics.ProbeOutcome Outcome { get; }
```

#### Property Value

Type: `Microsoft.OData.Mcp.Core.Diagnostics.ProbeOutcome`

### &#x20;StatusCode

The HTTP status code when a response was received, otherwise `null`.

#### Syntax

```csharp theme={null}
public System.Nullable<int> StatusCode { get; }
```

#### Property Value

Type: `System.Nullable<int>`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;IsSecured

Whether the step ended with an authentication or authorization refusal.

#### Syntax

```csharp theme={null}
public bool IsSecured()
```

#### Returns

Type: `bool`
`true` for [ProbeOutcome.Unauthorized](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ProbeOutcome.md#unauthorized) and [ProbeOutcome.Forbidden](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Diagnostics/ProbeOutcome.md#forbidden).

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Override

#### Syntax

```csharp theme={null}
public override string ToString()
```

#### Returns

Type: `string`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.