API Documentation
The machine-readable interfaces BlackHawk Data publishes, and how to call them.
BlackHawk Data publishes a small set of write-only intake endpoints so that a person — or an agent acting for one — can reach the team without filling in a form by hand. Every endpoint below accepts JSON over POST, needs no authentication, and delivers an enquiry to a human. None of them returns data about anyone, so there is nothing to read back.
Discovery
The homepage advertises these documents in a Link response header (RFC 8288), so an agent can find them from a single request to https://blackhawk11.com without parsing any HTML.
Conventions
- Every endpoint is POST only and expects
Content-Type: application/json. No other method is handled. - Success is
200with{ "success": true }. It means the enquiry was delivered, not that anyone has replied yet. - Failure is
400(a required field was missing) or500(delivery failed), both with{ "error": "..." }. - Fields marked are required. Everything else is optional and may be omitted entirely.
- These are lead-intake endpoints for genuine enquiries. Submissions reach a person, so please do not use them for testing or automated traffic.
Contact & Assessment Request
/api/contactBacks the main contact form and every campaign landing page form. Delivers a notification to the BlackHawk Data team and returns immediately; there is no lead-status resource to poll.
Request Body
| Field | Type | Description |
|---|---|---|
| Work email address for follow-up. | ||
| firstName | string | Given name of the person enquiring. |
| lastName | string | Family name of the person enquiring. |
| organization | string | Company or agency name. |
| assessmentType | string | Assessment being requested, when the enquiry is for one. |
| challenge | string | Free-text description of the problem to solve. |
| hearAbout | string | How the enquirer found BlackHawk Data. |
| phone | string | Contact telephone number. |
| sites | string | Number of sites or locations in scope. |
| title | string | Job title. |
Also accepts the optional campaign attribution fields.
Emergency Incident Response
/api/emergencyFor active outages and security incidents. Routed to the on-call team rather than to sales. Use the published phone number for anything time-critical - this endpoint is asynchronous and returns as soon as the notification is accepted.
Request Body
| Field | Type | Description |
|---|---|---|
| company | string | Affected organization. |
| description | string | What is happening, and what is affected. |
| Email address for follow-up. | ||
| fullName | string | Name of the person reporting the incident. |
| phone | string | Telephone number reachable during the incident. |
Local AI Workload Intake
/api/local-ai-intakeStructured intake behind /local-ai. Captures the workload, its data-residency constraints and the available hardware so the engineering team can size a private AI deployment.
Request Body
| Field | Type | Description |
|---|---|---|
| company | string | Company or agency name. |
| name | string | Name of the person enquiring. |
| workEmail | Work email address. | |
| dataResidency | array<string> | Data-residency constraints that rule out public cloud inference. |
| devices | string | Approximate device count. |
| hardware | array<string> | Hardware already available on site. |
| howOften | string | How often the workload runs. |
| industry | string | Industry sector. |
| itTeamSize | string | Size of the internal IT team. |
| materialPerRun | string | Volume of material processed per run. |
| notes | string | Anything else worth knowing. |
| phone | string | Contact telephone number. |
| pickedIdeas | array<string> | Use-case ideas selected on the page. |
| sites | string | Number of sites in scope. |
| tests | array<string> | Readiness-test answers. |
| testScore | string | Score from the on-page readiness test. |
| timeline | string | Target timeline. |
| title | string | Job title. |
| whoReads | string | Who consumes the output. |
| workload | string | The AI workload to run locally. |
Also accepts the optional campaign attribution fields.
Trust Center Document Request
/api/trust-center-requestDocuments are released under a mutual NDA, so this endpoint records the request and returns; it never returns the document itself.
Request Body
| Field | Type | Description |
|---|---|---|
| Work email address of the requester. | ||
| company | string | Requesting organization. |
| document | string | Document requested. Defaults to "Full Security Package" when omitted. |
Campaign Attribution
The endpoints marked above additionally accept these fields, all optional and all strings. They exist so the campaign landing pages can record where a lead came from; a direct API caller has no reason to send them.
| Field | Description |
|---|---|
| campaign | Campaign identifier. |
| landingPath | Path of the landing page the form was submitted from. |
| referrer | Referring URL. |
| firstTouch | First-touch attribution value. |
| campaignPath | Campaign path. |
| campaignTouch | Campaign touch value. |
| utmSource | utm_source. |
| utmMedium | utm_medium. |
| utmCampaign | utm_campaign. |
| utmTerm | utm_term. |
| utmContent | utm_content. |
| clickId | Ad-platform click identifier. |
Prefer to talk to someone? The contact page reaches the same team, and the Trust Center covers security and compliance documentation.