Fundraising Pages Version 1
This document describes the OSDI fundraising pages collection and fundraising page resource as implemented by the Action Network.
Fundraising pages are a type of action created by the organizer or group associated with your API key that involves activists donating money to one or more recipients.
Fundraising pages have summaries (titles) and can have descriptions and other fields, and when activists donate on them donation resources are created representing the donation an activist made on that fundraising page.
Fundraising pages are not deduplicated except on identifiers, to keep identifiers unique.
Sections:
- Endpoints and URL structures
- Field names and descriptions
- Links
- Scenario: Retrieving a collection of fundraising page resources (GET)
- Scenario: Retrieving an individual fundraising page resource (GET)
- Scenario: Creating a new fundraising page (POST)
- Scenario: Modifying a fundraising page (PUT)
- Scenario: Deleting a fundraising page (DELETE)
Endpoints and URL structures
Endpoints:
https://actionnetwork.org/api/v1/fundraising_pages
Fundraising page resources live exclusively at the above endpoint. The endpoint returns a collection of all the fundraising pages associated with your API key.
URL Structures:
https://actionnetwork.org/api/v1/fundraising_pages/[id]
To address a specific fundraising page, use the identifier without the action_network:
prefix to construct a URL, like https://actionnetwork.org/api/v1/fundraising_pages/d91b4b2e-ae0e-4cd3-9ed7-d0ec501b0bc3
Field names and descriptions
Field Name | Type | Required on POST | Description |
---|---|---|---|
identifiers | array[] |
An array of identifiers in the format [system name]:[id] . See the general concepts document for more information about identifiers.
|
|
originating_system | string | Yes | A human readable string identifying where this fundraising page originated. May be used in the user interface for this purpose. |
created_at | datetime | The date and time the resource was created. System generated, not editable. | |
modified_at | datetime | The date and time the resource was last modified. System generated, not editable. | |
summary | string | Yes | The fundraising page's title. |
description | string | The fundraising page's description. May contain HTML. | |
url | string | The URL to this fundraising page on the Action Network. Only present for fundraising pages created with our user interface. Not editable. | |
total_donations | integer | A system generated count of the number of donations on this fundraising page. Not editable. | |
total_amount | float | A system generated count of the amount of money raised on this fundraising page. Not editable. | |
currency | string | ISO 4217 designation of currency. System generated, will always be "USD", not editable. | |
osdi:creator | osdi:person* | An embedded person representing the user who created this fundraising page. If you do not assign a creator, we will assign one based on your API key. Cannot be edited once created. | |
action_network:sponsor | hash | A hash of the sponsoring group of this fundraising page. Action Network-only feature. Automatically added if you post using a group API key. System generated, not editable. | |
action_network:sponsor.summary | string | The name of the sponsoring group. | |
action_network:sponsor.url | string | The URL to the group's public page. |
Links
Link Name | Description |
---|---|
self | A link to this individual fundraising page resource. |
osdi:donations | A link to a collection of all donation resources associated with this fundraising page. Click here for donations documentation. |
osdi:creator | A link to the person who created this fundraising page. Click here for people documentation. |
action_network:embed | A link to embed code for this fundraising page. Action Network-only feature. Click here for embed documentation. |
Scenario: Retrieving a collection of fundraising page resources (GET)
Fundraising page resources are sometimes presented as collections of fundraising pages. For example, calling the fundraising page endpoint will return a collection of all the fundraising pages associated with your API key.
Request
GET https://actionnetwork.org/api/v1/fundraising_pages/
Header:
api-key:[your api key here]
Response
Back To Top ↑200 OK Content-Type: application/hal+json Cache-Control: max-age=0, private, must-revalidate
{ "total_pages": 1, "per_page": 25, "page": 1, "total_records": 23, "_links": { "next": { "href": "https://actionnetwork.org/api/v1/fundraising_pages?page=2" }, "self": { "href": "https://actionnetwork.org/api/v1/fundraising_pages" }, "osdi:fundraisers": [ { "href": "https://actionnetwork.org/api/v1/fundraising_pages/853b797a-8779-4b06-99c6-3c8f6bdc0a90" }, { "href": "https://actionnetwork.org/api/v1/fundraising_pages/1e019f6c-f118-4464-bc57-9127bf98ef68" }, //truncated for brevity ], "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] }, "_embedded": { "osdi:fundraising_pages": [ { "originating_system": "FreeFundraising.com", "identifiers": [ "action_network:853b797a-8779-4b06-99c6-3c8f6bdc0a90", "free_fundraising:1" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "summary": "Help us run our ad on TV", "total_donations": 100, "total_amount": 5000.00, "currency": "USD", "_embedded": { "osdi:creator": { "given_name": "John", "family_name": "Doe", "identifiers": [ "action_network:c945d6fe-929e-11e3-a2e9-12313d316c29" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "originating_system": "Action Network", "email_addresses": [ { "primary": true, "address": "jdoe@mail.com" } ], "postal_addresses": [ { "primary": true, "address_lines": [ "1600 Pennsylvania Ave" ], "locality": "Washington", "region": "DC", "postal_code": "20009", "country": "US", "language": "en", "location": { "latitude": 32.945, "longitude": -76.3477, "accuracy": "Approximate" } } ], "_links": { "self": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "osdi:question_answers": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/question_answers" }, "osdi:attendance": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/attendance" }, "osdi:signatures": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/signatures" }, "osdi:submissions": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/submissions" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/donations" } } } }, "_links": { "self": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/853b797a-8779-4b06-99c6-3c8f6bdc0a90" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/853b797a-8779-4b06-99c6-3c8f6bdc0a90/donations" }, "osdi:creator": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "action_network:embed": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/853b797a-8779-4b06-99c6-3c8f6bdc0a90/embed" } } }, { "originating_system": "Action Network", "identifiers": [ "action_network:1e019f6c-f118-4464-bc57-9127bf98ef68" ], "created_at": "2014-03-24T16:12:03Z", "modified_at": "2014-03-24T16:13:38Z", "summary": "Year end fundraising", "description": "<p>Donate today!</p>", "url": "https://actionnetwork.org/fundraising/year-end-fundraising-2", "total_donations": 10, "total_amount": 900.00, "currency": "USD", "_embedded": { "osdi:creator": { "given_name": "John", "family_name": "Doe", "identifiers": [ "action_network:c945d6fe-929e-11e3-a2e9-12313d316c29" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "originating_system": "Action Network", "email_addresses": [ { "primary": true, "address": "jdoe@mail.com" } ], "postal_addresses": [ { "primary": true, "address_lines": [ "1600 Pennsylvania Ave" ], "locality": "Washington", "region": "DC", "postal_code": "20009", "country": "US", "language": "en", "location": { "latitude": 32.945, "longitude": -76.3477, "accuracy": "Approximate" } } ], "_links": { "self": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "osdi:question_answers": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/question_answers" }, "osdi:attendance": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/attendance" }, "osdi:signatures": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/signatures" }, "osdi:submissions": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/submissions" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/donations" } } } }, "action_network:sponsor": { "summary": "Progressive Action Now", "url": "https://actionnetwork.org/groups/progressive-action-now" }, "_links": { "self": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/1e019f6c-f118-4464-bc57-9127bf98ef68" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/1e019f6c-f118-4464-bc57-9127bf98ef68/donations" }, "osdi:creator": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "action_network:embed": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/1e019f6c-f118-4464-bc57-9127bf98ef68/embed" } } }, //truncated for brevity ] } }
Scenario: Retrieving an individual fundraising page resource (GET)
Calling an individual fundraising page resource will return the resource directly, along with all associated fields and appropriate links to additional information about the fundraising page.
Request
GET https://actionnetwork.org/api/v1/fundraising_pages/049e9bda-cb79-420d-91ba-92e5a15ba62f
Header:
api-key:[your api key here]
Response
Back To Top ↑200 OK Content-Type: application/hal+json Cache-Control: max-age=0, private, must-revalidate
{ "identifiers": [ "action_network:049e9bda-cb79-420d-91ba-92e5a15ba62f" ], "created_at": "2014-03-04T18:14:03Z", "modified_at": "2014-03-24T16:07:13Z", "summary": "Year end fundraising", "description": "<p>Donate today!</p>", "url": "https://actionnetwork.org/fundraising/year-end-fundraising-2", "total_donations": 5, "total_amount": 302.14, "currency": "USD", "_embedded": { "osdi:creator": { "given_name": "John", "family_name": "Doe", "identifiers": [ "action_network:c945d6fe-929e-11e3-a2e9-12313d316c29" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "originating_system": "Action Network", "email_addresses": [ { "primary": true, "address": "jdoe@mail.com" } ], "postal_addresses": [ { "primary": true, "address_lines": [ "1600 Pennsylvania Ave" ], "locality": "Washington", "region": "DC", "postal_code": "20009", "country": "US", "language": "en", "location": { "latitude": 32.945, "longitude": -76.3477, "accuracy": "Approximate" } } ], "_links": { "self": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "osdi:question_answers": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/question_answers" }, "osdi:attendance": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/attendance" }, "osdi:signatures": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/signatures" }, "osdi:submissions": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/submissions" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/donations" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } } }, "action_network:sponsor": { "summary": "Progressive Action Now", "url": "https://actionnetwork.org/groups/progressive-action-now" }, "_links": { "self": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/049e9bda-cb79-420d-91ba-92e5a15ba62f" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/049e9bda-cb79-420d-91ba-92e5a15ba62f/donations" }, "osdi:creator": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "action_network:embed": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/049e9bda-cb79-420d-91ba-92e5a15ba62f/embed" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } }
Scenario: Creating a new fundraising page (POST)
You can post a new fundraising page to the fundraising pages endpoint and a fundraising page resource will be created in our system.
Note: Fundraising pages created via the API in this way are not equivalent to fundraising pages created with our user interface. API-created fundraising pages will not show up in lists of all of your actions on your dashboard of group page, they will not be given a URL on actionnetwork.org where people can donate, they will not have individual manage pages for statistics and counting of amounts, and they will not actually charge users any money. Rather, once they have at least one donation, they will show up as actions available for selection in our targeting interface, allowing you to select all people who have taken action on that fundraising page for reports or email targeting.
In the targeting interface, they will show up in the format [1, (originating system) Fundraiser], (summary)
. For example, a fundraising page with the originating system "FreeFundraisers.com" and the summary "My Free Fundraiser" will show up in the targeting interface as [1, FreeFundraisers.com Fundraiser], My Free Fundraiser
so you can easily identify what it is and where it came from when doing your targeting.
Request
POST https://actionnetwork.org/api/v1/fundraising_pages Header: Content-Type: application/json api-key:[your api key here]
{ "identifiers": [ "free_fundraiser:1" ], "summary": "My Free Fundraiser", "originating_system": "FreeFundraisers.com" }
Response
200 OK Content-Type: application/hal+json Cache-Control: max-age=0, private, must-revalidate
{ "originating_system": "FreeFundraisers.com", "identifiers": [ "free_fundraiser:1", "action_network:f77e736b-d295-4e68-96ec-a765090c6523" ], "created_at": "2014-03-27T16:02:36Z", "modified_at": "2014-03-27T16:02:36Z", "summary": "My Free Fundraiser", "total_donations": 0, "total_amount": 0.00, "currency": "USD", "_embedded": { "osdi:creator": { "given_name": "John", "family_name": "Doe", "identifiers": [ "action_network:c945d6fe-929e-11e3-a2e9-12313d316c29" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "originating_system": "Action Network", "email_addresses": [ { "primary": true, "address": "jdoe@mail.com" } ], "postal_addresses": [ { "primary": true, "address_lines": [ "1600 Pennsylvania Ave" ], "locality": "Washington", "region": "DC", "postal_code": "20009", "country": "US", "language": "en", "location": { "latitude": 32.945, "longitude": -76.3477, "accuracy": "Approximate" } } ], "_links": { "self": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "osdi:question_answers": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/question_answers" }, "osdi:attendance": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/attendance" }, "osdi:signatures": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/signatures" }, "osdi:submissions": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/submissions" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/donations" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } } }, "_links": { "self": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/f77e736b-d295-4e68-96ec-a765090c6523" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/f77e736b-d295-4e68-96ec-a765090c6523/donations" }, "osdi:creator": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "action_network:embed": { "href": "https://actionnetwork.org/api/v1/fundraising_pages/f77e736b-d295-4e68-96ec-a765090c6523/embed" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } }
In the above example, you can see how the foreign identifier being posted is merged into the identifiers array. We will intelligently search and deduplicate based on foreign and native identifiers. So if you post a fundraising page with an identifier that matches one already assigned to a fundraising page resource, your POST request will update that resource with new information instead of creating a duplicate.
You can post a fundraising page with a creator link as well, if you want to assign the fundraising page to a specific Action Network user, like so:
POST https://actionnetwork.org/api/v1/fundraising_pages Header: Content-Type: application/json api-key:[your api key here]
{ "identifiers": [ "free_fundraiser:1" ], "summary": "My Free Fundraiser", "originating_system": "FreeFundraisers.com", "_links" : { "osdi:creator" : { "href" : "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" } } }
The link must be a valid person resource and must be associated with your API key for it to be accepted. If your API key is for an individual account, then the link must be to your account's person resource. If your API key is for a group, then the link must be to a member of administrator of your group. If no link or an invalid link is provided, the fundraising page will be assigned to your API key's account person record or to the original creator of the group, whichever is appropriate. If a creator is explicitly set, people who take action will be added to that creator's personal email list. Otherwise, the creator is has no effect on what email list people who donation on the fundraising page are subscribed to.
And of course you can post a fundraising page with more fields (such as description) if you'd like, but they are not required.
Back To Top ↑Scenario: Modifying a fundraising page (PUT)
You can modify an existing fundraising page by using PUT on its individual endpoint.
Request
PUT https://actionnetwork.org/api/v1/fundraising_pages/f77e736b-d295-4e68-96ec-a765090c6523 Header: Content-Type: application/json api-key:[your api key here]
{ "identifiers": [ "free_fundraisers:2" ], "summary": "My Free Fundraiser With A New Name", "description": "This is my free fundraiser description" }
Response
200 OK Content-Type: application/hal+json Cache-Control: max-age=0, private, must-revalidate
{ "originating_system": "FreeFundraisers.com", "identifiers": [ "free_fundraiser:1", "action_network:f77e736b-d295-4e68-96ec-a765090c6523", "free_fundraisers:2" ], "created_at": "2014-03-27T16:02:36Z", "modified_at": "2014-03-27T16:07:33Z", "summary": "My Free Fundraiser With A New Name", "description": "This is my free fundraiser description", "total_donations": 0, "total_amount": 0.00, "currency": "USD", "_embedded": { "osdi:creator": { "given_name": "John", "family_name": "Doe", "identifiers": [ "action_network:c945d6fe-929e-11e3-a2e9-12313d316c29" ], "created_at": "2014-03-24T19:39:40Z", "modified_at": "2014-03-24T19:48:23Z", "originating_system": "Action Network", "email_addresses": [ { "primary": true, "address": "jdoe@mail.com" } ], "postal_addresses": [ { "primary": true, "address_lines": [ "1600 Pennsylvania Ave" ], "locality": "Washington", "region": "DC", "postal_code": "20009", "country": "US", "language": "en", "location": { "latitude": 32.945, "longitude": -76.3477, "accuracy": "Approximate" } } ], "_links": { "self": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "osdi:question_answers": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/question_answers" }, "osdi:attendance": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/attendance" }, "osdi:signatures": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/signatures" }, "osdi:submissions": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/submissions" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29/donations" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } } }, "_links": { "self": { "href": "https://actionnetwork.org/api/v1/fundraisers/f77e736b-d295-4e68-96ec-a765090c6523" }, "osdi:donations": { "href": "https://actionnetwork.org/api/v1/fundraisers/f77e736b-d295-4e68-96ec-a765090c6523/donations" }, "osdi:creator": { "href": "https://actionnetwork.org/api/v1/people/c945d6fe-929e-11e3-a2e9-12313d316c29" }, "action_network:embed": { "href": "https://actionnetwork.org/api/v1/fundraisers/f77e736b-d295-4e68-96ec-a765090c6523/embed" }, "curies": [ { "name": "osdi", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true }, { "name": "action_network", "href": "https://actionnetwork.org/docs/v1/{rel}", "templated": true } ] } }
The above example added a new identifier to the fundraising page, changed the summary, and added a description.
Editing of certain fields via PUT is not allowed, and is noted in the field names table above. For example, you can't change the total_donations count -- that is a system generated number reflecting a count of the underlying donations. And you can't change a creator of a fundraising page. Invalid entries will be ignored.
Back To Top ↑Scenario: Deleting a fundraising page (DELETE)
Deleting fundraising pages is not allowed via the API. DELETE requests will return an error.
Back To Top ↑