Accountability Wizard API Documentation

API v1.0.0

The Accountability Wizard® API allows developers to check the current Accountability Wizard® review status of any nonprofit or receive a full list of the nonprofits on Charities Review Council’s online list of reviewed nonprofits.

Download a PDF of this documentation

HTTPS Required

All API requests require HTTPS. Any calls made over plain HTTP will fail.

Authorization – /api/authorize

The Accountability Wizard® requires authentication to authorize API requests. Authentication must be completed before any other data is accessible, and API requests without authentication will fail. Successful authentication will return a token to be used for request authorization.

You can reset your password at any time by going to wizard.smartgivers.org and clicking the “Reset Password” link, then following the instructions in the email you receive.

Request

Authentication is accomplished by providing a valid username and password to the authorization endpoint via basic authentication.

URL: /api/authorize
Method: GET
Headers:
Parameters:
Authentication: <USERNAME>:<PASSWORD>

Example Request

curl -u <USERNAME>:<PASSWORD> https://wizard.smartgivers.org/api/authorize

Response

Upon successful authentication, the Accountability Wizard® will return a JSON object containing a temporary authorization token. This token must be included with future API calls to authorize the requests.

Response Object

Token String|Null Authorization token if authentication is successful
Success Boolean Success confirmation
Message String|Null Error details if authentication is unsuccessful

Example Response – Successful Authentication

{ "Token": <TOKEN>, "Success": true, "Message": null }

Example Response – Unsuccessful Authentication

{ "Token": null, "Success": false, "Message": "User <USERNAME> or password is not valid." }

Get Organization by EIN – /api/getorganization

Call this endpoint to request the current status of a single nonprofit in the Accountability Wizard® review process. A successful request will return the current status of the organization and, if applicable, the date of their most recent review.

Request

All requests to this endpoint must be authorized with a valid token. The EIN of the nonprofit being checked is then passed as a parameter on the URL. Note that the EIN should be numerals only; remove any hyphens or other symbols from the parameter.

URL: /api/getorganization
Method: GET
Headers: Token: <TOKEN>
Parameters: ein

Example Request

curl -H "Token: <TOKEN>" https://wizard.smartgivers.org/api/getorganization?ein=410652474

Response

Upon a successful authorized request, the Accountability Wizard® will return a JSON object containing the name, review date (if applicable), and current status of the organization with the matching EIN.

Response Object

Organization Object|Null An object with the organization data
Name String The name of the organization
ReviewDate String|Null The date of their most recent review. Unless an organization is less than three years old, an organization can be listed as a Review in Progress for up to one year from this date. They can be listed as Meets Standards® for up to three years from this date.
Status String The current status of the nonprofit requested
Success Boolean Success confirmation
Message String|Null Error details if request is unsuccessful

Example Response – Successful Request, Meets Standards®

{ "Organization": { "Name": "Charities Review Council (Self-Review)", "ReviewDate": "5/9/2019", "Status": "Meets Standards" }, "Success": true, "Message": null }

Example Response – Successful Request, Review in Progress

If the organization has been provided with the results of their review and they are working on addressing any issues that were identified, a ReviewDate will be given. If the organization’s submission is still under review by the Council, the ReviewDate will be null.

{ "Organization": { "Name": "Charities Review Council (Self-Review)", "ReviewDate": "5/9/2019", "Status": "Review in Progress" }, "Success": true, "Message": null }

Example Response – Successful Request, Does Not Meet Standards

If an organization Does Not Meet Standards, that can mean one of many things.

  • It could mean the organization has never been reviewed by the Council.
  • It could mean the organization is working on completing a review but has not submitted it to the Council yet.
  • It could mean the organization’s submission has already been reviewed and the results provided to the organization, but the organization is not yet Meet Standards® and it has been more than a year since results were provided.
  • It could mean the organization was previously reviewed but never met the Standards and their account has expired.
  • It could mean the organization was previously reviewed and fully met all the Standards, but their account has expired.

Whatever the specific situation, it means the organization does not have a current account that Meets Standards® or is a Review in Progress.

{ "Organization": { "Name": "Charities Review Council (Self-Review)", "ReviewDate": null, "Status": "Does Not Meet Standards" }, "Success": true, "Message": null }

Example Response – Unsuccessful Request, Organization Not Found

If an organization is not found within our system, there are two possibilities.

  1. The provided EIN was entered incorrectly, as in the example below.
  2. The organization with the requested EIN does not have an account in the Accountability Wizard® and Does Not Meet Standards.

In the second case, it cannot be reliably assumed the organization has never been reviewed in the past or that they were deemed incapable of meeting the Standards. Instead, they should be treated as though the response was “Does Not Meet Standards”.

{ "Organization": null, "Success": false, "Message": "Organization with ein 'x410652474' was not found" }

Example Response – Unsuccessful Request, Invalid Token

{ "Organization": null, "Success": false, "Message": "Token <TOKEN> is not valid." }

Get All Organizations – /api/getorganizations

Call this endpoint to request the full list of all nonprofits that are currently Meets Standards® or Review in Progress. A successful request will return a list of organizations with their current status and, if applicable, the date of their most recent review.

Request

All requests to this endpoint must be authorized with a valid token.

URL: /api/getorganizations
Method: GET
Headers: Token: <TOKEN>
Parameters:

Example Request

curl -H "Token: <TOKEN>" https://wizard.smartgivers.org/api/getorganizations

Response

Upon a successful authorized request, the Accountability Wizard® will return a JSON object containing the name, review date (if applicable), and current status of the organization with the matching EIN.

Note: This request searches, filters, and sorts through the entire database in order to provide accurate up-to-date data no matter when you make the request. The result of this is that it can take several seconds for a response, up to 30s or even more. Be aware of this when thinking about any timeout functions. Additionally, this means that this endpoint is not suitable for populating a list live when a user visits your website, as the user would need to wait until the data is provided.

Response Object

Organizations Array<Object>|Null An array of objects with the organization data
Name String The name of the organization
ReviewDate String|Null The date of their most recent review. Unless an organization is less than three years old, an organization can be listed as a Review in Progress for up to one year from this date. They can be listed as Meets Standards® for up to three years from this date.
Status String The current status of the nonprofit requested
Success Boolean Success confirmation
Message String|Null Error details if request is unsuccessful

Example Response – Successful Request

{ "Organizations": [ { "Name": "Example Organization 1", "ReviewDate": "3/21/2020", "Status" "Review in Progress" }, { "Name": "Example Organization 2", "ReviewDate": "10/7/2018", "Status" "Meets Standards" }, { "Name": "Example Organization 3", "ReviewDate": null, "Status" "Review in Progress" }, … ], "Success": true, "Message": null }

Example Response – Unsuccessful Request, Invalid Token

{ "Organizations": null, "Success": false, "Message": "Token <TOKEN> is not valid." }

Download a PDF of this documentation

Get our latest and greatest monthly!

Subscribe

Charities Review Council

Our mission is building donor and nonprofit relationships for strong, vibrant and just communities. We envision healthy communities for all, benefiting from effective and trustworthy nonprofits that are supported by a well-informed public’s generosity.

Let’s Connect

700 Raymond Ave Ste 160 • Saint Paul, MN 55114
Phone: (651) 224–7030 • E-mail: info@smartgivers.org

Privacy Policy (5/9/19) • Terms of Use (5/9/19)

MENU
Log In