Skip to content

Docs

Integrate Nosie

Nosie runs brief, evidence-based micro-interviews with your customers — by phone call, SMS/chat, or email — and returns structured results: a transcript, a summary, attributes mapped to your schema, and quality signals.

There are two ways to use it: manually from the dashboard (no code), or programmatically through the REST API and webhooks so interviews start automatically when, say, a customer finishes signup. Most teams start manually and automate later — both paths share the same projects, contacts, and results.

Last updated: 6 July 2026

Using the dashboard (no code)

The full workflow takes about ten minutes end to end:

  1. Create a project. From the dashboard, choose New project and answer a short chat about what you want to learn. Nosie drafts a structured interview brief — objective, audience, key topics, and the exact attributes to extract — which you review and approve before anything goes live.
  2. Add contacts. One at a time, or by CSV import with the headers name, phone, email, modes, timezone, country (any other column becomes a custom field). Every add requires a consent attestation — see below.
  3. Launch. Nosie reaches each contact in their allowed modes within local calling hours, asks follow-ups when something matters, and respects opt-outs immediately and permanently.
  4. Read results. Each completed interview appears under the project's Results tab with its summary, attributes, and quality signals — exportable as CSV or JSON.

API quickstart

The API lives at https://nosie.app/api/v1. Authenticate every request with Authorization: Bearer <api key>. Create a key under Developers in the dashboard — it is shown once and prefixed nk_live_. Rate limit: 60 requests/minute per key.

1. Create a project with an interview brief:

POST /v1/projects
curl -X POST https://nosie.app/api/v1/projects \
  -H "Authorization: Bearer nk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "New-customer onboarding research",
    "brief": {
      "objective": "Understand why new customers signed up and where they stall in week one",
      "audience_description": "Admins who created an account in the last 14 days",
      "key_topics": ["previous tool", "reason for switching", "first-week friction"],
      "success_criteria": "Three specific friction points per customer",
      "identity_label": "the Acme Scheduling team",
      "allowed_modes": ["call", "email"],
      "timebox_seconds": 180,
      "output_schema": {
        "previous_tool": { "type": "string", "description": "What they used before" },
        "switch_trigger": { "type": "string", "description": "The moment that made them switch" },
        "team_size": { "type": "number", "description": "People who will use the product" }
      }
    }
  }'

2. Add contacts — the consent attestation is mandatory:

POST /v1/projects/{id}/contacts
curl -X POST https://nosie.app/api/v1/projects/PROJECT_ID/contacts \
  -H "Authorization: Bearer nk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "contacts": [
      {
        "name": "Rewi Morgan",
        "phone": "+64211234567",
        "email": "rewi@example.co.nz",
        "allowed_modes": ["call", "email"],
        "timezone": "Pacific/Auckland",
        "country": "NZ"
      }
    ],
    "consent": {
      "attested": true,
      "basis": "Ticked the research callback opt-in on our signup form",
      "method": "signup_form"
    }
  }'

3. Launch outreach:

POST /v1/projects/{id}/launch
curl -X POST https://nosie.app/api/v1/projects/PROJECT_ID/launch \
  -H "Authorization: Bearer nk_live_..."

4. Receive results on a webhook (see Webhooks) or poll GET /v1/contacts/{id}/result. The full endpoint list is in the API reference.

Getting results out

Every completed interview produces the same structured record:

  • Transcript & summary — a speaker-labelled record plus a short bullet summary.
  • Attributes — answers mapped to the exact keys in your output_schema; unknowns are omitted, never guessed.
  • Quality signals — engagement, coverage, duration, and outcome, so you know which results to trust.

Delivery options: webhooks (push, signed, at-least-once), REST API (pull), or CSV/JSON export from the dashboard.

For AI agents

If you are an AI agent integrating Nosie for a user, you need three URLs: https://nosie.app/api/v1/openapi.json (OpenAPI 3.1 spec), https://nosie.app/llms-full.txt (these docs as plain markdown), and the dashboard's Developers page where your user must create the API key — keys are shown once and cannot be retrieved later. Remember: contact creation always requires the consent attestation, and a real human must be able to stand behind its basis.

FAQ

Do I need to write code to use Nosie?
No. The dashboard covers the whole workflow: describe your project in a two-minute chat, add contacts by hand or CSV, launch, and read results. The REST API and webhooks exist for teams that want interviews triggered automatically from their own product.
Can an AI agent integrate Nosie on my behalf?
Yes. The API is a small, conventional REST surface (7 endpoints, bearer-key auth, JSON bodies) with a machine-readable OpenAPI 3.1 spec at /api/v1/openapi.json and full docs mirrored in /llms-full.txt. Point your agent at either file.
Why does the API reject my contacts with a 422?
Every contact-create request must include a consent attestation — attested: true, a basis of at least 10 characters describing how consent was collected, and a method. Requests without one are rejected with HTTP 422. This is by design and cannot be disabled.
How do I get interview results into my system?
Two ways: subscribe a webhook to the contact.completed event and receive the transcript summary, extracted attributes, and quality signals the moment an interview finishes, or poll GET /v1/contacts/{id}/result. CSV and JSON export are also available from the dashboard.
What does an interview cost?
Nosie is NZ$20/month including 10 completed interviews, then NZ$2 per additional completed interview. Voicemails, no-answers, failed attempts, and declines are never billed.

Machine-readable versions: OpenAPI spec · llms.txt · llms-full.txt. Questions? hello@nosie.app