# Change Documentation Change is a charitable giving API that enables businesses to integrate donations into their apps, websites, and stores. The platform manages the entire donation lifecycle from creation to final deposit through Our Change Foundation. ## Getting Started - [Getting started](https://docs.getchange.io/getting-started/): Learn how to use the Change API to make donations. - [Authentication](https://docs.getchange.io/api/authentication/): Authenticate using public and secret keys with HTTP Basic Auth. - [API Reference](https://docs.getchange.io/api/): Complete API documentation for all endpoints. ## Recipes Step-by-step guides for integrating Change into your platform. - [Donations tutorial](https://docs.getchange.io/recipes/donations-tutorial/): Complete tutorial showing how to create and retrieve donations using the Donations API. - [Basic Stripe integration](https://docs.getchange.io/recipes/basic-stripe-integration/): Add donations to your Stripe checkout flow using webhooks. - [Stripe Connect](https://docs.getchange.io/recipes/stripe-connect/): Use Stripe Connect to send donations directly to Change. - [Shopify](https://docs.getchange.io/recipes/shopify-plus/): Add donations to your Shopify or Shopify Plus store. - [WooCommerce](https://docs.getchange.io/recipes/woocommerce-with-nonprofit-choice/): Reward customers with a donation to a nonprofit of their choice in WordPress/WooCommerce. ## Core API Resources ### Donations Create and manage charitable donations through your platform. - [Create a donation](https://docs.getchange.io/api/#Donations-Create-a-donation): Create a new donation to a nonprofit. - [List your donations](https://docs.getchange.io/api/#Donations-List-your-donations): Retrieve all donations with filtering by external_id, nonprofit_id, and timestamps. - [Retrieve a donation](https://docs.getchange.io/api/#Donations-Retrieve-a-donation): Get details about a specific donation. ### Nonprofits Access and search the Change nonprofit network. - [Show a nonprofit](https://docs.getchange.io/api/#Nonprofits-Show-a-nonprofit): Retrieve details about a specific nonprofit. - [Search a nonprofit](https://docs.getchange.io/api/#Nonprofits-Search-a-nonprofit): Search for nonprofits in the Change network. - [Get social media content](https://docs.getchange.io/api/#Nonprofits-Get-social-media-content): Generate ready-to-share social media content for donations. ### Nonprofit Requests Request new nonprofits to be added to the Change network. - [Request a nonprofit](https://docs.getchange.io/api/#Nonprofit-Requests-Request-a-nonprofit): Submit a request to add a new nonprofit. - [List your nonprofit requests](https://docs.getchange.io/api/#Nonprofit-Requests-List-your-nonprofit-requests): View all nonprofit requests you've submitted. - [Show a nonprofit request](https://docs.getchange.io/api/#Nonprofit-Requests-Show-a-nonprofit-request): Get details about a specific nonprofit request. ### Campaigns Manage professional fundraising campaigns. - [Create a campaign](https://docs.getchange.io/api/#Campaigns-Create-a-campaign): Create a new fundraising campaign for a nonprofit. - [Retrieve a campaign](https://docs.getchange.io/api/#Campaigns-Retrieve-a-campaign): Get details about a specific campaign. - [Update a campaign](https://docs.getchange.io/api/#Campaigns-Update-a-campaign): Modify campaign details including name, dates, and metadata. - [Create a campaign donation](https://docs.getchange.io/api/#Campaigns-Create-a-campaign-donation): Add a donation to an existing campaign. ### Transfers Manage payment transfers for donations. - [Capture a Stripe Transfer](https://docs.getchange.io/api/#Transfers-Capture-a-Stripe-Transfer): Capture Stripe transfers for donation payments. ### Reports Generate impact reports for your donations. - [Fetch impact report](https://docs.getchange.io/api/#Reports-Fetch-impact-report): Retrieve an impact report showing donation data within a specified time range. ### Prebuilt Pages Create hosted donation pages without custom development. - [Create a checkout link](https://docs.getchange.io/api/#Prebuilt-Pages-Create-a-checkout-link): Generate a hosted checkout link for accepting donations. ### Nonprofit Filing Data Manage nonprofit tax filing information. - [Create or update nonprofit filing data](https://docs.getchange.io/api/#Nonprofit-Filing-Data-Create-or-update-nonprofit-filing-data): Add or update nonprofit filing information. - [Retrieve nonprofit filing data](https://docs.getchange.io/api/#Nonprofit-Filing-Data-Retrieve-nonprofit-filing-data): Get filing data for a nonprofit. ### Documents Handle document management for nonprofits. - [Create a document](https://docs.getchange.io/api/#Documents-Create-a-document): Upload a document for a nonprofit. - [Retrieve a document](https://docs.getchange.io/api/#Documents-Retrieve-a-document): Get details about a specific document. ## Key Concepts ### Authentication The Change API uses HTTP Basic Auth with public and secret keys. You receive four keys: two test keys (prefixed with `pk_test_` and `sk_test_`) and two production keys (prefixed with `pk_live_` and `sk_live_`). ### Donation Lifecycle All donations are routed through Our Change Foundation to ensure secure and expedient payouts to nonprofits. Change manages the complete lifecycle from creation to final deposit. ### External ID and Metadata - `external_id`: String field for storing your own identifiers, can be used to filter donations when retrieving them - `metadata`: JSON object for storing arbitrary additional information with donations ### Test vs Production - Test keys allow you to simulate donations without real money movement - Production keys process real donations and generate monthly invoices - Simply swap test keys for production keys when ready to go live ## Optional - [Changelog](https://docs.getchange.io/changelog): Track updates and changes to the Change API. - [Status](https://stats.uptimerobot.com/cy54j9Ybbw): Check the current status of Change services.