CreateListBody
Properties
object- string
namerequired - people | companies
entity - crm | find
origin
Getting started
Workspace-scoped REST API for lists, Find, playbooks, sequences, enrollments, inbox, content, CRM, and webhooks. Generated from the live OpenAPI spec — every route below matches production, with request and response schemas where defined.
Send your workspace API key on every request. Keys are minted in Settings → Developers after API access is approved.
Authorization: Bearer arm_…
All paths below are relative to the product app host. Paths include the /api/v1 prefix.
https://app.getarmada.com/api/v1
Mint keys with the scopes you need. Each endpoint lists its tag-level scope below.
Mutating POST, PUT, PATCH, and DELETE accept an optional Idempotency-Key header (1–256 chars). Successful responses are cached 24h per key; replays return the same body with idempotency-replayed: true.
Every error returns a stable JSON envelope. x-request-id is echoed on all responses.
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key",
"request_id": "req_…"
}
}| Bucket | Per key | Per workspace |
|---|---|---|
| Light reads / list writes | 120/min | 600/min |
| Heavy (Find, enroll, inbox write, content write, inventory, accounts) | 30/min | 120/min |
429 responses include Retry-After and error.code = rate_limited.
API access is approved per workspace. Request it in Settings → Developers; usage bills the same as the product UI.
Models
Shared object types referenced across endpoints. Field tables below match the OpenAPI components section.
Properties
objectnamerequiredentityoriginProperties
objecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetailsProperties
objectidrequirednamerequiredentityrequiredoriginrequiredrow_countrequiredcreated_atrequiredupdated_atrequiredcolumnsrequiredProperties
objectidrequirednamerequiredentityrequiredoriginrequiredrow_countrequiredcreated_atrequiredupdated_atrequiredProperties
objectworkspace_idrequiredorganization_idrequiredkeyrequiredidrequirednamerequiredscopesrequiredentitlementsrequiredapi_accessrequiredcsv_exportplan_idMe
Key identity, entitlements, credits, and on-demand status.
Scopes: Any valid key
/api/v1/meResponses
Response body
Meobjectworkspace_idrequiredorganization_idrequiredkeyrequiredidrequirednamerequiredscopesrequiredentitlementsrequiredapi_accessrequiredcsv_exportplan_idResponse body
Errorobjecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetailsResponse body
Errorobjecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetailsResponse body
Errorobjecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetailsBilling
Credits, on-demand limits, and Stripe checkout links.
Scopes: billing:read · billing:write
/api/v1/billingResponses
/api/v1/billing/checkout-linkRequest body
application/json
objectintent: enable_on_demand | buy_credits | portal
intentrequiredlimit_centsrequiredExample
{
"intent": "enable_on_demand",
"limit_cents": 40000
}Responses
/api/v1/billing/on-demandRequest body
application/json
objectenabledrequiredlimit_centsrequiredExample
{
"enabled": true,
"limit_cents": 40000
}Responses
Lists
Create lists, rows, columns, ICP, Fit, Signal, Live, verify, and CSV export.
Scopes: lists:read · lists:write
/api/v1/listsResponses
Response body
objectdatarequiredResponse body
Errorobjecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetails/api/v1/listsRequest body · required
application/json
CreateListBodyobjectnamerequiredentityoriginResponses
Response body
ListDetailobjectidrequirednamerequiredentityrequiredoriginrequiredrow_countrequiredcreated_atrequiredupdated_atrequiredcolumnsrequiredResponse body
Errorobjecterrorrequiredcoderequiredmessagerequiredrequest_idrequireddetails/api/v1/lists/{listId}Parameters
Responses
/api/v1/lists/{listId}/exportParameters
Responses
/api/v1/lists/{listId}/rowsParameters
Responses
/api/v1/lists/{listId}/rowsParameters
Request body
application/json
objectrowsrequiredExample
{
"rows": [
{
"data": {
"email": "alex@acme.co",
"first_name": "Alex",
"company_name": "Acme"
}
}
]
}Responses
Find
Run Find from a plan or playbook recipe; poll run status.
Scopes: find:run · lists:read
/api/v1/find-runsRequest body
application/json
objectplaybook_idrequiredlist_namerequiredslotsrequiredindustryrequiredExample
{
"playbook_id": "recent-funding",
"list_name": "Funded SaaS — March",
"slots": {
"industry": "B2B SaaS"
}
}Responses
/api/v1/find-runs/{runId}Parameters
Responses
/api/v1/lists/{listId}/enrichParameters
Request body
application/json
objectfieldsrequiredlimitrequiredskip_filledrequiredExample
{
"fields": ["email", "owner"],
"limit": 200,
"skip_filled": true
}Responses
/api/v1/lists/{listId}/find-runsParameters
Request body
application/json
objectExactly one of plan, playbook_id, or playbook_ids.
playbook_idrequiredslotsrequiredtitlerequiredhqLocationsrequiredExample
{
"playbook_id": "hiring-vp-sales",
"slots": {
"title": "VP Sales",
"hqLocations": ["United States"]
}
}Responses
Campaigns
Playbooks, sequence authoring, audience binding, launch, pause, and analytics.
Scopes: campaigns:read · campaigns:write
/api/v1/campaignsResponses
/api/v1/campaigns/{campaignId}Parameters
Responses
/api/v1/campaigns/{campaignId}/launchParameters
Optional. 1–256 chars [A-Za-z0-9._-]. Successful responses cached 24h per key.
Request body
application/json
objectEmpty body is valid. Send Idempotency-Key on mutating calls.
object
Example
{}Responses
/api/v1/campaigns/{campaignId}/pauseParameters
Optional. 1–256 chars [A-Za-z0-9._-]. Successful responses cached 24h per key.
Request body
application/json
objectobject
Example
{}Responses
Enrollments
Enroll list rows, list enrollments, pause, resume, or remove.
Scopes: campaigns:enroll · campaigns:read
/api/v1/campaigns/{campaignId}/enrollmentsParameters
Responses
/api/v1/campaigns/{campaignId}/enrollmentsParameters
Optional. 1–256 chars [A-Za-z0-9._-]. Successful responses cached 24h per key.
Request body
application/json
objectlist_row_idsrequiredExample
{
"list_row_ids": [
"33333333-3333-3333-3333-333333333333"
]
}Responses
/api/v1/enrollments/{enrollmentId}Parameters
Responses
/api/v1/enrollments/{enrollmentId}/pauseParameters
Request body
application/json
objectobject
Example
{}Responses
/api/v1/enrollments/{enrollmentId}/removeParameters
Request body
application/json
objectobject
Example
{}Responses
/api/v1/enrollments/{enrollmentId}/resumeParameters
Request body
application/json
objectobject
Example
{}Responses
Content
Schedule posts, inspiration, watch lists, library, and post metrics.
Scopes: content:read · content:write
/api/v1/content/postsResponses
/api/v1/content/postsRequest body
application/json
objectaccount_idrequiredchannelrequiredbodyrequiredscheduled_atrequiredExample
{
"account_id": "44444444-4444-4444-4444-444444444444",
"channel": "linkedin",
"body": "Three things we learned shipping outbound at scale…",
"scheduled_at": "2026-08-27T14:00:00-07:00"
}Responses
/api/v1/content/posts/{postId}Parameters
Responses
/api/v1/content/posts/{postId}/cancelParameters
Request body
application/json
objectobject
Example
{}Responses
Inbox
Read and reply on Unibox threads (email, LinkedIn, SMS, X).
Scopes: inbox:read · inbox:write
/api/v1/inbox/threadsResponses
Accounts
Connect email, LinkedIn, and X via Armada-branded browser hop.
Scopes: accounts:read · accounts:write
/api/v1/accountsParameters
Responses
/api/v1/accounts/connectRequest body
application/json
objectchannelrequiredproviderrequiredExample
{
"channel": "email",
"provider": "google"
}Responses
/api/v1/accounts/connect/{connectId}Parameters
Responses
Inventory
Browse catalog and purchase LinkedIn seats or email infra.
Scopes: inventory:read · inventory:write
/api/v1/inventory/catalogParameters
Responses
/api/v1/inventory/ordersResponses
/api/v1/inventory/ordersRequest body
application/json
objectkindrequiredquantityrequiredtermrequiredregionrequiredaccount_typerequiredbrandingrequiredagreements_acceptedrequiredagreement_idsrequiredagreement_versionsrequiredExample
{
"kind": "linkedin",
"quantity": 2,
"term": "quarterly",
"region": "western",
"account_type": "standard",
"branding": "armada_sdr",
"agreements_accepted": true,
"agreement_ids": ["linkedin-rental"],
"agreement_versions": ["2026-01"]
}Responses
/api/v1/inventory/orders/{orderId}Parameters
Responses
Webhooks
Subscribe to Find, enrollment, inbox, and content events (HMAC-signed).
Scopes: webhooks:manage
/api/v1/webhooksResponses
/api/v1/webhooksRequest body
application/json
objecturlrequiredeventsrequireddescriptionrequiredExample
{
"url": "https://your-app.com/webhooks/armada",
"events": ["enrollment.replied", "find_run.completed"],
"description": "Prod CRM sync"
}Responses
/api/v1/webhooks/{webhookId}Parameters
Responses