Connect FullView's business intelligence, signals, and actions to the systems your business already uses. One workspace, one authenticated surface, one place to compose growth automation.
FullView isn't a collection of disconnected features. The API is the seam that lets your systems flow into the platform, and the platform flow back out.
Illustrative architecture
01Your systemsThe data and events already flowing through your stack.
02FullView APIA single, workspace-scoped surface.
03FullView platformWhere signals, intelligence, and actions live.
The FullView API is a single HTTPS surface that lets your systems read from and write to the same intelligence layer that powers every module of the FullView platform. Every request lives inside a workspace, and every workspace acts as an isolated tenant with its own key, its own data, and its own signals.
This reference is organised the way a working integration is built: first authenticate, then send or read data, then plug into the intelligence and automation surfaces. The right-hand column shows the request and response for the current section — keep it in view as you read.
This reference is a preview. The production API is still being built. Every endpoint, event, and payload on this page is a design placeholder — the shipped reference will be generated directly from the FullView OpenAPI contract.
Five conceptual steps to go from an empty workspace to code running against FullView. Every step below maps to a real section of this reference and, later, to a real page in the production docs.
01Authenticate
Attach a workspace API key on every request. Keys are scoped to a single workspace and support restricted read/write scopes.
02Send or retrieve data
Create businesses, contacts, and activities — or read FullView's canonical view of them back out.
03Add business context
Enrich the objects you send with the industry, size, region, and lifecycle data that make FullView useful.
04Use intelligence
Read signals, opportunities, and briefings — the same intelligence products that power the FullView app.
05Trigger actions
Fire outreach, chat replies, and internal tasks; or subscribe to webhooks and let FullView call you.
Every request carries a workspace-scoped API key on the Authorization header. Keys are opaque strings prefixed with fv_live_ in production and fv_test_ in the sandbox. Every example on this page uses fv_example_ — a prefix reserved for documentation samples and never issued to a real workspace.
Illustrative. The mechanism, key format, and scoping model shown here are architectural. Final key formats, rotation SLAs, and scope names will be documented against the shipped API contract.
Attach the key as a Bearer token on the Authorization header. Missing, malformed, or revoked keys return 401 Unauthorized.
EXAMPLE REQUEST \u00b7 CURL
# Do not commit real keys. Load them from a secret manager or env var.
curl https://api.fullview.cloud/v1/businesses \
-H"Authorization: Bearer YOUR_API_KEY"
The API uses standard HTTP status codes and a stable envelope for every error. The body always contains an error object with a machine-readable code, a human-readable message, and a request_id you can share with support.
200OK
The request succeeded. Body varies by endpoint.
201Created
Resource created. Response body contains the newly-created object.
400Bad Request
Request was malformed. See `error.message` for the specific reason.
401Unauthorized
API key missing, invalid, or revoked. Check the `Authorization` header.
403Forbidden
The API key is valid but does not have access to this resource.
404Not Found
The referenced object does not exist in this workspace.
422Unprocessable
Body validated but semantically rejected. See `error.details` for field-level errors.
429Rate Limited
Rate-limit reached. Illustrative — real limits will be documented once finalized.
500Server Error
Something went wrong on our side. Safe to retry with backoff.
503Unavailable
The API is temporarily offline. Check status.fullview.cloud (illustrative).
Every failing response returns the same shape. Log the request_id when raising a support ticket.
422 \u00b7 UNPROCESSABLE
{"error":{"type":"invalid_request","code":"missing_field","message":"The request body is missing the required field 'title'.","field":"title","request_id":"req_ill_01hkr08nx4"}}
Rate limits are enforced per workspace, per key. When exceeded, FullView returns 429 Rate Limited with a Retry-After header.
Numeric limits will be documented here. Placeholder gauges below reflect the UI treatment; concrete limits will be published alongside the shipped API.
The API is versioned in the URL path. Every request pins itself to a version, so a change to the shipped API never silently affects an existing integration.
Proposed version architecture. Cadence and support windows will be defined against the shipped API.
GET/v1/…
CurrentThe version documented on this page.
GET/v0/…
Deprecated · illustrativeKept for the closed-alpha cohort. No new integrations should target it.
GET/v2/…
PlannedIntroduced when a backwards-incompatible change is required.
Every endpoint below carries the same anatomy: header, description, parameter table, and language-tabbed request/response. This is the reusable pattern the production docs will consume from OpenAPI.
{"id":"biz_ill_01hkq7xr9c","name":"Harborcrest Law","domain":"harborcrestlaw.com","industry":"legal-services","hq":{"city":"Chicago","region":"IL","country":"US"},"size":"51-200","status":"active","signals":[{"id":"sig_ill_01hkr02aq7","type":"website.visitor_intent","score":0.82,"detected_at":"2026-09-11T14:04:12Z"},{"id":"sig_ill_01hkr03z11","type":"search.ranking_change","score":0.47,"detected_at":"2026-09-10T08:15:03Z"}],"opportunities":[{"id":"opp_ill_01hkr0512c","title":"Reach out to two returning prospects from Chicago","priority":2,"status":"open"}],"created_at":"2026-01-14T10:22:04Z"}
{"data":[{"id":"opp_ill_01hkr0512c","business_id":"biz_ill_01hkq7xr9c","source":"analyzer","title":"Reach out to two returning prospects from Chicago","priority":2,"status":"open","assignee_id":"usr_ill_kate","created_at":"2026-09-11T14:20:03Z"},{"id":"opp_ill_01hkr06m8g","business_id":"biz_ill_01hkq82nb1","source":"search","title":"Publish 'CNC lead times' page — climbing keyword","priority":3,"status":"open","assignee_id":null,"created_at":"2026-09-11T09:02:11Z"}],"next_cursor":null}
Create a new opportunity in the workspace, optionally attached to a business.
Body parameters
5 parameters
business_idstringbodyoptional
Business the opportunity is attached to.
sourceenumbodyrequired
Origin of the opportunity.
One ofanalyzersearchmanualrevenue
titlestringbodyrequired
Human-readable summary. 3–140 characters.
priorityintegerbodyoptional
Value 1–5, lower is higher priority. Defaults to 3.
assignee_idstringbodyoptional
User the opportunity is routed to.
REQUEST · CURL
curl-X POST https://api.fullview.cloud/v1/opportunities \
-H"Authorization: Bearer YOUR_API_KEY" \
-H"Content-Type: application/json" \
-d'{
"business_id": "biz_ill_01hkq7xr9c",
"source": "manual",
"title": "Follow up on Q3 renewal conversation",
"priority": 2
}'
200 · RESPONSE
{"id":"opp_ill_01hkr0zc4d","business_id":"biz_ill_01hkq7xr9c","source":"manual","title":"Follow up on Q3 renewal conversation","priority":2,"status":"open","assignee_id":null,"created_at":"2026-09-12T09:11:47Z"}
{"data":[{"id":"sig_ill_01hkr02aq7","type":"website.visitor_intent","business_id":"biz_ill_01hkq7xr9c","score":0.82,"context":{"pages_viewed":6,"returning":true,"landing_page":"/pricing"},"detected_at":"2026-09-11T14:04:12Z"},{"id":"sig_ill_01hkr03z11","type":"search.ranking_change","business_id":"biz_ill_01hkq82nb1","score":0.47,"context":{"keyword":"cnc lead time","from_rank":14,"to_rank":7},"detected_at":"2026-09-10T08:15:03Z"}],"next_cursor":null}
Signals are the events FullView is continuously deriving from the systems you connect. Every module writes into the same stream, so the API surface is the same regardless of where the event was born.
Event names are illustrative — the shipped taxonomy will be authoritative.
SIGNAL STREAM · LIVE
STREAMING
website.visitor_intent
A known company returns to your site with high intent.
Website
just now
website.form_submitted
A form was submitted from a monitored page.
Website
6s ago
search.ranking_change
A tracked keyword moved rank by ≥ 3 positions.
Search
10s ago
search.query_surge
A tracked keyword saw a sudden search-volume increase.
Search
14s ago
sales.prospect_engaged
A prospect took an action inside a live outreach sequence.
Sales
18s ago
sales.deal_stalled
An in-progress deal has gone quiet past the expected cadence.
# Read new signals since your last cursor
curl "https://api.fullview.cloud/v1/signals?type=website.visitor_intent&min_score=0.6" \
-H"Authorization: Bearer YOUR_API_KEY"
Instead of polling, subscribe a URL to one or more event types. FullView will POST a JSON envelope to your endpoint every time a matching event is written to the workspace. Delivery is at-least-once — dedupe on id.
Event taxonomy is illustrative until the production spec ships.
Every delivery uses the same envelope, so a single handler can route by type and unpack data according to the matching object schema.
DELIVERY \u00b7 JSON
{"id":"evt_ill_01hkr09kt2","type":"opportunity.created","created_at":"2026-09-12T09:11:47Z","data":{"id":"opp_ill_01hkr0zc4d","business_id":"biz_ill_01hkq7xr9c","source":"manual","title":"Follow up on Q3 renewal conversation","priority":2,"status":"open"},"livemode":true,"workspace_id":"ws_ill_acme"}
Assemble a request without leaving the page. Every field feeds the assembled URL below, so you can see how the request is put together before you copy it into your own environment.
The playground uses a local mock — no request is sent.
GETMethod is fixed by the selected endpoint.
status=
limit=
BearerYOUR_API_KEYIllustrative — no real key attached.
Every module reads and writes the same objects the API exposes. Access it from an integration, an agent, or the FullView app itself — the intelligence layer underneath is the same.
The FullView API is being built alongside the platform. Start a workspace to try what's live today — or talk to us if you have a specific integration in mind.