# ScriptedClient (/docs/api/core-testing/interfaces/ScriptedClient)



The only thing core asks of a client. Declared here, never imported from the SDK, so core
publishes no dependency on it.

`systemOne` is a function-typed property, not a method: under `strictFunctionTypes` that
checks parameters contravariantly, so `types.test-d.ts` proving `TypeSafeClient` assignable
to this interface proves something. A method signature would be bivariant.

## Extends [#extends]

* [`SystemOneClient`](/docs/api/core/interfaces/SystemOneClient)

## Properties [#properties]

### calls [#calls]

```ts
readonly calls: readonly SystemOneRequest[];
```

The requests received so far, in call order.

***

### systemOne [#systemone]

```ts
systemOne: (request, options?) => Promise<SystemOneResult>;
```

#### Parameters [#parameters]

| Parameter  | Type                                                                     |
| ---------- | ------------------------------------------------------------------------ |
| `request`  | [`SystemOneRequest`](/docs/api/core/interfaces/SystemOneRequest)         |
| `options?` | [`SystemOneCallOptions`](/docs/api/core/interfaces/SystemOneCallOptions) |

#### Returns [#returns]

`Promise`\<[`SystemOneResult`](/docs/api/core/interfaces/SystemOneResult)>

#### Inherited from [#inherited-from]

[`SystemOneClient`](/docs/api/core/interfaces/SystemOneClient).[`systemOne`](/docs/api/core/interfaces/SystemOneClient#systemone)
