<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@datashaper/schema](./schema.md) &gt; [Step](./schema.step.md)

## Step type

Specification for step items

<b>Signature:</b>

```typescript
export type Step = StepJsonCommon & (({
    verb: Verb.Aggregate;
    args?: AggregateArgs;
} & BasicInput) | ({
    verb: Verb.Bin;
    args?: BinArgs;
} & BasicInput) | ({
    verb: Verb.Binarize;
    args?: BinarizeArgs;
} & BasicInput) | ({
    verb: Verb.Boolean;
    args?: BooleanArgs;
} & BasicInput) | ({
    verb: Verb.Concat;
} & VariadicInput) | ({
    verb: Verb.Convert;
    args?: ConvertArgs;
} & BasicInput) | ({
    verb: Verb.Copy;
    args?: CopyArgs;
} & BasicInput) | ({
    verb: Verb.Dedupe;
    args?: DedupeArgs;
} & BasicInput) | ({
    verb: Verb.Derive;
    args?: DeriveArgs;
} & BasicInput) | ({
    verb: Verb.Difference;
} & VariadicInput) | ({
    verb: Verb.Decode;
    args?: EncodeDecodeArgs;
} & BasicInput) | ({
    verb: Verb.Drop;
    args?: DropArgs;
} & BasicInput) | ({
    verb: Verb.Encode;
    args?: EncodeDecodeArgs;
} & BasicInput) | ({
    verb: Verb.Erase;
    args?: EraseArgs;
} & BasicInput) | ({
    verb: Verb.Fill;
    args?: FillArgs;
} & BasicInput) | ({
    verb: Verb.Filter;
    args?: FilterArgs;
} & BasicInput) | ({
    verb: Verb.Fold;
    args?: FoldArgs;
} & BasicInput) | ({
    verb: Verb.Groupby;
    args?: GroupbyArgs;
} & BasicInput) | ({
    verb: Verb.Impute;
    args?: ImputeArgs;
} & BasicInput) | ({
    verb: Verb.Intersect;
} & VariadicInput) | ({
    verb: Verb.Join;
    args?: JoinArgs;
} & DualInput) | ({
    verb: Verb.Lookup;
    args?: LookupArgs;
} & DualInput) | ({
    verb: Verb.Merge;
    args?: MergeArgs;
} & BasicInput) | ({
    verb: Verb.Print;
    args?: PrintArgs;
} & BasicInput) | ({
    verb: Verb.Onehot;
    args?: OnehotArgs;
} & BasicInput) | ({
    verb: Verb.Orderby;
    args?: OrderbyArgs;
} & BasicInput) | ({
    verb: Verb.Pivot;
    args?: PivotArgs;
} & BasicInput) | ({
    verb: Verb.Recode;
    args?: RecodeArgs;
} & BasicInput) | ({
    verb: Verb.Rename;
    args?: RenameArgs;
} & BasicInput) | ({
    verb: Verb.Rollup;
    args?: RollupArgs;
} & BasicInput) | ({
    verb: Verb.Sample;
    args?: SampleArgs;
} & BasicInput) | ({
    verb: Verb.Select;
    args?: SelectArgs;
} & BasicInput) | ({
    verb: Verb.Spread;
    args?: SpreadArgs;
} & BasicInput) | ({
    verb: Verb.Destructure;
    args?: DestructureArgs;
} & BasicInput) | ({
    verb: Verb.StringsReplace;
    args?: StringsReplaceArgs;
} & BasicInput) | ({
    verb: Verb.StringsLower;
    args?: StringsArgs;
} & BasicInput) | ({
    verb: Verb.StringsUpper;
    args?: StringsArgs;
} & BasicInput) | ({
    verb: Verb.Unfold;
    args?: UnfoldArgs;
} & BasicInput) | ({
    verb: Verb.Ungroup;
} & BasicInput) | ({
    verb: Verb.Unhot;
    args?: UnhotArgs;
} & BasicInput) | ({
    verb: Verb.Union;
} & VariadicInput) | ({
    verb: Verb.Unorder;
} & BasicInput) | ({
    verb: Verb.Unroll;
    args?: UnrollArgs;
} & BasicInput) | ({
    verb: Verb.Window;
    args?: WindowArgs;
} & BasicInput) | ({
    verb: Verb.Workflow;
    args?: WorkflowArgs;
} & BasicInput)
/**
 * Custom step - we may not know the verb, args, or binding pattern
 */
 | ({
    verb: string;
    args?: unknown;
} & UnknownInput));
```
<b>References:</b> [StepJsonCommon](./schema.stepjsoncommon.md)<!-- -->, [Verb.Aggregate](./schema.verb.md)<!-- -->, [AggregateArgs](./schema.aggregateargs.md)<!-- -->, [BasicInput](./schema.basicinput.md)<!-- -->, [Verb.Bin](./schema.verb.md)<!-- -->, [BinArgs](./schema.binargs.md)<!-- -->, [Verb.Binarize](./schema.verb.md)<!-- -->, [BinarizeArgs](./schema.binarizeargs.md)<!-- -->, [Verb.Boolean](./schema.verb.md)<!-- -->, [BooleanArgs](./schema.booleanargs.md)<!-- -->, [Verb.Concat](./schema.verb.md)<!-- -->, [VariadicInput](./schema.variadicinput.md)<!-- -->, [Verb.Convert](./schema.verb.md)<!-- -->, [ConvertArgs](./schema.convertargs.md)<!-- -->, [Verb.Copy](./schema.verb.md)<!-- -->, [CopyArgs](./schema.copyargs.md)<!-- -->, [Verb.Dedupe](./schema.verb.md)<!-- -->, [DedupeArgs](./schema.dedupeargs.md)<!-- -->, [Verb.Derive](./schema.verb.md)<!-- -->, [DeriveArgs](./schema.deriveargs.md)<!-- -->, [Verb.Difference](./schema.verb.md)<!-- -->, [Verb.Decode](./schema.verb.md)<!-- -->, [EncodeDecodeArgs](./schema.encodedecodeargs.md)<!-- -->, [Verb.Drop](./schema.verb.md)<!-- -->, [DropArgs](./schema.dropargs.md)<!-- -->, [Verb.Encode](./schema.verb.md)<!-- -->, [Verb.Erase](./schema.verb.md)<!-- -->, [EraseArgs](./schema.eraseargs.md)<!-- -->, [Verb.Fill](./schema.verb.md)<!-- -->, [FillArgs](./schema.fillargs.md)<!-- -->, [Verb.Filter](./schema.verb.md)<!-- -->, [FilterArgs](./schema.filterargs.md)<!-- -->, [Verb.Fold](./schema.verb.md)<!-- -->, [FoldArgs](./schema.foldargs.md)<!-- -->, [Verb.Groupby](./schema.verb.md)<!-- -->, [GroupbyArgs](./schema.groupbyargs.md)<!-- -->, [Verb.Impute](./schema.verb.md)<!-- -->, [ImputeArgs](./schema.imputeargs.md)<!-- -->, [Verb.Intersect](./schema.verb.md)<!-- -->, [Verb.Join](./schema.verb.md)<!-- -->, [JoinArgs](./schema.joinargs.md)<!-- -->, [DualInput](./schema.dualinput.md)<!-- -->, [Verb.Lookup](./schema.verb.md)<!-- -->, [LookupArgs](./schema.lookupargs.md)<!-- -->, [Verb.Merge](./schema.verb.md)<!-- -->, [MergeArgs](./schema.mergeargs.md)<!-- -->, [Verb.Print](./schema.verb.md)<!-- -->, [PrintArgs](./schema.printargs.md)<!-- -->, [Verb.Onehot](./schema.verb.md)<!-- -->, [OnehotArgs](./schema.onehotargs.md)<!-- -->, [Verb.Orderby](./schema.verb.md)<!-- -->, [OrderbyArgs](./schema.orderbyargs.md)<!-- -->, [Verb.Pivot](./schema.verb.md)<!-- -->, [PivotArgs](./schema.pivotargs.md)<!-- -->, [Verb.Recode](./schema.verb.md)<!-- -->, [RecodeArgs](./schema.recodeargs.md)<!-- -->, [Verb.Rename](./schema.verb.md)<!-- -->, [RenameArgs](./schema.renameargs.md)<!-- -->, [Verb.Rollup](./schema.verb.md)<!-- -->, [RollupArgs](./schema.rollupargs.md)<!-- -->, [Verb.Sample](./schema.verb.md)<!-- -->, [SampleArgs](./schema.sampleargs.md)<!-- -->, [Verb.Select](./schema.verb.md)<!-- -->, [SelectArgs](./schema.selectargs.md)<!-- -->, [Verb.Spread](./schema.verb.md)<!-- -->, [SpreadArgs](./schema.spreadargs.md)<!-- -->, [Verb.Destructure](./schema.verb.md)<!-- -->, [DestructureArgs](./schema.destructureargs.md)<!-- -->, [Verb.StringsReplace](./schema.verb.md)<!-- -->, [StringsReplaceArgs](./schema.stringsreplaceargs.md)<!-- -->, [Verb.StringsLower](./schema.verb.md)<!-- -->, [StringsArgs](./schema.stringsargs.md)<!-- -->, [Verb.StringsUpper](./schema.verb.md)<!-- -->, [Verb.Unfold](./schema.verb.md)<!-- -->, [UnfoldArgs](./schema.unfoldargs.md)<!-- -->, [Verb.Ungroup](./schema.verb.md)<!-- -->, [Verb.Unhot](./schema.verb.md)<!-- -->, [UnhotArgs](./schema.unhotargs.md)<!-- -->, [Verb.Union](./schema.verb.md)<!-- -->, [Verb.Unorder](./schema.verb.md)<!-- -->, [Verb.Unroll](./schema.verb.md)<!-- -->, [UnrollArgs](./schema.unrollargs.md)<!-- -->, [Verb.Window](./schema.verb.md)<!-- -->, [WindowArgs](./schema.windowargs.md)<!-- -->, [Verb.Workflow](./schema.verb.md)<!-- -->, [WorkflowArgs](./schema.workflowargs.md)<!-- -->, [UnknownInput](./schema.unknowninput.md)

