api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.md
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [PayloadBuilder](./node-tracker.payloadbuilder.md)
## PayloadBuilder interface
Interface for mutable object encapsulating tracker payload
<b>Signature:</b>
```typescript
interface PayloadBuilder
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [add](./node-tracker.payloadbuilder.add.md) | (key: string, value: unknown) => void | Adds an entry to the Payload |
| [addContextEntity](./node-tracker.payloadbuilder.addcontextentity.md) | (entity: SelfDescribingJson) => void | Caches a context entity to be added to payload on build |
| [addDict](./node-tracker.payloadbuilder.adddict.md) | (dict: Payload) => void | Merges a payload into the existing payload |
| [addJson](./node-tracker.payloadbuilder.addjson.md) | (keyIfEncoded: string, keyIfNotEncoded: string, json: Record<string, unknown>) => void | Caches a JSON object to be added to payload on build |
| [build](./node-tracker.payloadbuilder.build.md) | () => Payload | Builds and returns the Payload |
| [getJson](./node-tracker.payloadbuilder.getjson.md) | () => EventJson | Gets all JSON objects added to payload |
| [getPayload](./node-tracker.payloadbuilder.getpayload.md) | () => Payload | Gets the current payload, before cached JSON is processed |
| [withJsonProcessor](./node-tracker.payloadbuilder.withjsonprocessor.md) | (jsonProcessor: JsonProcessor) => void | Adds a function which will be executed when building the payload to process the JSON which has been added to this payload |