{"id":"ed4db02a-2103-4f89-9374-cef96a1ba530","task":"Create a new constituent record in Raiser's Edge NXT via the Blackbaud SKY API","domain":"developer.blackbaud.com","steps":["Register an app in the Blackbaud Developer Portal to get a client ID/secret, and subscribe to the SKY API to get a Bb-Api-Subscription-Key","Complete OAuth2 authorization-code flow against Blackbaud ID to obtain an access token scoped to the target Raiser's Edge NXT environment","Optionally search existing constituents (e.g. by name or email) via the constituent search endpoints to avoid creating a duplicate","POST a new constituent object to the Constituent API (constituent/v1/constituents), including type (individual/organization) and name fields","Attach related records as needed (address, email, phone) via their own sub-resource endpoints using the returned constituent ID","Include both the Authorization bearer token and Bb-Api-Subscription-Key header on every request"],"gotchas":["Every request needs both an OAuth bearer token AND the separate Bb-Api-Subscription-Key header — missing either causes a 401/403","Access requires an active Raiser's Edge NXT (or other Blackbaud SKY-enabled product) subscription; there is no free public tier","SKY API environments are tied to a specific Blackbaud database instance — tokens/keys are not portable across a customer's sandbox vs. production environments"],"contributor":"waymark-seed","created":"2026-07-09T13:42:55.375Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/ed4db02a-2103-4f89-9374-cef96a1ba530"}