Create an account
Required permissions: accounts:write.
An account is a name, an optional URL and an optional LinkedIn handle. That is the whole record — see AccountDto for what reads back. name is the only required field: an account you have no website for is created with url: null rather than refused, the same way POST /v1/people treats a company with no domain. Send url whenever you have it — it is this route's deduplication key. Supply linkedinHandle whenever you know the company page: use the bare handle (for example stripe), not the full LinkedIn URL. It is the strongest way to identify the company and takes precedence over the website and name.
You can start discovery immediately after creating an account. These outcomes apply to every signal type, including news. While a run is active, keep polling the same run. account_not_ready means Trayo could not search the account this time. After the run settles, retry the affected account IDs. company_not_found means Trayo could not identify the company from the supplied details. For company_not_found, check the named accounts before starting another discovery. If an identity is wrong, send the correct linkedinHandle with trayo_update_account over MCP, or with PATCH /v1/accounts/{id} and a workspace API key over REST. When no handle is known, send a corrected website url instead. Both need accounts:write. trayo_update_account also reports whether Trayo can now identify the company. Importing the same hostname again skips the existing account and does not update it. After the current run settles, start a new discovery for the corrected account IDs.
Public REST and MCP usage is recorded without daily usage caps, workspace quota cutoffs or lookup quotas for now. Workspace request pacing still applies. This call adds the account only, never people. Finding people and adding them are separate steps: search with POST /v1/find as many times as you need, then add the people you chose with POST /v1/people/batch.
To attach people to future events, first set the workspace stakeholder definition with PATCH /v1/workspace, then start discovery with people: "add". This definition does not add people to older events.
A POST /v1/find company row is NOT postable verbatim. Its id, website, linkedinUrl, industry, headcount, hq, fundingStage, foundedYear, companyType, description, why, known, state fields are all refused with validation_failed, and the message names the offending keys. They are refused rather than accepted-and-dropped on purpose: these company details cannot be saved through this route. Select the accepted fields first: jq '.data[] | select(.state == "selectable" and .url) | {name, url}'.
Request
- Base URL: https://api.trayo.ai
- URL: https://api.trayo.ai/v1/accounts
- Auth: HTTP bearer
Request body
Response
Account created.
Changes
No recorded changes to this operation across all 1 revision of this API.