# OpenApiExternalOperationCreateRequest

Creates a tool that calls an HTTP (OpenAPI) connector.

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

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| `pathBindings` | [`ConnectorBinding`](https://docs.maitento.com/reference/types/connector-binding.md)`[]` | yes | Fixed values for the connector's path parameters (`[]` for none). Constraints: required (empty or whitespace-only strings are rejected). |
| `queryBindings` | [`ConnectorBinding`](https://docs.maitento.com/reference/types/connector-binding.md)`[]` | yes | Fixed values for the connector's query parameters (`[]` for none). Constraints: required (empty or whitespace-only strings are rejected). |
| `name` | `string` | yes | The tool's name, unique within its namespace (under 150 characters). The model calls the tool by it. Constraints: maxLength: 150, required (empty or whitespace-only strings are rejected). |
| `connectorId` | `uuid` | yes | The id of the connector the tool calls. Constraints: required (empty or whitespace-only strings are rejected). |
| `connectorVersion` | `integer \| null` |  | The connector version to build on. Omitted: the connector's latest enabled version when the tool is saved. A tool version always calls one exact connector version. Constraints: range: 1..2147483647. |
| `requestBindings` | [`ConnectorBinding`](https://docs.maitento.com/reference/types/connector-binding.md)`[]` | yes | Fixed values for fields of the request body, which the model never sees or chooses (`[]` for none). Constraints: required (empty or whitespace-only strings are rejected). |
| `authenticationHeader` | [`ConnectorAuthenticationHeader`](https://docs.maitento.com/reference/types/connector-authentication-header.md)`\| null` |  | The credential sent with every call, from a secret. The connector needs `Header` authentication. |
| `promptGuidance` | `string \| null` |  | When and how to use the tool, written for the model (under 10,000 characters). Omitted: the connector's description. Constraints: maxLength: 10000. |
| `requiresApproval` | `boolean` |  | Whether a person must approve each call before it is made. The run waits with status `PendingApproval`. |

## Example

```json
{
  "pathBindings": [
    {
      "target": "...",
      "value": "..."
    }
  ],
  "queryBindings": [
    {
      "target": "...",
      "value": "..."
    }
  ],
  "name": "...",
  "connectorId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "connectorVersion": 0,
  "requestBindings": [
    {
      "target": "...",
      "value": "..."
    }
  ],
  "authenticationHeader": {
    "headerName": "...",
    "secretId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f"
  },
  "promptGuidance": "...",
  "requiresApproval": false
}
```

## Where it's used

- [`tools.createOpenApi`](https://docs.maitento.com/reference/api/tools.md) (`POST /namespaces/{namespaceName}/external-operations/open-api`)
