Platform API
Save organization W-9
Save profile settings.
https://app.mindbill.org/partner/v2/organizations/{id}/w9Save profile settings. Provider/location writes upsert by id, then externalId; existing records are not deleted. W-9 replaces the current PDF. Stored SSNs are masked on reads; omit taxId to preserve it. Do not send response-only taxIdConfigured or taxIdLast4.
Use this URL with a server API key or a browser session and its exact allowed Origin. Both credentials use the same request and response contract. See the component API inventory for exact paths and SDK methods.
Path parameters
idRequiredstringResource identifier.
Request body
filenameRequiredstringfilename
contentBase64RequiredstringBase64 PDF. Decoded maximum 10 MiB; PDF magic bytes are validated.
taxYearintegertaxYear
Examples
curl 'https://app.mindbill.org/partner/v2/organizations/{id}/w9' \
--request PUT \
--header "Authorization: Bearer $MINDBILL_API_KEY" \
--header 'Content-Type: application/json' \
--data @request.json \
--header 'Idempotency-Key: example-write-0001'curl 'https://app.mindbill.org/partner/v2/organizations/{id}/w9' \
--request PUT \
--header "Authorization: Bearer $MINDBILL_BROWSER_TOKEN" \
--header 'Origin: https://your-app.example' \
--header 'Content-Type: application/json' \
--data @request.json \
--header 'Idempotency-Key: example-write-0001'Response
200
Response fields are documented below.dataRequiredobjectdata
data.organizationIdRequiredstringorganizationId
data.practiceIdentityobjectPractice identity; stored SSNs are masked with taxIdConfigured and taxIdLast4.
data.billingProvidersRequiredobject[]billingProviders
data.renderingProvidersRequiredobject[]renderingProviders
data.locationsRequiredobject[]locations
data.w9Requiredobject | nullw9
data.onboardingRequiredobjectonboarding