curl --request PATCH \
--url https://api.aisa.one/apis/v1/apollo/accounts/{account_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_stage_id": "<string>",
"domain": "<string>",
"name": "<string>",
"owner_id": "<string>",
"phone": "<string>",
"raw_address": "<string>",
"typed_custom_fields": {
"60c39ed82bd02f01154c470a": "2025-08-07"
}
}
'import requests
url = "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}"
payload = {
"account_stage_id": "<string>",
"domain": "<string>",
"name": "<string>",
"owner_id": "<string>",
"phone": "<string>",
"raw_address": "<string>",
"typed_custom_fields": { "60c39ed82bd02f01154c470a": "2025-08-07" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_stage_id: '<string>',
domain: '<string>',
name: '<string>',
owner_id: '<string>',
phone: '<string>',
raw_address: '<string>',
typed_custom_fields: {'60c39ed82bd02f01154c470a': '2025-08-07'}
})
};
fetch('https://api.aisa.one/apis/v1/apollo/accounts/{account_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'account_stage_id' => '<string>',
'domain' => '<string>',
'name' => '<string>',
'owner_id' => '<string>',
'phone' => '<string>',
'raw_address' => '<string>',
'typed_custom_fields' => [
'60c39ed82bd02f01154c470a' => '2025-08-07'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}"
payload := strings.NewReader("{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.aisa.one/apis/v1/apollo/accounts/{account_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/apollo/accounts/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}"
response = http.request(request)
puts response.read_body{
"account": {}
}Update an Account
Update one account by its Apollo id.
curl --request PATCH \
--url https://api.aisa.one/apis/v1/apollo/accounts/{account_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_stage_id": "<string>",
"domain": "<string>",
"name": "<string>",
"owner_id": "<string>",
"phone": "<string>",
"raw_address": "<string>",
"typed_custom_fields": {
"60c39ed82bd02f01154c470a": "2025-08-07"
}
}
'import requests
url = "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}"
payload = {
"account_stage_id": "<string>",
"domain": "<string>",
"name": "<string>",
"owner_id": "<string>",
"phone": "<string>",
"raw_address": "<string>",
"typed_custom_fields": { "60c39ed82bd02f01154c470a": "2025-08-07" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_stage_id: '<string>',
domain: '<string>',
name: '<string>',
owner_id: '<string>',
phone: '<string>',
raw_address: '<string>',
typed_custom_fields: {'60c39ed82bd02f01154c470a': '2025-08-07'}
})
};
fetch('https://api.aisa.one/apis/v1/apollo/accounts/{account_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'account_stage_id' => '<string>',
'domain' => '<string>',
'name' => '<string>',
'owner_id' => '<string>',
'phone' => '<string>',
'raw_address' => '<string>',
'typed_custom_fields' => [
'60c39ed82bd02f01154c470a' => '2025-08-07'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/apollo/accounts/{account_id}"
payload := strings.NewReader("{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.aisa.one/apis/v1/apollo/accounts/{account_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/apollo/accounts/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_stage_id\": \"<string>\",\n \"domain\": \"<string>\",\n \"name\": \"<string>\",\n \"owner_id\": \"<string>\",\n \"phone\": \"<string>\",\n \"raw_address\": \"<string>\",\n \"typed_custom_fields\": {\n \"60c39ed82bd02f01154c470a\": \"2025-08-07\"\n }\n}"
response = http.request(request)
puts response.read_body{
"account": {}
}get_apollo_account_stages. 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.
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.Request contract
- Method and path: PATCH /apis/v1/apollo/accounts/{account_id}
- Availability: enabled
- Request URL template: https://api.aisa.one/apis/v1/apollo/accounts/{account_id}
- account_id: path; required
- Runtime facts: 9ab7612cf2d53be794cbf1d65d4a257f986ac6783e53c7c3a5d868e4593061c3
{
"operationId": "patch_apollo_accounts_account_id",
"method": "PATCH",
"path": "/apis/v1/apollo/accounts/{account_id}",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [
{
"description": "Account ID",
"in": "path",
"name": "account_id",
"required": true,
"schema": {
"type": "string"
}
}
],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"account_stage_id": {
"description": "The Apollo ID for the account stage to which you want to assign the account. Enter a different ID to update the account stage. <br><br>Call the <a href=\"https://docs.apollo.io/reference/list-account-stages\" target=\"_blank\">list account stages endpoint</a> to retrieve a list of all the account stage IDs available in your Apollo account. <br><br>If you do not specify the account stage, Apollo automatically assigns the account to a stage as determined by your team's Apollo account. To change the order of account stages, launch the Apollo product and go to <b>Settings</b> > <b>Objects</b> > <a href=\"https://app.apollo.io/#/settings/accounts/stages\" target=\"_blank\"><b>Accounts</b></a>. Then, access the <b>Triggers</b> tab and change the stage for when an account is created. <br><br>Example: `61b8e913e0f4d2012e3af74e`",
"type": "string"
},
"domain": {
"description": "Update the domain name for the account. Do not include `www.` or similar. <br><br>Example: `apollo.io` or `microsoft.com`",
"type": "string"
},
"name": {
"description": "Update the account's name. This should be a human-readable name. <br><br>Example: `The Fast Irish Copywriters`",
"type": "string"
},
"owner_id": {
"description": "The ID for the account owner within your team's Apollo account. Enter a different ID to update the owner of the account. <br><br>Use the <a href=\"https://docs.apollo.io/reference/get-a-list-of-users\" target=\"_blank\">get a list of users endpoint</a> to retrieve IDs for all of the users within your Apollo account. <br><br>Example: `66302798d03b9601c7934ebf`",
"type": "string"
},
"phone": {
"description": "Update the primary phone number for the account. <br><br>This can be the phone number for the corporate headquarters, a branch location, or a direct dial to the primary point of contact for the account. <br><br>Apollo sanitizes phone numbers, so you can enter them in any format. The sanitized number can be viewed in the endpoint response. <br><br>Examples: `555-555-0133`; `+44 7700 900852`",
"type": "string"
},
"raw_address": {
"description": "Update the corporate location for the account. This can include a city, US state, and country. <br><br>Apollo matches the location you provide to the most applicable pre-defined location. <br><br>Examples: `Belfield, Dublin 4, Ireland`; `Dallas, United States`",
"type": "string"
},
"typed_custom_fields": {
"additionalProperties": {
"type": "string"
},
"description": "Add information to <a href=\"https://knowledge.apollo.io/hc/en-us/articles/4412498754445-Create-Custom-Account-Fields\" target=\"_blank\">custom fields</a> in Apollo. <br><br><b>Your custom fields are unique to your team's Apollo account. This means that the examples in this documentation may not work for your testing purposes.</b> <br><br>To utilize this parameter successfully, call the <a href=\"https://docs.apollo.io/reference/get-a-list-of-all-custom-fields\">get a list of all custom fields</a> endpoint and identify the `id` value for the custom field, as well as the appropriate data type. For example, if a custom field accepts picklist entries, you need to pass the accompanying `id` value for the picklist entry that you want to use as the input value. <br><br><b>Example</b>: When the <a href=\"https://docs.apollo.io/reference/get-a-list-of-all-custom-fields\">get a list of all custom fields</a> endpoint returns an `id` of field: \n * `\"60c39ed82bd02f01154c470a\"` (datetime) \n \n\n then the value passed should be: \n\n `{\"60c39ed82bd02f01154c470a\": \"2025-08-07\"}`",
"example": {
"60c39ed82bd02f01154c470a": "2025-08-07"
},
"type": "object"
}
},
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_pricing": "fixed_success",
"default_request_estimate_usd": 0.012,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
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
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Account ID
Body
The Apollo ID for the account stage to which you want to assign the account. Enter a different ID to update the account stage.
Call the list account stages endpoint to retrieve a list of all the account stage IDs available in your Apollo account.
If you do not specify the account stage, Apollo automatically assigns the account to a stage as determined by your team's Apollo account. To change the order of account stages, launch the Apollo product and go to Settings > Objects > Accounts. Then, access the Triggers tab and change the stage for when an account is created.
Example: 61b8e913e0f4d2012e3af74e
Update the domain name for the account. Do not include www. or similar.
Example: apollo.io or microsoft.com
Update the account's name. This should be a human-readable name.
Example: The Fast Irish Copywriters
The ID for the account owner within your team's Apollo account. Enter a different ID to update the owner of the account.
Use the get a list of users endpoint to retrieve IDs for all of the users within your Apollo account.
Example: 66302798d03b9601c7934ebf
Update the primary phone number for the account.
This can be the phone number for the corporate headquarters, a branch location, or a direct dial to the primary point of contact for the account.
Apollo sanitizes phone numbers, so you can enter them in any format. The sanitized number can be viewed in the endpoint response.
Examples: 555-555-0133; +44 7700 900852
Update the corporate location for the account. This can include a city, US state, and country.
Apollo matches the location you provide to the most applicable pre-defined location.
Examples: Belfield, Dublin 4, Ireland; Dallas, United States
Add information to custom fields in Apollo.
Your custom fields are unique to your team's Apollo account. This means that the examples in this documentation may not work for your testing purposes.
To utilize this parameter successfully, call the get a list of all custom fields endpoint and identify the id value for the custom field, as well as the appropriate data type. For example, if a custom field accepts picklist entries, you need to pass the accompanying id value for the picklist entry that you want to use as the input value.
Example: When the get a list of all custom fields endpoint returns an id of field:
"60c39ed82bd02f01154c470a"(datetime)
then the value passed should be:
{"60c39ed82bd02f01154c470a": "2025-08-07"}
Show child attributes
Show child attributes
{ "60c39ed82bd02f01154c470a": "2025-08-07" }
Response
Successful response
Updated account