/v1/open prefix, and every request needs an API key with the
right permission scope.
https://api.a2v2.ai is the production API base URL
(see API Overview). <AGENT_ID> is the ID of the agent
your key is scoped to. Where a request or response body isn’t fully documented
below, treat it as to be confirmed — call the matching schema endpoint (for
contacts and forms) to see the exact fields your agent expects.How endpoints are addressed
Most endpoints are scoped to an agent and a contact in the URL path. Contacts can be addressed two ways:Contacts
Create, read, update, and archive CRM contacts. Requires the Contact Access scope (contacts) with the matching action.
List query parameters
The list endpoint (GET /contacts/chatbots/<AGENT_ID>) supports:
Contact fields
A contact accepts standard fields plus a free-formcustomFields object for your
own data. The standard fields include:
primaryEmail is required when creating a contact via the API.
The exact required/optional status and validation rules per field can vary by how
the agent’s CRM schema is configured. Call
GET /contacts/schema/chatbots/<AGENT_ID>
to get the authoritative field list for your agent. Field-level types and rules
beyond primaryEmail being required are to be confirmed against that schema.Example — create a contact
Contact files
Upload and manage files attached to a contact. Requires the Contact Access scope (contacts).
For file lists,
sortBy accepts createdAt, fileName, or fileSize; limit is
1–100. The delete request optionally accepts a reason field in the body.
The
<contactId> here is the A2V2 contact ID. Allowed file types and the maximum
file size are enforced by the platform; the exact limits are to be confirmed.Forms
Submit and read CRM form submissions on behalf of a contact.
The submission
status filter accepts draft, submitted, under_review,
approved, rejected, or archived. When submitting, formData is a JSON object
keyed by the template’s fields — call the template schema endpoint to see the
expected keys.
Document extraction
Extract structured data from an uploaded document using AI. Requires the Document Extraction Access scope (document-extraction).
Extract request
Send asmultipart/form-data:
A schema field looks like:
type values include string, number, date, boolean,
email, array, and object.
Extract response
data holds the extracted fields keyed by your schema; metadata.confidence is an
overall confidence score, with per-field scores in fieldConfidences.
Document extraction consumes credits like other AI operations. See
Credits explained.
Managing keys
API keys themselves are created and managed in the dashboard, not with an API key — see Authentication and API keys in Settings. Usage statistics for your keys are also available in the dashboard.Related
Authentication
Create a key and grant the right scopes.
API Overview
Base URL, response format, pagination, and rate limits.
CRM Contacts
How contacts work in the dashboard.
CRM Forms
Build the form templates these endpoints submit to.