Skip to main content
POST
Create several accounts in one call. Same duplicate-domain rule as post_apollo_accounts, applied per record, so a partial success is normal — read the response rather than assuming every row was created. Writes land in the AIsa workspace, which every caller shares: the record becomes visible and editable by others, and there is no per-caller isolation.
First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. Your agent then reaches every endpoint through a few meta tools: search, list_categories, get_details and batch_quote are free, batch_use is billed per call. Setup per client is in Connect via MCP; the live tool list and what each call costs are on aisa.one/mcp.
Set this endpoint up in your agent →

Request contract

Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.012
  • Cost contract: fixed_success
  • Settlement evidence source: request_snapshot

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
accounts
object[]
required

Array of account attribute objects (maximum 100 accounts per request)

Maximum array length: 100
append_label_names
string[]

Array of label names to add to ALL accounts in this request

Example:
run_dedupe
boolean
default:false

Enable aggressive deduplication by domain, organization_id, and name. When false (default), only matches by CRM IDs. When true, also matches by domain, organization_id, and name. Existing accounts are returned without modification in both modes

Example:

true

Response

Successful response

created_accounts
string

Accounts created in this request

created_accounts[].account_stage_id
string

Account stage ID

created_accounts[].created_at
string

Created timestamp

created_accounts[].domain
string

Account domain

created_accounts[].id
string

Account ID

created_accounts[].name
string

Account name

created_accounts[].owner_id
string

Owner ID

created_accounts[].phone
string

Phone number

created_accounts[].team_id
string

Team ID

created_accounts[].updated_at
string

Updated timestamp

existing_accounts
string

Accounts that already existed (dedupe matches)

existing_accounts[].account_stage_id
string

Account stage ID

existing_accounts[].created_at
string

Created timestamp

existing_accounts[].domain
string

Account domain

existing_accounts[].id
string

Account ID

existing_accounts[].name
string

Account name

existing_accounts[].owner_id
string

Owner ID

existing_accounts[].phone
string

Phone number

existing_accounts[].team_id
string

Team ID

existing_accounts[].updated_at
string

Updated timestamp