API reference
Preview an action
What an action would do and spend, without doing it; returns a proposal_id that apply_proposal runs within 30 minutes. Works for every action marked proposable in GET /actions. Previewing a requirement change re-scores nothing until it is applied, except that its before/after is computed on the people already read. Does not use shortlist credits.
Needs scope searches:read.
POST
/
actions
/
preview
Preview an action
curl --request POST \
--url https://api.revcenter.ai/v1/actions/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": "launch_search",
"input": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": [
"Plant Controller",
"Controller"
],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": [
"CPA"
]
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
action: 'launch_search',
input: {
project_id: '6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11',
criteria: {
title_variants: ['Plant Controller', 'Controller'],
metro: 'Camden, NJ',
geo_radius_mi: 40,
years_experience: {min: 8, enforcement: 'hard'},
must_have: ['CPA']
}
}
})
};
fetch('https://api.revcenter.ai/v1/actions/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revcenter.ai/v1/actions/preview"
payload = {
"action": "launch_search",
"input": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": ["Plant Controller", "Controller"],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": ["CPA"]
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"proposal_id": "prop_eyJhIjoibGF1bmNoX3NlYXJjaCJ9.k3V9Q2xWm8",
"action": "launch_search",
"expires_at": "2026-10-17T14:33:02.000Z",
"cost": {
"class": "shortlist_credit",
"line": "Uses 1 shortlist credit.",
"shortlist_credits": 1
},
"effect": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": [
"Plant Controller",
"Controller"
],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": [
"CPA"
]
},
"credits_remaining": 37,
"searches_today": 2,
"searches_per_day": 20,
"running": 1,
"concurrent": 2
}
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}Authorizations
An API key from Settings → Usage → API (rvc_live_…).
Body
application/json
⌘I
Preview an action
curl --request POST \
--url https://api.revcenter.ai/v1/actions/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": "launch_search",
"input": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": [
"Plant Controller",
"Controller"
],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": [
"CPA"
]
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
action: 'launch_search',
input: {
project_id: '6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11',
criteria: {
title_variants: ['Plant Controller', 'Controller'],
metro: 'Camden, NJ',
geo_radius_mi: 40,
years_experience: {min: 8, enforcement: 'hard'},
must_have: ['CPA']
}
}
})
};
fetch('https://api.revcenter.ai/v1/actions/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revcenter.ai/v1/actions/preview"
payload = {
"action": "launch_search",
"input": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": ["Plant Controller", "Controller"],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": ["CPA"]
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"proposal_id": "prop_eyJhIjoibGF1bmNoX3NlYXJjaCJ9.k3V9Q2xWm8",
"action": "launch_search",
"expires_at": "2026-10-17T14:33:02.000Z",
"cost": {
"class": "shortlist_credit",
"line": "Uses 1 shortlist credit.",
"shortlist_credits": 1
},
"effect": {
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"criteria": {
"title_variants": [
"Plant Controller",
"Controller"
],
"metro": "Camden, NJ",
"geo_radius_mi": 40,
"years_experience": {
"min": 8,
"enforcement": "hard"
},
"must_have": [
"CPA"
]
},
"credits_remaining": 37,
"searches_today": 2,
"searches_per_day": 20,
"running": 1,
"concurrent": 2
}
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}