Table of Contents

Class FunctionToolCall

Namespace
OpenAI.Responses
Assembly
OpenAI-DotNet.dll

A tool call to run a function.

public sealed class FunctionToolCall : BaseResponse, IResponseItem, IServerSentEvent, IListItem, IToolCall
Inheritance
FunctionToolCall
Implements
Inherited Members

Constructors

FunctionToolCall()

public FunctionToolCall()

FunctionToolCall(string, string, JsonNode)

public FunctionToolCall(string callId, string name, JsonNode arguments)

Parameters

callId string
name string
arguments JsonNode

Properties

Arguments

The arguments to use when calling the function.

[JsonInclude]
[JsonPropertyName("arguments")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public JsonNode Arguments { get; }

Property Value

JsonNode

CallId

The unique ID of the function tool call generated by the model.

[JsonInclude]
[JsonPropertyName("call_id")]
public string CallId { get; }

Property Value

string

Id

The unique ID of this response item.

[JsonInclude]
[JsonPropertyName("id")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Id { get; }

Property Value

string

Name

The name of the function to run.

[JsonInclude]
[JsonPropertyName("name")]
public string Name { get; }

Property Value

string

Object

[JsonInclude]
[JsonPropertyName("object")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Object { get; }

Property Value

string

Status

The status of the response item.

[JsonInclude]
[JsonPropertyName("status")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public ResponseStatus Status { get; }

Property Value

ResponseStatus

Type

[JsonInclude]
[JsonPropertyName("type")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public ResponseItemType Type { get; }

Property Value

ResponseItemType

Methods

InvokeFunction()

public FunctionToolCallOutput InvokeFunction()

Returns

FunctionToolCallOutput

InvokeFunctionAsync(CancellationToken)

public Task<FunctionToolCallOutput> InvokeFunctionAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<FunctionToolCallOutput>

InvokeFunctionAsync<T>(JsonSerializerOptions, CancellationToken)

public Task<FunctionToolCallOutput<T>> InvokeFunctionAsync<T>(JsonSerializerOptions options = null, CancellationToken cancellationToken = default)

Parameters

options JsonSerializerOptions
cancellationToken CancellationToken

Returns

Task<FunctionToolCallOutput<T>>

Type Parameters

T

InvokeFunction<T>(JsonSerializerOptions)

public FunctionToolCallOutput<T> InvokeFunction<T>(JsonSerializerOptions options = null)

Parameters

options JsonSerializerOptions

Returns

FunctionToolCallOutput<T>

Type Parameters

T