API Reference
ProcessingAgreement

Processing Agreement Schema

The signed processing agreement acceptance captured when boarding a processing account


The Processing Agreement schema defines the structure and properties of processing agreement objects in the Payload API. A processing agreement records a business's ESIGN-compliant acceptance of Payload's processing terms, including the acceptance timestamp, the verbatim assent statement, the authorized signer and their device, and a content-addressed reference to the exact terms revision that was accepted. The logs field on this object references the Processing Agreement Log schema, which records the individual consent events making up the ESIGN audit trail.

Processing Agreement Object Properties

Complete reference for all properties available in the Processing Agreement schema

accepted_at
string (date-time)
UTC timestamp at which the authorized signer affirmatively accepted the agreement. Required unless an agree-processing-agreement event is supplied in logs, in which case that event's recorded_at is adopted as the acceptance time.
Required if: No agree-processing-agreement event with a recorded_at is present in logs; when one is, that event's recorded_at is adopted as the acceptance time instead.
assent_statement
stringRequired
The exact assent text the signer affirmed, captured verbatim as evidence of intent to sign. For business boarding this single statement must cover both agreement to the terms and consent to use electronic records and signatures.
attrs
object
Custom attributes for extending the resource with additional key-value pairs. Maximum length is 255 characters when serialized.
created_at
string (date-time)Read-only
Timestamp when the resource was created. Automatically set by the system and immutable.
id
stringRead-only
Unique identifier for the resource. Automatically generated upon creation and cannot be modified. (ID prefix: agg)
Pattern: ^agg_[A-Za-z0-9]+$
Audit trail of consent-related events recorded against this processing agreement, such as acceptance or re-acceptance of updated terms.
modified_at
string (date-time)Read-only
Timestamp when the resource was last modified. Automatically updated whenever any field changes.
object
enum[string]Read-only
String representing the object type for this resource.
Values: processing_agreement
signer
object
Information about the authorized person who accepted this processing agreement on behalf of the business, including their name, title, contact information, and the device they accepted from. Used for verification, compliance, and record-keeping.
email
string
Email address of the person who accepted the agreement. Used for sending agreement copies, confirmations, and important communications related to the processing agreement.
Max length: 32
ip_address
string
Public IP address of the signer at the moment of acceptance, as captured by the boarding partner. Required for server-side requests, where the request originates from the partner rather than the signer; for client-side sessions it defaults to the request IP when not provided.
Max length: 45
Required if: The request originates from the partner rather than the signer (server-side); for client-side sessions it defaults to the request value when not provided.
name
string
Full name of the person who accepted the processing agreement. This person is typically an authorized representative, owner, or officer of the business who has legal authority to bind the entity to the agreement.
Max length: 56
title
string
Job title or role of the person who accepted the agreement (e.g., CEO, CFO, Owner, President). This helps establish the signer's authority and relationship to the business entity.
Max length: 32
user_agent
string
Browser/device user-agent string of the signer at the moment of acceptance. Required for server-side requests, where the request originates from the partner rather than the signer; for client-side sessions it defaults to the request user-agent when not provided.
Max length: 256
Required if: The request originates from the partner rather than the signer (server-side); for client-side sessions it defaults to the request value when not provided.
terms
object
The processing agreement terms the signer accepted: an optional revision selector and a computed content hash of Payload's document for reproducible, tamper-evident compliance records.
hash
stringRead-only
SHA-256 of the bound revision's document. Tamper-evidence of exactly which document the signer agreed to: it is derived from the chosen revision, so a partner cannot assert a hash that does not match the document.
Max length: 64
revision_id
string
Agreement revision id of the processing agreement the signer was shown. Provide this to bind acceptance to a specific document revision (e.g. when presenting a pinned version); defaults to Payload's current published revision when omitted.
Max length: 64