@bijection/connectors/wave entrypoint to declare Wave resources.
Availability
This page describes the pinned source package. Published availability is unestablished for this artifact. Source build and package availability.Resources and modes
Declare a resource in application code, then bind deployment-specific settings and credentials. See typed resources, connections and source inspection.
Invoices
pull: Captured GraphQL pages by modifiedAtAfter, Money text, signed webhook hints, read-only
The following example matches configurationstandard.
Inferred record types
Inferred record types
Configuration: standard
Case:wave/invoices/pull/standard.
Connection and resource configuration are declared by this exact case.
Credential kind: wave. Keep credential material in the private credential inventory.
Complete configuration contract
Complete configuration contract
Complete native profile
Complete native profile
Commands, occurrences and artifacts
Commands, occurrences and artifacts
Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.
Configuration: polled
Case:wave/invoices/pull/polled.
Connection and resource configuration are declared by this exact case.
Credential kind: wave. Keep credential material in the private credential inventory.
Complete configuration contract
Complete configuration contract
Complete native profile
Complete native profile
Commands, occurrences and artifacts
Commands, occurrences and artifacts
Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.
Customers
pull: Captured GraphQL pages by modifiedAtAfter, archived as state, read-only
The following example matches configurationstandard.
Inferred record types
Inferred record types
Configuration: standard
Case:wave/customers/pull/standard.
Connection and resource configuration are declared by this exact case.
Credential kind: wave. Keep credential material in the private credential inventory.
Complete configuration contract
Complete configuration contract
Complete native profile
Complete native profile
Commands, occurrences and artifacts
Commands, occurrences and artifacts
Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.
Provider guidance
Compiled declaration examples and configuration details are published in the connector reference. Bind setup{ businessId } (Wave’s base64 global business id, as businesses
answers it) and a wave credential (wave.credential("WAVE")): an OAuth
access token or a Full Access token for https://gql.waveapps.com. OAuth
reaches only businesses with an active Pro or Wave Advisor subscription, and a
third-party integration needs Wave’s approval. Identity is the id
business(id:) answers with.
What is read
Every request is a captured GraphQL query againstPOST /graphql/public; see Captured contract.
invoices: header fields and totals (subtotal,discountTotal,taxTotal,total,amountPaid,amountDue), no line items. Amounts are Wave’s ownMoney.valuetext, refused unless it is plain decimal text, and every amount must name the invoice’s currency.exchangeRateis Wave’sDecimaltext.customers: names, email,displayId,isArchived(a state) and currency. Outstanding and overdue balances are not read: nothing says they movemodifiedAt.
page number (pageSize 1..100, default 45, Wave’s own
default; its maximum is undocumented), sorted MODIFIED_AT_ASC. The first pass
walks everything; each finished pass carries the latest modifiedAt, and the
next asks modifiedAtAfter five minutes (overlapSeconds) before it. The last
page is the one pageInfo.totalPages names, or a short page where Wave states
no count. Offset pages over a live ordering can pass over a record that moves
during the pass, so every 96th pass (fullEvery) walks everything again.
Versions are modifiedAt. Nothing is ever deleted: Wave’s invoice statuses
name no void or deleted state, and a deleted invoice or customer disappears
with no tombstone. A record deleted in Wave stays published.
Webhooks
updates: "webhooks" admits Wave’s invoice webhooks as refresh hints:
x-wave-signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">,
five-minute tolerance, deduplicated by event_id. An event names the invoice
by Wave’s raw UUID rather than the API’s base64 global id and carries only
that event’s fields, so it asks for a pass and names no record. Wave sends no
customer events.
Limits and writes
Wave documents no request rate; the schema’s own@rateLimit directive
defaults to 60 per minute, held as a client-side budget. Partial GraphQL
answers (errors beside data) are refused before this code sees them.
Wave’s mutations carry no idempotency key and no precondition, so nothing is
written.
Captured contract
schema.graphql is a reviewed field projection of a third-party introspection
dump of Wave’s public schema (its header keeps the dump’s SHA-256 and retrieval
date). Selected output fields keep every argument and input type, with one
declared deviation: CurrencyCode (more ISO 4217 values than the
bijection-graphql-v1 profile’s 32 enum alternatives) is captured as a scalar
whose wire mapping is three upper-case letters. operations.graphql holds the
three queries; operations.generated.ts and contract.generated.json are
compiler output.
Regenerating
Feed this JSON on stdin to thebijection-graphql compiler
(tools/codegen/http/src/graphql/bin.mjs, Node 24.13.0), with files
holding the contents of schema.graphql and operations.graphql:
artifact plus a newline to contract.generated.json, and to
operations.generated.ts the first line of the current file, the two imports
(createGraphQLOperation from ../../graphql.js, v from bijection/values)
and source, exactly as dev/graphql-codegen.mjs does for GitHub.
Nothing here has run against Wave. Package fixtures establish declaration
behavior only; the Money spelling, page-size bound, modifiedAtAfter
inclusivity and webhook bodies are taken from Wave’s documentation and schema.
Provider references
Provider references and prerequisites are maintained in the connector guidance above. No separate provider-documentation review date is recorded.Source and evidence
Canonical connector source, native analysis and check receipts. Connector artifact:905888ea276a2a28e36981a79e8142b2547ea451c3e63162cb6915ad4a7d1305.
The resource declaration examples above are compiled and compared with exact catalog declarations. Recorded checks apply only to their source, declaration and runtime identities. Configure a connection and inspect its status to establish deployment-specific readiness.