Introduction
Welcome to the Community Fundrasing Platform (CFP) API v1 documentation.
Kentaa is now iRaiser! Don't worry, your Kentaa API remain the same, as well as your Kentaa Connect webhook. Click here to learn more about iRaiser!
The Community Fundraising Platform (CFP) API provides access (read / write) to various resources of a site on the iRaiser platform.
Authentication
# Example request using curl and authentication via header:
curl -H "X-Api-Key: your_api_key" https://api.kentaa.nl/v1/actions
All API requests must use a secure HTTP connection (HTTPS) to https://api.kentaa.nl
.
For authentication you need to provide the API key as header X-Api-Key
. Alternatively, you can provide the API key as parameter api_key
, but we strongly recommend using the header instead.
If no API key or an invalid key is provided, the status code 401 is returned.
To create an API key, login to your Community Fundraising Platform (CFP) site and go to "Integrations" -> "API users".
Requests
The following HTTP request methods are supported:
HTTP method | Meaning |
---|---|
GET | Request to one or more resources. The result is returned as JSON. |
POST | Create a new resource and return the result as JSON. |
PATCH | Update attribute(s) of a resource and return the result as JSON. |
DELETE | Delete a resource. |
Responses
The API returns the following HTTP status codes for a request:
Code | Status | Meaning |
---|---|---|
200 | OK | The GET or PATCH request was successful. |
201 | Created | The POST request was successful. |
204 | No Content | The DELETE request was successful. |
400 | Bad Request | The request contains an invalid attribute or payload. |
401 | Unauthorized | No valid API key was provided. See Authentication. |
403 | Forbidden | No access to the requested resource. |
404 | Not Found | The requested resource could not be found. |
429 | Too Many Requests | Rate limit has been reached. See Rate limiting. |
500 | Server Error | Something went wrong on the server side when trying to process the request. |
Example response for requesting a single object or creating an object:
{
"action": {
"id": 1,
...
}
}
Example response when requesting multiple objects:
{
"actions": [
{
"id": 1,
...
},
{
"id": 2,
...
}
]
}
For a successful GET
request, the response body includes one or more JSON objects with the requested resource(s).
The key is always the resource that was requested, the singular form when one resource was requested or the plural form when requesting a multiple resources.
The response body for a successful POST
includes a JSON object with the newly created resource.
The response body for a successful PATCH
includes a JSON object with the updated resource.
The response body for a successful DELETE
is empty.
Pagination
Sample links object:
{
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/actions?page=34",
"next": "https://api.kentaa.nl/v1/actions?page=2"
}
}
}
curl -H "X-Api-Key: your_api_key" "https://api.kentaa.nl/v1/actions?per_page=100&page=1"
The response also includes the following keys to supply information about the number of available objects and the current pagination:
{
"total_entries": 30,
"total_pages": 3,
"per_page": 10,
"current_page": 1
}
Requests that return many objects (List operations) are limited to return 25 objects by default. When more results are available, the response includes a links
object with URLs to the first, last, previous and next pages.
You can use the following parameters to specify pages and to customize the page size:
page
(default:1
) - page numberper_page
(default:25
, max:100
) - number of objects to return per page
Rate limiting
The number of requests is limited to 100 per minute and 500 per hour per API key. When the rate limit is exceeded, the status code 429
is returned.
The following headers are included in the response:
X-RateLimit-Limit-Hour
- the maximum number of requests per hourX-RateLimit-Remaining-Hour
- number of requests remaining per hourX-RateLimit-Limit-Minute
- the maximum number of requests per minuteX-RateLimit-Remaining-Minute
- number of requests remaining per minute
Libraries
- Ruby library
- NodeJS library (unofficial)
Changelog
All changes to the API are documented here. Updates to the API are always backwards compatible.
2024-10-14
- Added
locale
to the Order object.
2024-09-03
- Added
amount
to the Donation - Reward object.
2024-08-01
- New
reserved_spots
attribute has been added to Companies. This attribute indicates the number of spots that have been reserved in the sign up flow for the company. - New
total_company_members
attribute has been added to Companies. This attribute indicates the number of members for the company. - The attribute
ticket
(Action - Ticket object) has been added to Actions. - New
reservation_type
attribute has been added to Company - Package object. This attribute indicates the Type of reservation for the company package. - New
reservation_limit
attribute has been added to Company - Package object. This attribute indicates the reservation limit when thereservation_type
is specific. - New
locale
attribute has been added to Company - Contact object. This attribute indicates the locale when the company contact was created. - New
locale
attribute has been added to Project - Contact object. This attribute indicates the locale when the project contact was created. - New
total_team_members
attribute has been added to Teams. This attribute indicates the number of members for the team.
2024-07-03
- New
newsletter
attribute has been added to Actions. This attribute indicates if the fundraiser subscribed to the newsletter. - New
newsletter
attribute has been added to Companies. This attribute indicates if the company contact subscribed to the newsletter.
2024-06-14
- New
donation_amount
attribute has been added to Donations. This attribute contains the amount of the donation. - New
company_registration_fee
attribute has been added to Donations. This attribute indicates if there is a company registration fee present. - New
company_registration_fee_amount
attribute has been added to Donations. This attribute contains the company registration fee amount (with decimals). - The attribute
total_amount
of Donations has been updated to now also contain the company registration fee. - The attribute
amount
of Donations has been deprecated in favor ofdonation_amount
.
2024-05-13
- Added design attributes to Sites.
2024-02-21
- New endpoint for Activities.
- Attribute
activity_id
has been added to Create an Action.
2024-02-05
- New endpoint for Payments.
2023-12-14
- New endpoint for User avatars.
2023-03-06
- Filter on
invoicenumber
has been added to List Donations.
2023-02-10
- New endpoint for Orders.
2023-01-04
- Attribute
company_id
has been added to Actions.
2022-11-14
- Attribute
company_id
has been added to Donations and Manual donations. - New
contact_details_type
attribute has been added to Donations. - New
send_reset_password_email
attribute has been added to Users, to trigger the reset password mail on user creation.
2022-06-22
- New endpoint for companies.
2022-05-24
- New
send_initial_emails
attribute has been added to Actions. With this attribute, emails can be sent when an action is created, such as the welcome email.
2022-04-11
- Added Find users by email address.
2022-01-26
- New endpoint for performance photos.
2021-10-26
- New
consents
attribute has been added to Actions, Donations, Newsletter subscriptions, Projects and Users. This attribute contains a list of all consents a user has given and will also return new consent types. - The attribute
content
has been deprecated in favor ofconsents
.
2021-07-29
- Added List actions for a user.
2021-05-11
- New endpoint for performances.
Actions
An action represents a participant on a Community Fundraising Platform (CFP) site. Most actions also have a fundraising page, but this is optional.
Action object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this action. |
slug | string | Unique identifier for this action, used to create a nice action URL. |
site_id | integer | Unique identifier for the site associated with the action. |
segment_id | integer | Unique identifier for the segment associated with the action. optional |
project_id | integer | Unique identifier for the project associated with the action. optional |
company_id | integer | Unique identifier for the company associated with the action. optional |
team_id | integer | Unique identifier for the team associated with the action. optional |
created_at | string | The time (ISO 8601 format) when the action was created. |
updated_at | string | The time (ISO 8601 format) when the action was last updated. |
external_reference | string | External reference for the action. optional |
owner | object | Represents the owner for the action. See Action - Owner object. |
team_captain | boolean | Indicates whether it is the action of the team captain (only when the action is part of a team). optional |
who_type | string | For who the action was created for (owner or other ). When this value is other , the fields first_name , infix , last_name and avatar_url below will contain the data from "Someone else" and not from the action owner. |
first_name | string | The first name of the fundraiser. |
infix | string | The infix of the fundraiser. optional |
last_name | string | The last name of the fundraiser. |
avatar_url | string | The URL to the avatar image of the fundraiser. optional |
fundraiser_page | boolean | Indicates whether the action has a fundraising page. |
title | string | Title for the action. |
description | string | Description for the action. |
target_amount | integer | The target amount for the action. |
total_amount | string | The amount that was donated to the action (with decimals). |
total_donations | integer | The number of donations for the action. |
target_amount_achieved | boolean | Indicates whether the action target amount is achieved or not. |
newsletter | boolean | Indicates whether the fundraiser subscribed to the newsletter or not. |
visible | boolean | Indicates whether the action is visible or not. |
countable | boolean | Indicates whether the action is included in the webpages and counters of parent levels of a closed project. |
closed | boolean | Indicates whether the action is closed or not. |
ended | boolean | Indicates whether the action is ended or not. |
end_date | string | The countdown date (ISO 8601 format) for this action. optional |
activity | object | Represents the activity for the action. See Action - Activity object. optional |
previous_participations | integer | The number of previous participations used for retention. optional |
url | string | The URL to the fundraising page. |
donate_url | string | The URL to directly make a donation to the action. |
registration_fee | object | Represents the registration fee for the action. See Action - Registration fee object. optional |
ticket | object | Represents the ticket for the action. See Action - Ticket object. optional |
location | object | Represents the location for the action. See Action - Location object. optional |
photos | array | List of photos associated with the action. optional |
videos | array | List of videos associated with the action. optional |
questions | array | List of questions, when there are any additional questions associated with the sign up form. See Action - Question object. optional |
consents instead. deprecated |
||
consents | array | List of consents associated with the action. See Action - Consent object. optional |
Action - Activity object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this activity. |
name | string | The name of the activity. |
Action - Consent object
This object contains information about a specific consent a fundraiser has given, for example the processing of personal data when signing up.
Some consents can also be revoked later on by the fundraiser, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the fundraiser has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types (given by fundraisers) are:
Consent type | Description |
---|---|
terms_conditions | Accepting the terms and conditions. |
processing_personal_data | Accepting the processing of personal data. |
processing_personal_sensitive_data | Accepting the processing of sensitive personal data. |
Action - Location object
Attribute | Type | Description |
---|---|---|
zip_code | string | Zip code of the location. |
street | string | Street of the location. |
city | string | City of the location. |
latitude | string | Latitude of the location. |
longitude | string | Longitude of the location. |
Action - Owner object
The Action - Owner object is a subset of the User object:
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the action owner. |
first_name | string | The first name of the owner. |
infix | string | The infix of the owner. optional |
last_name | string | The last name of the owner. |
string | The email address of the owner. | |
avatar_url | string | The URL to the avatar image of the owner. optional |
Action - Question object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this question. |
created_at | string | The time (ISO 8601 format) when the question was created. |
updated_at | string | The time (ISO 8601 format) when the question was last updated. |
question | string | The question on the sign up form. |
answer | string | The answer that was given for this question. |
Action - Registration fee object
Attribute | Type | Description |
---|---|---|
amount | string | Amount of the registration fee. |
title | string | Title of the registration fee. |
Action - Ticket object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the ticket. |
created_at | string | The time (ISO 8601 format) when the ticket was created. |
updated_at | string | The time (ISO 8601 format) when the ticket was last updated. |
ticket_number | string | The ticket number. |
ticket_url | string | The URL to the ticket PDF. |
List Actions
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.actions
curl https://api.kentaa.nl/v1/actions \
-H "X-Api-Key: your_api_key"
Example response body:
{
"actions": [
{
"id": 1,
"slug": "john-doe",
"site_id": 1,
"created_at": "2015-08-26T14:50:14Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"who_type": "owner",
"first_name": "John",
"last_name": "Doe",
"fundraiser_page": true,
"title": "Lorem ipsum",
"description": "Dolorum animi qui nihil iure dolore velit. Rerum eius et quo.",
"target_amount": 1000,
"total_amount": "125.0",
"total_donations": 2,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"previous_participations": 1,
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate",
"photos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/action_photo/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"questions": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "What is your age?",
"answer": "42"
}
]
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/actions?page=34&per_page=1",
"next": "https://api.kentaa.nl/v1/actions?page=2&per_page=1"
}
},
"total_entries": 34,
"total_pages": 34,
"per_page": 1,
"current_page": 1
}
Get a list of actions for the current site, segment, project or for a user.
HTTP request
GET https://api.kentaa.nl/v1/actions
GET https://api.kentaa.nl/v1/segments/:segment_id/actions
GET https://api.kentaa.nl/v1/projects/:project_id/actions
GET https://api.kentaa.nl/v1/users/:user_id/actions
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
include | When set to owner , include the full owner object in the result. When set to ticket , include the related ticket object in the result.Multiple values are allowed using a comma as separator. |
external_reference | Show results filtered on external_reference . |
Get an Action
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.actions.get(1)
client.actions.get('john-doe')
curl https://api.kentaa.nl/v1/actions/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/actions/john-doe \
-H "X-Api-Key: your_api_key"
Example response body:
{
"action": {
"id": 1,
"slug": "john-doe",
"site_id": 1,
"created_at": "2015-08-26T14:50:14Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"who_type": "owner",
"first_name": "John",
"last_name": "Doe",
"fundraiser_page": true,
"title": "Lorem ipsum",
"description": "Dolorum animi qui nihil iure dolore velit. Rerum eius et quo.",
"target_amount": 1000,
"total_amount": "125.0",
"total_donations": 2,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"previous_participations": 1,
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate",
"registration_fee": {
"amount": "25.0",
"title": "Sign up fee"
},
"ticket": {
"id": 1,
"created_at": "2024-07-17T21:14:11Z",
"updated_at": "2024-07-17T21:14:11Z",
"ticket_number": "3OJHY9RU5D",
"ticket_url": "https://demo1.community-fundraising.com/admin/acties/1/download-ticket.pdf"
},
"photos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/action_photo/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"questions": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "What is your age?",
"answer": "42"
}
],
"consent": {
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"text": "Yes, I explicitly give permission to process my personal data.",
"version": "V2 22-06-2018 13:09"
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2015-08-26T14:50:14Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
},
{
"consent_type": "processing_personal_data",
"consent_status": "granted",
"granted_at": "2015-08-26T14:50:14Z",
"consent_text": "Yes, I explicitly give permission to process my personal data.",
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
}
]
}
}
Retrieve a specific action on the current site. Actions can be queried by ID or slug.
HTTP request
GET https://api.kentaa.nl/v1/actions/:id
GET https://api.kentaa.nl/v1/actions/:slug
Query parameters
Parameter | Description |
---|---|
include | When set to owner , include the full owner object in the result. When set to ticket , include the related ticket object in the result.Multiple values are allowed using a comma as separator. |
Create an Action
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.actions.create(
owner_id: 1,
first_name: 'John',
last_name: 'Doe',
active: true
)
curl https://api.kentaa.nl/v1/actions \
-d '{ "owner_id": 1, "title": "foobar", "description": "foobar", "active": true }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"owner_id": 1,
"title": "Lorem ipsum",
"description": "Dolorum animi qui nihil iure dolore velit. Rerum eius et quo.",
"active": true
}
Example response body:
{
"action": {
"id": 1,
"slug": "john-doe",
"site_id": 1,
"created_at": "2015-08-26T14:50:14Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"who_type": "owner",
"first_name": "John",
"last_name": "Doe",
"fundraiser_page": true,
"title": "Lorem ipsum",
"description": "Dolorum animi qui nihil iure dolore velit. Rerum eius et quo.",
"target_amount": 1000,
"total_amount": "125.0",
"total_donations": 2,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"previous_participations": 1,
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate",
"registration_fee": {
"amount": "25.0",
"title": "Sign up fee"
}
}
}
Create a new action on the current site, segment or project.
HTTP request
POST https://api.kentaa.nl/v1/actions
POST https://api.kentaa.nl/v1/segments/:segment_id/actions
POST https://api.kentaa.nl/v1/projects/:project_id/actions
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
owner_id | Yes | integer | Owner identifier for this action. |
activity_id | No | integer | Activity identifier for the action. See also Activities. |
title | Yes | string | Title for the action. |
description | Yes | string | Description for the action. |
active | No | boolean | Indicates if the action is enabled. Default is false . |
target_amount | No | integer | The target amount for the action. |
end_date | No | string | The countdown date (ISO 8601 format) for this action. |
previous_participations | No | integer | The number of previous participations used for retention. |
external_reference | No | string | External reference for the action. |
send_initial_emails | No | boolean | When set to true , the initial emails will be sent when the action was successfully created, such as the welcome email. Please note that the action must be active in order to trigger the emails. If the action belongs to a project , make sure it is both approved and active as well. Default is false . |
Update an Action
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.actions.update(1, owner_id: 1)
curl -X PATCH https://api.kentaa.nl/v1/actions/1 \
-d '{ "owner_id": 1 }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"owner_id": 1
}
Example response body:
{
"action": {
"id": 1,
"slug": "john-doe",
"site_id": 1,
"created_at": "2015-08-26T14:50:14Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"who_type": "owner",
"first_name": "John",
"last_name": "Doe",
"fundraiser_page": true,
"title": "Lorem ipsum",
"description": "Dolorum animi qui nihil iure dolore velit. Rerum eius et quo.",
"target_amount": 1000,
"total_amount": "125.0",
"total_donations": 2,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"previous_participations": 1,
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate",
"registration_fee": {
"amount": "25.0",
"title": "Sign up fee"
},
"photos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/action_photo/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"questions": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "What is your age?",
"answer": "42"
}
]
}
}
Update attributes of an action on the current site.
HTTP request
PATCH https://api.kentaa.nl/v1/actions/:id
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
owner_id | No | integer | Owner identifier for this action. |
activity_id | No | integer | Activity identifier for the action. See also Activities. |
title | No | string | Title for the action. |
description | No | string | Description for the action. |
active | No | boolean | Indicates if the action is enabled. |
target_amount | No | integer | The target amount for the action. |
end_date | No | string | The countdown date (ISO 8601 format) for this action. |
previous_participations | No | integer | The number of previous participations used for retention. |
external_reference | No | string | External reference for the action. |
Activities
When signing up, a fundraiser can choose an activity to participate in, for example a certain distance or sport.
The available activities can be retrieved via this endpoint. These can then be used when creating or updating an Action.
Activity object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this activity. |
site_id | integer | Unique identifier for the site associated with the activity. |
created_at | string | The time (ISO 8601 format) when the activity was created. |
updated_at | string | The time (ISO 8601 format) when the activity was last updated. |
name | string | The name of the activity. |
sign_up_limit | integer | The number of sign ups (actions) that are allowed. optional |
sign_up_count | integer | The current sign up count (actions) for this activity. optional |
List Activities
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.activities
curl https://api.kentaa.nl/v1/activities \
-H "X-Api-Key: your_api_key"
Example response body:
{
"activities": [
{
"id": 1,
"site_id": 1,
"created_at": "2018-03-06T15:38:59Z",
"updated_at": "2018-03-06T15:38:59Z",
"name": "Walking",
"sign_up_limit": 50,
"sign_up_count": 0
},
{
"id": 2,
"site_id": 1,
"created_at": "2018-03-06T15:38:54Z",
"updated_at": "2023-05-05T07:57:14Z",
"name": "Biking",
"sign_up_limit": 50,
"sign_up_count": 42
}
]
}
Get a list of activities for the current site, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/activities
GET https://api.kentaa.nl/v1/segments/:segment_id/activities
GET https://api.kentaa.nl/v1/projects/:project_id/activities
Get an Activity
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.activities.get(1)
curl https://api.kentaa.nl/v1/activities/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"activity": {
"id": 1,
"site_id": 1,
"created_at": "2018-03-06T15:38:59Z",
"updated_at": "2018-03-06T15:38:59Z",
"name": "Walking",
"sign_up_limit": 50,
"sign_up_count": 0
}
}
Retrieve a specific activity for the current site, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/activities/:id
GET https://api.kentaa.nl/v1/segments/:segment_id/activities/:id
GET https://api.kentaa.nl/v1/projects/:project_id/activities/:id
Companies
A company represents a fundraising company page on a Community Fundraising Platform (CFP) site. It contains one or more company members, which are Actions.
Company object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this company. |
slug | string | Unique identifier for this company, used to create a nice company URL. |
site_id | integer | Unique identifier for the site associated with the company. |
segment_id | integer | Unique identifier for the segment associated with the company. optional |
project_id | integer | Unique identifier for the project associated with the company. optional |
created_at | string | The time (ISO 8601 format) when the company was created. |
updated_at | string | The time (ISO 8601 format) when the company was last updated. |
external_reference | string | External reference for the company. optional |
members | array | List of company members in this company. See Company - Member object. |
name | string | Name of the company. |
title | string | Title of the company. |
description | string | Description for the company. |
total_company_members | integer | The number of members for the company. |
target_amount | integer | The target amount for the company. |
total_amount | string | The amount that was donated to the company (with decimals). |
total_donations | integer | The number of donations for the company. |
reserved_spots | integer | The number of spots that have been reserved in the sign up flow for this company. |
target_amount_achieved | boolean | Indicates whether the company target amount is achieved or not. |
newsletter | boolean | Indicates whether the company contact subscribed to the newsletter or not. |
visible | boolean | Indicates whether the company is visible or not. |
countable | boolean | Indicates whether the company is included in the webpages and counters of parent levels of a closed project. |
closed | boolean | Indicates whether the company is closed or not. |
ended | boolean | Indicates whether the company is ended or not. |
activity | object | Represents the chosen activity. See Company - Activity object |
url | string | The URL to the company page. |
donate_url | string | The URL to directly make a donation to the company. |
member_sign_up_url | string | The URL to sign up to the company. |
billing | object | Contains billing information. See Company - Billing object. |
contact | object | The contact that is associated with the company. See Company - Contact object. optional |
photos | array | List of photos associated with the company. optional |
videos | array | List of videos associated with the company. optional |
questions | array | List of questions, when there are any additional questions associated with the company. See Company - Question object. optional |
package | object | Represents the chosen company package. |
consents | array | List of consents associated with the company. See Company - Consent object. optional |
Company - Activity object
This object contains information related to the chosen activity.
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the activity. |
name | string | Name of the activity |
Company - Billing object
This object contains billing information.
Attribute | Type | Description |
---|---|---|
attn | string | Invoice to person / department optional |
street | string | The street name of the company (only when country is NL ). optional |
house_number | string | The house number of the company (only when country is NL ). optional |
house_number_addition | string | The house number addition of the company (only when country is NL ). optional |
address | string | Address line 1 of the contact. optional |
address2 | string | Address line 2 of the contact. optional |
zipcode | string | The zip code of the company. |
city | string | The city of the company. |
country | string | The country of the company (ISO 3166-1 alpha-2 code). |
Company - Consent object
This object contains information about a specific consent a company starter has given, for example the processing of personal data when signing up.
Some consents can also be revoked later on by the company starter, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the company starter has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types (given by company starter) are:
Consent type | Description |
---|---|
terms_conditions | Accepting the terms and conditions. |
processing_personal_data | Accepting the processing of personal data. |
processing_personal_sensitive_data | Accepting the processing of sensitive personal data. |
contact_phone | Allowing use of the phone number for tips. |
contact_phone_commercial | Allowing use of the phone number for marketing purposes. |
Company - Contact object
Attribute | Type | Description |
---|---|---|
first_name | string | The first name of the contact. |
infix | string | The infix of the contact. optional |
last_name | string | The last name of the contact. |
string | The email address of the contact. | |
address | string | Address line 1 of the contact. optional |
address2 | string | Address line 2 of the contact. optional |
street | string | The street name of the contact (only when country is NL ). optional |
house_number | string | The house number of the contact (only when country is NL ). optional |
house_number_addition | string | The house number addition of the contact (only when country is NL ). optional |
zipcode | string | The zip code of the contact. optional |
city | string | The city of the contact. optional |
country | string | The country of the contact (ISO 3166-1 alpha-2 code). optional |
phone | string | The phone number of the contact. optional |
birthday | string | The birthday (ISO 8601 format) of the contact. optional |
gender | string | The gender of the contact (male , female , neutral ). optional |
locale | string | The locale when the company contact was created (nl , en , de , fr , etc). |
Company - Member object
The Company - Member object is a subset of the Action object:
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the company member action. |
owner | object | Represents the owner of the company member action. See Action - Owner object. |
first_name | string | The first name of the fundraiser. |
infix | string | The infix of the fundraiser. optional |
last_name | string | The last name of the fundraiser. |
avatar_url | string | The URL to the avatar image of the fundraiser. optional |
url | string | The URL to the company member action. |
donate_url | string | The URL to directly make a donation to the company member action. |
Company - Package object
This represents the chosen company package.
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this package. |
amount | string | Total cost of the package (with decimals). |
title | string | Title of the package. |
description | string | Description of the package. |
created_at | string | The time (ISO 8601 format) when the package was created. |
updated_at | string | The time (ISO 8601 format) when the package was last updated. |
reservation_type | integer | Type of reservation for the company package. Values: (specific or custom ). |
reservation_limit | integer | When type reservation is specific , then this field shows the reservation limit. optional |
Company - Question object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this question. |
created_at | string | The time (ISO 8601 format) when the question was created. |
updated_at | string | The time (ISO 8601 format) when the question was last updated. |
question | string | The question on the sign up form. |
answer | string | The answer that was given for this question. |
List Companies
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.companies
curl https://api.kentaa.nl/v1/companies \
-H "X-Api-Key: your_api_key"
Example response body:
{
"companies": [
{
"id": 1,
"slug": "asperiores-beatae-voluptate-qui",
"segment_id": 2,
"project_id": 3,
"site_id": 6,
"created_at": "2015-08-26T14:51:35Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"members": [
{
"id": 9,
"owner": {
"id": 8,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
},
{
"id": 3,
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
}
],
"name": "Asperiores beatae voluptate qui.",
"title": "Vero aspernatur dolores et excepturi.",
"description": "Cum odio est. Consequuntur occaecati sapiente molestiae quam recusandae possimus aut. Ratione cum harum beatae ad repellat minus.",
"commerce_number": "12345678",
"total_company_members": 2,
"target_amount": 2000,
"total_amount": "225.0",
"total_donations": 4,
"reserved_spots": 10,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"activity": {
"id": 12,
"name": "Activity name"
},
"url": "https://demo1.community-fundraising.com/company/asperiores-beatae-voluptate-qui",
"donate_url": "https://demo1.community-fundraising.com/company/asperiores-beatae-voluptate-qui/donate",
"member_sign_up_url": "https://demo1.community-fundraising.com/participate/companies/c9ddaa602de6b76138c4cc31534c9a14ce5404e2",
"billing": {
"attn": "Example text",
"street": "Jansbuitensingel",
"house_number": "29",
"house_number_addition": "",
"address": "Jansbuitensingel 29",
"address2": "",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
},
"photos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/company_photo/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"videos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/company_video/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"questions": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "What is your age?",
"answer": "42"
}
],
"package": {
"id": 1,
"amount": "10.0",
"title": "Package title",
"description": "Package description",
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"reservation_type": "specific",
"reservation_limit": 10
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
},
{
"consent_type": "processing_personal_data",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "Yes, I explicitly give permission to process my personal data.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
}
]
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/companies?page=8&per_page=1",
"next": "https://api.kentaa.nl/v1/companies?page=2&per_page=1"
}
},
"total_entries": 8,
"total_pages": 8,
"per_page": 1,
"current_page": 1
}
Get a list of companies for the current site, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/companies
GET https://api.kentaa.nl/v1/segments/:segment_id/companies
GET https://api.kentaa.nl/v1/projects/:project_id/companies
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
include | When set to members.owner , include the full owner object of members in the result. |
Get a Company
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.companies.get(1)
client.companies.get('asperiores-beatae-voluptate-qui')
curl https://api.kentaa.nl/v1/companies/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/companies/asperiores-beatae-voluptate-qui \
-H "X-Api-Key: your_api_key"
Example response body:
{
"company": {
"id": 1,
"slug": "asperiores-beatae-voluptate-qui",
"segment_id": 2,
"project_id": 3,
"site_id": 6,
"created_at": "2015-08-26T14:51:35Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"members": [
{
"id": 9,
"owner": {
"id": 8,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
},
{
"id": 3,
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
}
],
"name": "Asperiores beatae voluptate qui.",
"title": "Vero aspernatur dolores et excepturi.",
"description": "Cum odio est. Consequuntur occaecati sapiente molestiae quam recusandae possimus aut. Ratione cum harum beatae ad repellat minus.",
"commerce_number": "12345678",
"total_company_members": 2,
"target_amount": 2000,
"total_amount": "225.0",
"total_donations": 4,
"reserved_spots": 10,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"activity": {
"id": 12,
"name": "Activity name"
},
"url": "https://demo1.community-fundraising.com/company/asperiores-beatae-voluptate-qui",
"donate_url": "https://demo1.community-fundraising.com/company/asperiores-beatae-voluptate-qui/donate",
"member_sign_up_url": "https://demo1.community-fundraising.com/participate/companies/c9ddaa602de6b76138c4cc31534c9a14ce5404e2",
"billing": {
"attn": "Example text",
"street": "Jansbuitensingel",
"house_number": "29",
"house_number_addition": "",
"address": "Jansbuitensingel 29",
"address2": "",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
},
"photos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/company_photo/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"videos": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"url": "https://cdn.kentaa.nl/carousel/file/company_video/64/normal_53ca327debf5667a5efa03f3e87ba1c5b9f806a1.JPG"
}
],
"questions": [
{
"id": 2,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "What is your age?",
"answer": "42"
}
],
"package": {
"id": 1,
"amount": "10.0",
"title": "Package title",
"description": "Package description",
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"reservation_type": "specific",
"reservation_limit": 10
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
},
{
"consent_type": "processing_personal_data",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "Yes, I explicitly give permission to process my personal data.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
}
]
}
}
Retrieve a specific company on the current site. Companies can be queried by ID or slug.
HTTP request
GET https://api.kentaa.nl/v1/companies/:id
GET https://api.kentaa.nl/v1/companies/:slug
Query parameters
Parameter | Description |
---|---|
include | When set to members.owner , include the full owner object of members in the result. |
Donation forms
Donation forms are standalone donation pages that can be individually customized.
Use the Donations endpoint endpoint to retrieve the donations for a form.
Donation form object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this donation form. |
slug | string | Unique identifier for this donation form, used to create a nice URL. |
site_id | integer | Unique identifier for the site associated with the donation form. |
created_at | string | The time (ISO 8601 format) when the donation form was created. |
updated_at | string | The time (ISO 8601 format) when the donation form was last updated. |
external_reference | string | External reference for the donation form. optional |
owner | object | Represents the owner for the donation form. See Donation form - Owner object. |
title | string | Title for the donation form. |
description | string | Description for the donation form. |
total_amount | string | The amount that was donated to the donation form (with decimals). |
total_donations | integer | The number of donations for the donation form. |
published | boolean | Indicates whether the donation form is published or not. |
visible | boolean | Indicates whether the donation form is visible or not. |
banners | array | List of banners associated with the donation form. optional |
Donation form - Owner object
The Donation form - Owner object is a subset of the User object:
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the action owner. |
first_name | string | The first name of the owner. |
infix | string | The infix of the owner. optional |
last_name | string | The last name of the owner. |
string | The email address of the owner. | |
avatar_url | string | The URL to the avatar image of the owner. optional |
List Donation forms
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.donation_forms
curl https://api.kentaa.nl/v1/donation_forms \
-H "X-Api-Key: your_api_key"
Example response body:
{
"donation_forms": [
{
"id": 1,
"slug": "form",
"site_id": 1,
"created_at": "2020-04-16T13:58:37Z",
"updated_at": "2020-10-30T14:35:27Z",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"title": "Lorem ipsum dolor sit amet",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"total_amount": "95.0",
"total_donations": 4,
"published": true,
"visible": true,
"url": "https://demo1.community-fundraising.com/form"
}
],
"total_entries": 5,
"total_pages": 1,
"per_page": 25,
"current_page": 1
}
Get a list of actions for the current site, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/donation-forms
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
include | When set to owner , include the full owner object in the result. |
Get a Donation form
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.donation_forms.get(1)
client.donation_forms.get('lorem-ipsum')
curl https://api.kentaa.nl/v1/donation-forms/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/donation-forms/lorem-ipsum \
-H "X-Api-Key: your_api_key"
Example response body:
{
"donation_form": {
"id": 1,
"slug": "form",
"site_id": 1,
"created_at": "2020-04-16T13:58:37Z",
"updated_at": "2020-10-30T14:35:27Z",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"title": "Lorem ipsum dolor sit amet",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"total_amount": "95.0",
"total_donations": 4,
"published": true,
"visible": true,
"url": "https://demo1.community-fundraising.com/form"
}
}
Retrieve a specific donation form on the current site. Donation forms can be queried by ID or slug.
HTTP request
GET https://api.kentaa.nl/v1/donations-forms/:id
GET https://api.kentaa.nl/v1/donations-forms/:slug
Query parameters
Parameter | Description |
---|---|
include | When set to owner , include the full owner object in the result. |
Donations
A donation is a transaction of funds to a specific entity. Donations can optionally have a registration amount for events that require a registration fee. A donation can also have a reward when offered in return for the donation (Crowdfunding).
Donation object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this donation. |
site_id | integer | Unique identifier for the site associated with the donation. |
donation_form_id | integer | Unique identifier for the donation form associated with the donation. optional |
segment_id | integer | Unique identifier for the segment associated with the donation. optional |
project_id | integer | Unique identifier for the project associated with the donation. optional |
company_id | integer | Unique identifier for the company associated with the donation. optional |
team_id | integer | Unique identifier for the team associated with the donation. optional |
action_id | integer | Unique identifier for the action associated with the donation. optional |
recurring_donor_id | integer | Unique identifier for the recurring donor associated with the donation. optional |
created_at | string | The time (ISO 8601 format) when the donation was created. |
updated_at | string | The time (ISO 8601 format) when the donation was last updated. |
first_name | string | The first name of the donator. optional |
infix | string | The infix of the donator. optional |
last_name | string | The last name of the donator. optional |
company | string | Company name for the donator. optional |
anonymous | boolean | Indicates whether the name of the donor is visible on the website. |
contact_details_type | string | Indicates whether the contact details of the donor may be shared with the initiator of this fundraiser (unknown , visible or protected . When set to visible , contact details may be shared. When set to protected , contact details are only visible for site managers). |
string | The email address of the donator. optional | |
message | string | The personal message of the donator. optional |
newsletter | boolean | Indicates if the donator subscribed to the newsletter. |
device_type | string | The device type that was used while submitting the donation form (desktop , tablet or phone ). optional |
locale | string | The locale that was used while submitting the donation form (nl , en , de , fr , etc). |
frequency_type | string | Indicates if this was one-off donation (oneoff ) or recurring (monthly , annually ). When recurring, the field recurring_donor_id will be set to the associated recurring donor. |
currency | string | The currency (ISO 4217 code) that was used when paying the donation. |
donation_amount instead. deprecated |
||
transaction_costs | string | The contribution to transaction costs (with decimals). optional |
start_donation | boolean | Indicates if this donation was used as a "start donation" in the sign up form. |
registration_fee | boolean | Indicates if there is a registration fee present. |
registration_fee_amount | string | The registration fee amount (with decimals). optional |
company_registration_fee | boolean | Indicates if there is a company registration fee present. |
company_registration_fee_amount | string | The company registration fee amount (with decimals). optional |
donation_amount | string | The amount donated (with decimals). |
total_amount | string | Total amount of the donation (amount + contribution transaction costs + registration fee + company registration fee). |
receivable_amount | string | The amount that the customer will receive when being payed out (total_amount minus payment processing / Kentaa fees). |
countable | boolean | Indicates whether the donation is included in the webpages and counters of parent levels of a closed project. |
invoicenumber | string | Unique reference to be used as invoice number. |
payment_method | string | The payment method used to make the donation. |
payment_status | string | The payment status of the donation (pledged , refunded , chargedback , canceled , paid , started , unknown ). |
payment_status_at | string | The time (ISO 8601 format) when the payment status was last changed. |
transaction_id | string | The transaction ID from the PSP for the donation. |
payment_id | string | The payment ID from the PSP for the donation. |
payment_description | string | The payment description from the PSP for the donation. |
account_iban | string | The IBAN of the donator. optional |
account_bic | string | The BIC of the donator. optional |
account_name | string | The account name of the donator. optional |
target_url | string | The URL where the donation was made to. |
questions | array | List of questions, when there are any additional questions associated with the donation form. See Donation - Question object. optional |
reward | object | A reward was offered in return for the donation. See Donation - Reward object. optional |
address | object | The address information associated to the donation and/or reward. Donation - Address object. optional |
birthday | string | The birthday (ISO 8601 format) of the donator. optional |
gender | string | The gender of the donator (male , female , neutral ). optional |
phone | string | The phone number of the donator. optional |
consents instead. deprecated |
||
consents | array | List of consents associated with the donation. See Donation - Consent object. optional |
Donation - Address object
Attribute | Type | Description |
---|---|---|
address | string | Address line 1. |
address2 | string | Address line 2. optional |
street | string | The street name (only when country is NL ). optional |
house_number | string | The house number (only when country is NL ). optional |
house_number_addition | string | The house number addition (only when country is NL ). optional |
zipcode | string | The zip code. |
city | string | The city. |
country | string | The country (ISO 3166-1 alpha-2 code). |
Donation - Consent object
This object contains information about a specific consent a donor has given, for example the processing of personal data when donating.
Some consents can also be revoked later on by the donor, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the donor has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types (given by donors) are:
Consent type | Description |
---|---|
terms_conditions | Accepting the terms and conditions. |
contact_phone_commercial | Allowing use of the phone number for marketing purposes. |
Donation - Question object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this question. |
created_at | string | The time (ISO 8601 format) when the question was created. |
updated_at | string | The time (ISO 8601 format) when the question was last updated. |
question | string | The question on the donation form. |
answer | string | The answer that was given for this question. |
Donation - Reward object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this reward. |
type | string | Type for this reward (ProjectReward , SegmentReward or SiteReward ). |
amount | string | The amount of this reward (with decimals). |
title | string | The title of this reward. |
description | string | The description of this reward. |
ask_for_address | boolean | Indicates if address information was required for this reward and was asked on the donation form. When true , the response will also include a Donation - Address object. |
List Donations
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.donations
curl https://api.kentaa.nl/v1/donations \
-H "X-Api-Key: your_api_key"
Example response body:
{
"donations": [
{
"id": 1,
"site_id": 1,
"created_at": "2016-03-30T14:41:48Z",
"updated_at": "2016-03-30T14:46:25Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"contact_details_type": "visible",
"email": "john.doe@iraiser.eu",
"newsletter": false,
"device_type": "desktop",
"locale": "nl",
"frequency_type": "oneoff",
"currency": "EUR",
"amount": "15.0",
"transaction_costs": "0.4",
"start_donation": false,
"registration_fee": true,
"registration_fee_amount": "10.0",
"company_registration_fee": false,
"total_amount": "25.4",
"receivable_amount": "24.0",
"countable": true,
"invoicenumber": "T2016.0001.0000001",
"payment_method": "ideal",
"payment_status": "paid",
"payment_status_at": "2016-03-30T14:46:25Z",
"transaction_id": "B5C7B7BCAF1ADF6E2032C7CF56969876",
"payment_id": "116D10DD544ECD1E2D77762C5C3E6D61",
"payment_description": "Donatie Demo",
"target_url": "https://demo1.community-fundraising.com/",
"questions": [
{
"id": 1,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "Gender",
"answer": "male"
}
],
"reward": {
"id": 1,
"type": "SiteReward",
"amount": "10.0",
"title": "Awesome reward",
"description": "Lorem ipsum",
"ask_for_address": true
},
"address": {
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
}
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/donations?page=31&per_page=1",
"next": "https://api.kentaa.nl/v1/donations?page=2&per_page=1"
}
},
"total_entries": 31,
"total_pages": 31,
"per_page": 1,
"current_page": 1
}
Get a list of donations for the current site, donation form, recurring donor, segment, project, company, team or action.
HTTP request
GET https://api.kentaa.nl/v1/donations
GET https://api.kentaa.nl/v1/donation-forms/:donation_form_id/donations
GET https://api.kentaa.nl/v1/recurring-donors/:recurring_donor_id/donations
GET https://api.kentaa.nl/v1/segments/:segment_id/donations
GET https://api.kentaa.nl/v1/projects/:project_id/donations
GET https://api.kentaa.nl/v1/companies/:company_id/donations
GET https://api.kentaa.nl/v1/teams/:team_id/donations
GET https://api.kentaa.nl/v1/actions/:action_id/donations
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
invoicenumber | Show results filtered on invoicenumber . |
Get a Donation
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.donations.get(1)
curl https://api.kentaa.nl/v1/donations/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"donation": {
"id": 1,
"site_id": 1,
"created_at": "2016-03-30T14:41:48Z",
"updated_at": "2016-03-30T14:46:25Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"contact_details_type": "visible",
"email": "john.doe@iraiser.eu",
"newsletter": false,
"device_type": "desktop",
"locale": "nl",
"frequency_type": "oneoff",
"currency": "EUR",
"amount": "15.0",
"transaction_costs": "0.4",
"start_donation": false,
"registration_fee": true,
"registration_fee_amount": "10.0",
"company_registration_fee": false,
"total_amount": "25.4",
"receivable_amount": "24.0",
"countable": true,
"invoicenumber": "T2016.0001.0000001",
"payment_method": "ideal",
"payment_status": "paid",
"payment_status_at": "2016-03-30T14:46:25Z",
"transaction_id": "B5C7B7BCAF1ADF6E2032C7CF56969876",
"payment_id": "116D10DD544ECD1E2D77762C5C3E6D61",
"payment_description": "Donatie Demo",
"target_url": "https://demo1.community-fundraising.com/",
"questions": [
{
"id": 1,
"created_at": "2015-08-26T14:50:16Z",
"updated_at": "2015-08-26T14:50:20Z",
"question": "Gender",
"answer": "male"
}
],
"reward": {
"id": 1,
"type": "SiteReward",
"amount": "10.0",
"title": "Awesome reward",
"description": "Lorem ipsum",
"ask_for_address": true
},
"address": {
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"consent": {
"url": "https://demo1.community-fundraising.com/donate",
"text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"version": "V2 22-06-2018 13:09"
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2016-03-30T14:41:48Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/donate",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
}
]
}
}
Retrieve a specific donation on the current site.
HTTP request
GET https://api.kentaa.nl/v1/donations/:id
Manual donations
A manual donation is a customly added amount of funds to an entity. They can be used to adjust the donations counter, with either a positive or negative amount. They are also used to add donations (e.g. to a project) which have been donated through other channels but need to be visible on the website.
A manual donation is not associated with a transaction and also does not have any other associations such as questions, rewards, profiles, etc.
Manual donation object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this manual donation. |
site_id | integer | Unique identifier for the site associated with the manual donation. |
donation_form_id | integer | Unique identifier for the donation form associated with the manual donation. optional |
segment_id | integer | Unique identifier for the segment associated with the manual donation. optional |
project_id | integer | Unique identifier for the project associated with the manual donation. optional |
company_id | integer | Unique identifier for the company associated with the donation. optional |
team_id | integer | Unique identifier for the team associated with the manual donation. optional |
action_id | integer | Unique identifier for the action associated with the manual donation. optional |
created_at | string | The time (ISO 8601 format) when the manual donation was created. |
updated_at | string | The time (ISO 8601 format) when the manual donation was last updated. |
first_name | string | The first name of the donator. optional |
infix | string | The infix of the donator. optional |
last_name | string | The last name of the donator. optional |
anonymous | boolean | Indicates whether the name of the donor is visible on the website. |
string | The email address of the donator. optional | |
message | string | The personal message of the donator. optional |
currency | string | The currency (ISO 4217 code) that was used when created the manual donation. |
amount | string | The manual donation amount (with decimals). |
countable | boolean | Indicates whether the manual donation is included in the webpages and counters of parent levels of a closed project. |
target_url | string | The URL where the manual donation was created for. |
List Manual donations
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.manual_donations
curl https://api.kentaa.nl/v1/manual-donations \
-H "X-Api-Key: your_api_key"
Example response body:
{
"manual_donations": [
{
"id": 1,
"site_id": 1,
"created_at": "2019-12-02T09:22:00Z",
"updated_at": "2019-12-02T09:22:45Z",
"first_name": "Beheer",
"last_name": "Kentaa",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"currency": "EUR",
"amount": "100.0",
"countable": true,
"target_url": "https://demo1.community-fundraising.com/"
}
],
"total_entries": 4,
"total_pages": 1,
"per_page": 25,
"current_page": 1
}
Get a list of manual donations for the current site, donation form, segment, project, team, action or company.
HTTP request
GET https://api.kentaa.nl/v1/manual-donations
GET https://api.kentaa.nl/v1/donation-forms/:donation_form_id/manual-donations
GET https://api.kentaa.nl/v1/segments/:segment_id/manual-donations
GET https://api.kentaa.nl/v1/projects/:project_id/manual-donations
GET https://api.kentaa.nl/v1/teams/:team_id/manual-donations
GET https://api.kentaa.nl/v1/actions/:action_id/manual-donations
GET https://api.kentaa.nl/v1/companies/:company_id/manual-donations
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Manual donation
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.manual_donations.get(1)
curl https://api.kentaa.nl/v1/manual-donations/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"manual_donation": {
"id": 1,
"site_id": 1,
"created_at": "2019-12-02T09:22:00Z",
"updated_at": "2019-12-02T09:22:45Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"currency": "EUR",
"amount": "100.0",
"countable": true,
"target_url": "https://demo1.community-fundraising.com/"
}
}
Retrieve a specific manual donation on the current site.
HTTP request
GET https://api.kentaa.nl/v1/manual-donations/:id
Create a Manual donation
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.manual_donations.create(
first_name: 'John',
last_name: 'Doe',
amount: '12.50'
)
curl https://api.kentaa.nl/v1/manual-donations \
-d '{ "first_name": "John", "last_name": "Doe", "amount": "12.50" }'
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"first_name": "John",
"last_name": "Doe",
"amount": "12.50"
}
Example response body:
{
"manual_donation": {
"id": 1,
"site_id": 1,
"created_at": "2019-12-02T09:22:00Z",
"updated_at": "2019-12-02T09:22:45Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"currency": "EUR",
"amount": "12.50",
"countable": true,
"target_url": "https://demo1.community-fundraising.com/"
}
}
Create a new manual donation on the current site, donation form, segment, project, team or action.
HTTP request
POST https://api.kentaa.nl/v1/manual-donations
POST https://api.kentaa.nl/v1/donation-forms/:donation_form_id/manual-donations
POST https://api.kentaa.nl/v1/segments/:segment_id/manual-donations
POST https://api.kentaa.nl/v1/projects/:project_id/manual-donations
POST https://api.kentaa.nl/v1/teams/:team_id/manual-donations
POST https://api.kentaa.nl/v1/actions/:action_id/manual-donations
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
first_name | Yes | string | The first name of the donator. |
infix | No | string | The infix of the donator. |
last_name | Yes | string | The last name of the donator. |
anonymous | No | boolean | Indicates whether the name of the donor is visible on the website. Default is false . |
No | string | The email address of the donator. | |
amount | Yes | string | The manual donation amount (with decimals). |
message | No | string | The personal message of the donator. |
matching | No | boolean | When match funding is enabled, then match this donation. Default is false . |
Update a Manual donation
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.manual_donations.update(1, amount: 50)
curl -X PATCH https://api.kentaa.nl/v1/manual-donations/1 \
-d '{ "amount": 50 }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"amount": 50
}
Example response body:
{
"manual_donation": {
"id": 1,
"site_id": 1,
"created_at": "2019-12-02T09:22:00Z",
"updated_at": "2019-12-02T09:22:45Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"currency": "EUR",
"amount": "50.0",
"countable": true,
"target_url": "https://demo1.community-fundraising.com/"
}
}
Update attributes of a manual donation on the current site.
HTTP request
PATCH https://api.kentaa.nl/v1/manual-donations/:id
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
first_name | No | string | The first name of the donator. |
infix | No | string | The infix of the donator. |
last_name | No | string | The last name of the donator. |
anonymous | No | boolean | Indicates whether the name of the donor is visible on the website. |
No | string | The email address of the donator. | |
amount | No | string | The manual donation amount (with decimals). |
message | No | string | The personal message of the donator. |
Delete a Manual donation
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.manual_donations.delete(1)
curl -X DELETE https://api.kentaa.nl/v1/manual-donations/1 \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Delete a manual donation on the current site.
HTTP request
DELETE https://api.kentaa.nl/v1/manual-donations/:id
On success, the response status code will be 204
with an empty body.
Newsletter subscriptions
A newsletter subscription is be made by filling in the email address in the form on the homepage, or by selecting the checkbox "I want to subscribe to the newsletter" on the donation form.
Newsletter subscription object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this newsletter subscription. |
site_id | integer | Unique identifier for the site associated with the newsletter subscription. |
donation_form_id | integer | Unique identifier for the donation form associated with the donation. optional |
segment_id | integer | Unique identifier for the segment associated with the newsletter subscription. optional |
project_id | integer | Unique identifier for the project associated with the newsletter subscription. optional |
created_at | string | The time (ISO 8601 format) when the newsletter subscription was created. |
updated_at | string | The time (ISO 8601 format) when the newsletter subscription was last updated. |
first_name | string | The first name of the subscription. optional |
infix | string | The infix of the subscription. optional |
last_name | string | The last name of the subscription. optional |
string | The email address of the subscription. | |
locale | string | The locale that was used while submitting the subscription form (nl , en , de , fr , etc). |
subscription_url | string | The URL that was used when the subscription form was submitted. |
consents instead. deprecated |
||
consents | array | List of consents associated with the subscription. See Newsletter subscription - Consent object. optional |
Newsletter subscription - Consent object
This object contains information about a specific consent a user has given.
Some consents can also be revoked later on by the user, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the user has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types are:
Consent type | Description |
---|---|
newsletter_subscription | Accepting to receive the newsletter. |
List Newsletter subscriptions
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.newsletter_subscriptions
curl https://api.kentaa.nl/v1/newsletter-subscriptions \
-H "X-Api-Key: your_api_key"
Example response body:
{
"newsletter_subscriptions": [
{
"id": 1,
"site_id": 1,
"created_at": "2016-03-07T13:55:43Z",
"updated_at": "2016-03-07T13:55:43Z",
"email": "john.doe@iraiser.eu",
"locale": "nl",
"subscription_url": "https://demo1.community-fundraising.com"
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/newsletter-subscriptions?page=5&per_page=1",
"next": "https://api.kentaa.nl/v1/newsletter-subscriptions?page=2&per_page=1"
}
},
"total_entries": 5,
"total_pages": 5,
"per_page": 1,
"current_page": 1
}
Get a list of newsletter subscriptions for the current site, donation form, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/newsletter-subscriptions
GET https://api.kentaa.nl/v1/donation-forms/:donation_form_id/newsletter-subscriptions
GET https://api.kentaa.nl/v1/segments/:segment_id/newsletter-subscriptions
GET https://api.kentaa.nl/v1/projects/:project_id/newsletter-subscriptions
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Newsletter subscription
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.newsletter_subscriptions.get(1)
curl https://api.kentaa.nl/v1/newsletter-subscriptions/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"newsletter_subscription": {
"id": 1,
"site_id": 1,
"created_at": "2016-03-07T13:55:43Z",
"updated_at": "2016-03-07T13:55:43Z",
"email": "john.doe@iraiser.eu",
"locale": "nl",
"subscription_url": "https://demo1.community-fundraising.com",
"consent": {
"url": "https://demo1.community-fundraising.com",
"text": "Ja, ik wil de nieuwsbrief ontvangen",
"version": "V2 22-06-2018 13:09"
},
"consents": [
{
"consent_type": "newsletter_subscription",
"consent_status": "granted",
"granted_at": "2016-03-07T13:55:43Z",
"consent_text": "Ja, ik wil de nieuwsbrief ontvangen",
"url": "https://demo1.community-fundraising.com/",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
}
]
}
}
Retrieve a specific newsletter subscription on the current site.
HTTP request
GET https://api.kentaa.nl/v1/newsletter-subscriptions/:id
Orders
An order consists of a list of products purchased by the customer.
Order object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this order. |
site_id | integer | Unique identifier for the site associated with the order. |
action_id | integer | Unique identifier for the action associated with the order. |
created_at | string | The time (ISO 8601 format) when the order was created. |
updated_at | string | The time (ISO 8601 format) when the order was last updated. |
invoicenumber | string | Unique reference to be used as invoice number. |
total_amount | string | Total amount of the order. |
currency | string | The currency (ISO 4217 code) that was used when paying the order. |
payment_status | string | The payment status of the order (refunded , chargedback , canceled , paid , started , unknown ). |
first_name | string | The first name of the customer. optional |
infix | string | The infix of the customer. optional |
last_name | string | The last name of the customer. optional |
company | string | Company name for the customer. optional |
string | The email address of the customer. optional | |
address | object | The address information associated to the order. See Order - Address object. optional |
phone | string | The phone number of the customer. optional |
locale | string | The locale that was used while submitting the order form (nl , en , de , fr , etc). |
items | array | List of items associated with the order. See Order - Item object. |
Order - Address object
Attribute | Type | Description |
---|---|---|
address | string | Address line 1. |
address2 | string | Address line 2. optional |
street | string | The street name (only when country is NL ). optional |
house_number | string | The house number (only when country is NL ). optional |
house_number_addition | string | The house number addition (only when country is NL ). optional |
zipcode | string | The zip code. |
city | string | The city. |
country | string | The country (ISO 3166-1 alpha-2 code). |
Order - Item object
Attribute | Type | Description |
---|---|---|
product | object | The product information associated to the item. See Order - Product object. |
quantity | integer | The quantity of the product. |
amount | string | The product price based on the quantity. |
currency | string | The amount currency (ISO 4217 code). |
Order - Product object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier of the product. optional |
variant_id | integer | Unique identifier of the product variant. optional |
title | string | Title of the product. |
variant_title | string | Variant of the product. optional |
price | string | Price of the product variant or product. |
currency | string | The price currency (ISO 4217 code). |
List Orders
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.orders
curl https://api.kentaa.nl/v1/orders \
-H "X-Api-Key: your_api_key"
Example response body:
{
"orders": [
{
"id": 21059,
"site_id": 4,
"action_id": 8755,
"created_at": "2021-03-30T14:41:48Z",
"updated_at": "2021-03-30T14:46:25Z",
"invoicenumber": "T2021.0004.0000001",
"total_amount": "65.0",
"currency": "EUR",
"payment_status": "paid",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": {
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"phone": "0262616240",
"locale": "nl",
"items": [
{
"product": {
"id": 26,
"variant_id": 3,
"title": "Sweater",
"variant_title": "XL",
"price": "25.0",
"currency": "EUR"
},
"quantity": 2,
"amount": "50.0",
"currency": "EUR"
},
{
"product": {
"id": 25,
"variant_id": 2,
"title": "T-shirt",
"variant_title": "L",
"price": "15.0",
"currency": "EUR"
},
"quantity": 1,
"amount": "15.0",
"currency": "EUR"
}
]
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/orders?page=31&per_page=1",
"next": "https://api.kentaa.nl/v1/orders?page=2&per_page=1"
}
},
"total_entries": 31,
"total_pages": 31,
"per_page": 1,
"current_page": 1
}
Get a list of orders for the current site or action.
HTTP request
GET https://api.kentaa.nl/v1/orders
GET https://api.kentaa.nl/v1/actions/:action_id/orders
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get an Order
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.orders.get(1)
curl https://api.kentaa.nl/v1/orders/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"order": {
"id": 21059,
"site_id": 4,
"action_id": 8755,
"created_at": "2021-03-30T14:41:48Z",
"updated_at": "2021-03-30T14:46:25Z",
"invoicenumber": "T2021.0004.0000001",
"total_amount": "65.0",
"currency": "EUR",
"payment_status": "paid",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": {
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"phone": "0262616240",
"locale": "nl",
"items": [
{
"product": {
"id": 26,
"variant_id": 3,
"title": "Sweater",
"variant_title": "XL",
"price": "25.0",
"currency": "EUR"
},
"quantity": 2,
"amount": "50.0",
"currency": "EUR"
},
{
"product": {
"id": 25,
"variant_id": 2,
"title": "T-shirt",
"variant_title": "L",
"price": "15.0",
"currency": "EUR"
},
"quantity": 1,
"amount": "15.0",
"currency": "EUR"
}
]
}
}
Retrieve a specific order on the current site.
HTTP request
GET https://api.kentaa.nl/v1/orders/:id
Payments
Represents a payment on a Community Fundraising Platform (CFP) site, which can contain one or more Donations and Orders.
Payment object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this payment. |
site_id | integer | Unique identifier for the site associated with the payment. |
created_at | string | The time (ISO 8601 format) when the payment was created. |
updated_at | string | The time (ISO 8601 format) when the payment was last updated. |
currency | string | The currency (ISO 4217 code) that was used in the payment. |
amount | string | The charged amount (with decimals). |
invoicenumber | string | Unique reference to be used as invoice number. |
payment_method | string | The payment method used to make the payment. |
payment_status | string | The payment status of the payment (refunded , chargedback , canceled , paid , started , unknown ). |
transaction_id | string | The transaction ID from the PSP for the payment. |
payment_id | string | The payment ID from the PSP for the payment. |
account_iban | string | The IBAN of the consumer. optional |
account_bic | string | The BIC of the consumer. optional |
account_name | string | The account name of the consumer. optional |
description | string | The payment description from the PSP for the payment. |
donations | array | List of donations associated with the payment. |
orders | array | List of orders associated with the payment. |
Get a Payment
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.payments.get(1)
curl https://api.kentaa.nl/v1/payments/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/payments/T2021.0004.0000001 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"payment": {
"id": 1,
"site_id": 4,
"created_at": "2021-03-30T14:41:48Z",
"updated_at": "2021-03-30T14:46:25Z",
"currency": "EUR",
"amount": "90.4",
"invoicenumber": "T2021.0004.0000001",
"payment_method": "ideal",
"payment_status": "paid",
"transaction_id": "B5C7B7BCAF1ADF6E2032C7CF56969876",
"payment_id": "116D10DD544ECD1E2D77762C5C3E6D61",
"account_iban": "NL44RABO0123456789",
"account_bic": "RABONL2U",
"account_name": "J. de Tester",
"description": "Example payment",
"donations": [
{
"id": 1,
"site_id": 4,
"created_at": "2021-03-30T14:41:48Z",
"updated_at": "2021-03-30T14:46:25Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"contact_details_type": "visible",
"email": "john.doe@iraiser.eu",
"newsletter": false,
"device_type": "desktop",
"locale": "nl",
"frequency_type": "oneoff",
"currency": "EUR",
"amount": "15.0",
"transaction_costs": "0.4",
"start_donation": false,
"registration_fee": true,
"registration_fee_amount": "10.0",
"total_amount": "25.4",
"receivable_amount": "24.0",
"countable": true,
"invoicenumber": "T2021.0004.0000001",
"payment_method": "ideal",
"payment_status": "paid",
"payment_status_at": "2016-03-30T14:46:25Z",
"transaction_id": "B5C7B7BCAF1ADF6E2032C7CF56969876",
"payment_id": "116D10DD544ECD1E2D77762C5C3E6D61",
"payment_description": "Donatie Demo",
"target_url": "https://demo1.community-fundraising.com/",
}
],
"orders": [
{
"id": 21059,
"site_id": 4,
"action_id": 8755,
"created_at": "2021-03-30T14:41:48Z",
"updated_at": "2021-03-30T14:46:25Z",
"invoicenumber": "T2021.0004.0000001",
"total_amount": "65.0",
"currency": "EUR",
"payment_status": "paid",
"first_name": "John",
"last_name": "Doe",
"address": {
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL"
},
"items": [
{
"product": {
"id": 26,
"variant_id": 3,
"title": "Sweater",
"variant_title": "XL",
"price": "25.0",
"currency": "EUR"
},
"quantity": 2,
"amount": "50.0",
"currency": "EUR"
},
{
"product": {
"id": 25,
"variant_id": 2,
"title": "T-shirt",
"variant_title": "L",
"price": "15.0",
"currency": "EUR"
},
"quantity": 1,
"amount": "15.0",
"currency": "EUR"
}
]
}
]
}
}
Retrieve a specific payment on the current site. A payment can be queried by ID or invoicenumber.
All associated donations and orders will be included in the response without pagination.
HTTP request
GET https://api.kentaa.nl/v1/payments/:id
GET https://api.kentaa.nl/v1/payments/:invoicenumber
Performances
With performances, fundraisers can add sporting performances to their fundraising page. The covered distance will be added up and displayed on the fundraising page.
Performance object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this performance. |
action_id | integer | Unique identifier for the action associated with the performance. |
created_at | string | The time (ISO 8601 format) when the performance was created. |
updated_at | string | The time (ISO 8601 format) when the performance was last updated. |
title | string | The title of the performance. |
description | string | The description of the performance. optional |
source_type | string | The source of this performance (strava , manual ). |
performance_type | string | The type of the performance (running , walking , biking , swimming , ice_skating , roller_skating or other ). |
performance_at | string | The time (ISO 8601 format) of the performance. |
distance | string | The distance of the performance (with decimals). Will be converted to km when unit is m on creation. |
unit | string | The distance unit of the performance (m or km ). Default is km . Will be converted to km when unit is m on creation. |
List Performances
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
action.performances
curl https://api.kentaa.nl/v1/actions/1/performances \
-H "X-Api-Key: your_api_key"
Example response body:
{
"performances": [
{
"id": 1,
"action_id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"title": "First tour",
"description": "The first tour on my new bike.",
"source_type": "manual",
"performance_type": "biking",
"performance_at": "2021-05-02T09:22:00Z",
"distance": "65.25",
"unit": "km"
}
],
"total_entries": 1,
"total_pages": 1,
"per_page": 25,
"current_page": 1
}
Get a list of performances for the action.
HTTP request
GET https://api.kentaa.nl/v1/actions/:action_id/performances
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Performance
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
action.performances.get(1)
curl https://api.kentaa.nl/v1/actions/1/performances/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"performance": {
"id": 1,
"action_id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"title": "First tour",
"description": "The first tour on my new bike.",
"source_type": "manual",
"performance_type": "biking",
"performance_at": "2021-05-02T09:22:00Z",
"distance": "65.25",
"unit": "km"
}
}
Retrieve a specific performance for the action.
HTTP request
GET https://api.kentaa.nl/v1/actions/:action_id/performances/:id
Create a Performance
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
action.performances.create(
title: 'First tour',
performance_type: 'biking',
performance_at_: '2021-05-02T09:22:00Z',
distance: '65.25'
)
curl https://api.kentaa.nl/v1/actions/1/performances \
-d '{ "title": "First tour", "performance_type": "biking", "performance_at": "2021-05-02T09:22:00Z", "distance": "65.25"}'
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"title": "First tour",
"performance_type": "biking",
"performance_at": "2021-05-02T09:22:00Z",
"distance": "65.25"
}
Example response body:
{
"performance": {
"id": 1,
"action_id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"title": "First tour",
"source_type": "manual",
"performance_type": "biking",
"performance_at": "2021-05-02T09:22:00Z",
"distance": "65.25",
"unit": "km"
}
}
Create a new performance for the action.
HTTP request
POST https://api.kentaa.nl/v1/actions/:action_id/performances
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
title | Yes | string | The title of the performance. |
description | No | string | The description of the performance. |
performance_type | Yes | string | The type of the performance (running , walking , biking , swimming , ice_skating , roller_skating or other ). |
performance_at | Yes | string | The time (ISO 8601 format) of the performance. |
distance | Yes | string | The distance of the performance (with decimals). Will be converted to km when unit is m . |
unit | No | string | The distance unit of the performance. Default is km . Will be converted to km when unit is m . |
Update a Performance
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
action.performances.update(1, description: 'Updated description')
curl -X PATCH https://api.kentaa.nl/v1/actions/1/performances/1 \
-d '{ "description": "Updated description" }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"description": "Updated description"
}
Example response body:
{
"performance": {
"id": 1,
"action_id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"title": "First tour",
"description": "Updated description",
"source_type": "manual",
"performance_type": "biking",
"performance_at": "2021-05-02T09:22:00Z",
"distance": "65.25",
"unit": "km"
}
}
Update the attributes of a performance for the action.
HTTP request
PATCH https://api.kentaa.nl/v1/actions/:action_id/performances/:id
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
title | No | string | The title of the performance. |
description | No | string | The description of the performance. |
performance_type | No | string | The type of the performance (running , walking , biking , swimming , ice_skating , roller_skating or other ). |
performance_at | No | string | The time (ISO 8601 format) of the performance. |
distance | No | string | The distance of the performance (with decimals). Will be converted to km when unit is m . |
unit | No | string | The distance unit of the performance. Default is km . Will be converted to km when unit is m . |
Delete a Performance
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
action.performances.delete(1)
curl -X DELETE https://api.kentaa.nl/v1/actions/1/performances/1 \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Delete a performance for the action.
HTTP request
DELETE https://api.kentaa.nl/v1/actions/:action_id/performances/:id
On success, the response status code will be 204
with an empty body.
Performance photos
Photos can be associated with a performance.
Photo object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this photo. |
created_at | string | The time (ISO 8601 format) when the photo was created. |
updated_at | string | The time (ISO 8601 format) when the photo was last updated. |
image_url | string | The URL to the photo. |
List Photos
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
performance = action.performances.get(1)
performance.photos
curl https://api.kentaa.nl/v1/actions/1/performances/1/photos \
-H "X-Api-Key: your_api_key"
Example response body:
{
"photos": [
{
"id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"image_url": "https://cdn.kentaa.nl/action_performance_photos/file/1/normal_8ce42aeb3bbb1b4964e621b42691f13d4dfa3f21.jpg"
}
],
"total_entries": 1,
"total_pages": 1,
"per_page": 25,
"current_page": 1
}
Get a list of photos for the performance.
HTTP request
GET https://api.kentaa.nl/v1/actions/:action_id/performances/:performance_id/photos
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Photo
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
action = client.actions.get(1)
performance = action.performances.get(1)
performance.photos.get(1)
curl https://api.kentaa.nl/v1/actions/1/performances/1/photos/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"photo": {
"id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"image_url": "https://cdn.kentaa.nl/action_performance_photos/file/1/normal_8ce42aeb3bbb1b4964e621b42691f13d4dfa3f21.jpg"
}
}
Retrieve a specific photo for the performance.
HTTP request
GET https://api.kentaa.nl/v1/actions/:action_id/performances/:performance_id/photos/:id
Create a Photo
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
performances = client.actions.get(1)
performance = action.performances.get(1)
performance.photos.create(
io: File.open("photo.jpeg"),
content_type: "image/jpeg"
)
curl https://api.kentaa.nl/v1/actions/1/performances \
-d 'iVBORw0KGgoAAAANSUhEUgAAARUAAABPCAYAAADFjFHHAAAAGX.....'
-H "Content-Type: image/jpeg" -H "X-Api-Key: your_api_key"
Example request body:
iVBORw0KGgoAAAANSUhEUgAAARUAAABPCAYAAADFjFHHAAAAGX.....
Example response body:
{
"photo": {
"id": 1,
"created_at": "2021-05-03T08:00:00Z",
"updated_at": "2021-05-03T08:00:00Z",
"image_url": "https://cdn.kentaa.nl/action_performance_photos/file/1/normal_8ce42aeb3bbb1b4964e621b42691f13d4dfa3f21.jpg"
}
}
Create a new photo for the performance.
The Content-Type
header should be set to the type of image you want to send (e.g. "image/jpeg").
The photo should be submitted as raw data in the HTTP request body.
HTTP request
POST https://api.kentaa.nl/v1/actions/:action_id/performances/:performance_id/photos
Projects
A project represents a campaign with a certain goal. It can be an event, a crowdfunding project or a customer specific goal. A project usually has an end date and can have multiple Teams and Actions.
Project object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this project. |
slug | string | Unique identifier for this project, used to create a nice project URL. |
site_id | integer | Unique identifier for the site associated with the project. |
segment_id | integer | Unique identifier for the segment associated with the project. optional |
created_at | string | The time (ISO 8601 format) when the team was created. |
updated_at | string | The time (ISO 8601 format) when the team was last updated. |
external_reference | string | External reference for the project. optional |
title | string | Title for the project. |
description | string | Description for the project. |
target_amount | integer | The target amount for the project. |
total_amount | string | The amount that was donated to the project (with decimals). |
total_donations | integer | The number of donations for the project. |
target_amount_achieved | boolean | Indicates whether the project target amount is achieved or not. |
visible | boolean | Indicates whether the project is visible or not. |
countable | boolean | Indicates whether the project is included in the webpages and counters of parent levels when project is closed. |
closed | boolean | Indicates whether the project is closed or not. |
ended | boolean | Indicates whether the project is ended or not. |
end_date | string | The countdown date (ISO 8601 format) for this project. optional |
url | string | The URL to the project. |
donate_url | string | The URL to directly make a donation to the project. |
location | object | Represents the location for the project. See Project - Location object. optional |
photos | array | List of photos associated with the project. optional |
videos | array | List of videos associated with the project. optional |
questions | array | List of questions, when there are any additional questions associated with the project. See Project - Question object. optional |
contact | object | The contact that is associated with the project. See Project - Contact object. optional |
consents instead. deprecated |
||
consents | array | List of consents associated with the project. See Project - Consent object. optional |
Project - Consent object
This object contains information about a specific consent a project starter has given, for example the processing of personal data when signing up.
Some consents can also be revoked later on by the project starter, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the project starter has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types (given by project starter) are:
Consent type | Description |
---|---|
terms_conditions | Accepting the terms and conditions. |
processing_personal_data | Accepting the processing of personal data. |
processing_personal_sensitive_data | Accepting the processing of sensitive personal data. |
contact_phone | Allowing use of the phone number for tips. |
contact_phone_commercial | Allowing use of the phone number for marketing purposes. |
Project - Contact object
Attribute | Type | Description |
---|---|---|
first_name | string | The first name of the contact. |
infix | string | The infix of the contact. optional |
last_name | string | The last name of the contact. |
string | The email address of the contact. | |
address | string | Address line 1 of the contact. optional |
address2 | string | Address line 2 of the contact. optional |
street | string | The street name of the contact (only when country is NL ). optional |
house_number | string | The house number of the contact (only when country is NL ). optional |
house_number_addition | string | The house number addition of the contact (only when country is NL ). optional |
zipcode | string | The zip code of the contact. optional |
city | string | The city of the contact. optional |
country | string | The country of the contact (ISO 3166-1 alpha-2 code). optional |
phone | string | The phone number of the contact. optional |
birthday | string | The birthday (ISO 8601 format) of the contact. optional |
gender | string | The gender of the contact (male , female , neutral ). optional |
locale | string | The locale when the project contact was created (nl , en , de , fr , etc). |
Project - Location object
Attribute | Type | Description |
---|---|---|
zip_code | string | Zip code of the location. optional |
street | string | Street of the location. optional |
city | string | City of the location. |
latitude | string | Latitude of the location. |
longitude | string | Longitude of the location. |
Project - Question object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this question. |
created_at | string | The time (ISO 8601 format) when the question was created. |
updated_at | string | The time (ISO 8601 format) when the question was last updated. |
question | string | The question on the sign up form. |
answer | string | The answer that was given for this question. |
List Projects
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.projects
curl https://api.kentaa.nl/v1/projects \
-H "X-Api-Key: your_api_key"
Example response body:
{
"projects": [
{
"id": 1,
"slug": "dignissimos-provident",
"site_id": 1,
"created_at": "2015-08-26T14:49:36Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"title": "Dignissimos provident rerum enim alias magni asperna...",
"description": "Fugiat et nulla mollitia. Ut omnis adipisci et. Consequatur voluptatibus est dicta rem.",
"target_amount": 250000,
"total_amount": "1250.0",
"total_donations": 18,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": true,
"end_date": "2015-10-28T00:00:00Z",
"url": "https://demo1.community-fundraising.com/project/dignissimos-provident",
"donate_url": "https://demo1.community-fundraising.com/project/dignissimos-provident/donate",
"contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"locale:": "nl"
}
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/projects?page=5&per_page=1",
"next": "https://api.kentaa.nl/v1/projects?page=2&per_page=1"
}
},
"total_entries": 5,
"total_pages": 5,
"per_page": 1,
"current_page": 1
}
Get a list of projects for the current site or segment.
HTTP request
GET https://api.kentaa.nl/v1/projects
GET https://api.kentaa.nl/v1/segments/:segment_id/projects
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Project
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.projects.get(1)
client.projects.get('dignissimos-provident')
curl https://api.kentaa.nl/v1/projects/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/projects/dignissimos-provident \
-H "X-Api-Key: your_api_key"
Example response body:
{
"project": {
"id": 1,
"slug": "dignissimos-provident",
"site_id": 1,
"created_at": "2015-08-26T14:49:36Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"title": "Dignissimos provident rerum enim alias magni asperna...",
"description": "Fugiat et nulla mollitia. Ut omnis adipisci et. Consequatur voluptatibus est dicta rem.",
"target_amount": 250000,
"total_amount": "1250.0",
"total_donations": 18,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": true,
"end_date": "2015-10-28T00:00:00Z",
"url": "https://demo1.community-fundraising.com/project/dignissimos-provident",
"donate_url": "https://demo1.community-fundraising.com/project/dignissimos-provident/donate",
"contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"locale": "nl"
},
"consent": {
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"text": "Yes, I explicitly give permission to process my personal data.",
"version": "V1 30-05-2018 11:53"
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
},
{
"consent_type": "processing_personal_data",
"consent_status": "granted",
"granted_at": "2015-08-26T14:49:36Z",
"consent_text": "Yes, I explicitly give permission to process my personal data.",
"url": "https://demo1.community-fundraising.com/project/projectinformatie",
"terms_conditions_version": "V1 30-05-2018 11:53",
"privacy_version": "V1 30-05-2018 11:53"
}
]
}
}
Retrieve a specific project on the current site. Projects can be queried by ID or slug.
HTTP request
GET https://api.kentaa.nl/v1/projects/:id
GET https://api.kentaa.nl/v1/projects/:slug
Recurring donors
When a donor agrees to make periodic (e.g. monthly or annually) donations, he/she becomes a recurring donor. Currently, a recurring donor is always associated with a Donation form.
Use the Donations endpoint to retrieve the donations for a recurring donor.
Recurring donor object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this recurring donor. |
site_id | integer | Unique identifier for the site associated with the recurring donor. |
donation_form_id | integer | Unique identifier for the donation form associated with the recurring donor. |
created_at | string | The time (ISO 8601 format) when the recurring donor was created. |
updated_at | string | The time (ISO 8601 format) when the recurring donor was last updated. |
first_name | string | The first name of the recurring donor. optional |
infix | string | The infix of the recurring donor. optional |
last_name | string | The last name of the recurring donor. optional |
company | string | Company name for the recurring donor. optional |
anonymous | boolean | Indicates whether the name of the recurring donor is visible on the website. |
string | The email address of the recurring donor. | |
locale | string | The locale that was used while submitting the donation form (nl , en , de , fr , etc). |
frequency_type | string | The frequency that will be used to do recurring donations (monthly , annually ). |
start_date | string | Date (ISO 8601 format) when recurring donations have been started. |
end_date | string | Date (ISO 8601 format) when recurring donations have been stopped. optional |
active | boolean | Indicates whether this donor is active and recurring donations will be done. |
currency | string | The currency (ISO 4217 code) that will be used for recurring donations. |
amount | string | The donation amount (with decimals). |
transaction_costs | string | The contribution to transaction costs (with decimals). optional |
total_amount | string | Total amount of the donation (amount + contribution transaction costs). |
List Recurring donors
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.recurring_donors
curl https://api.kentaa.nl/v1/recurring-donors \
-H "X-Api-Key: your_api_key"
Example response body:
{
"recurring_donors": [
{
"id": 1,
"site_id": 1,
"donation_form_id": 1,
"created_at": "2020-10-01T09:39:50Z",
"updated_at": "2020-10-01T09:39:50Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"frequency_type": "monthly",
"start_date": "2020-10-01",
"active": true,
"currency": "EUR",
"amount": "50.0",
"transaction_costs": "0.4",
"total_amount": "50.4"
}
],
"total_entries": 1,
"total_pages": 1,
"per_page": 25,
"current_page": 1
}
Get a list of recurring donors for the current site or donation form.
HTTP request
GET https://api.kentaa.nl/v1/recurring-donors
GET https://api.kentaa.nl/v1/donation-forms/:donation_form_id/recurring-donors
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Recurring donor
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.recurring_donors.get(1)
curl https://api.kentaa.nl/v1/recurring-donors/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"recurring_donor": {
"id": 1,
"site_id": 10,
"donation_form_id": 1,
"created_at": "2020-10-01T09:39:50Z",
"updated_at": "2020-10-01T09:39:50Z",
"first_name": "John",
"last_name": "Doe",
"anonymous": false,
"email": "john.doe@iraiser.eu",
"frequency_type": "monthly",
"start_date": "2020-10-01",
"active": true,
"currency": "EUR",
"amount": "50.0",
"transaction_costs": "0.4",
"total_amount": "50.4"
}
}
Retrieve a specific recurring donor on the current site.
HTTP request
GET https://api.kentaa.nl/v1/recurring-donors/:id
Segments
A segment is a subsite within a Community Fundraising Platform (CFP) site. It can have multiple Projects, Teams and Actions.
Segment object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this segment. |
site_id | integer | Unique identifier for the site associated with the segment. |
created_at | string | The time (ISO 8601 format) when the segment was created. |
updated_at | string | The time (ISO 8601 format) when the segment was last updated. |
external_reference | string | External reference for the segment. optional |
subdomain | string | The unique subdomain for the segment. |
name | string | Then name for the segment. |
title | string | Title for the segment. |
description | string | Description for the segment. |
target_amount | integer | The target amount for the segment. |
total_amount | string | The amount that was donated to the segment (with decimals). |
total_donations | integer | The number of donations for the segment. |
url | string | The URL to the segment. |
donate_url | string | The URL to directly make a donation to the segment. |
end_date | string | The countdown date (ISO 8601 format) for this project. optional |
banners | array | List of banners associated with the segment. optional |
List Segments
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.segments
curl https://api.kentaa.nl/v1/segments \
-H "X-Api-Key: your_api_key"
Example response body:
{
"segments": [
{
"id": 1,
"site_id": 1,
"created_at": "2015-11-17T16:32:03Z",
"updated_at": "2015-11-17T16:32:27Z",
"external_reference": "Customer Campaign 1021AA1-11",
"subdomain": "segment-2",
"name": "Segment 2",
"title": "Aut est maxime nostrum.",
"description": "Maiores ut velit fugiat eos. Quae est nostrum rerum aut et nihil. Sequi eveniet occaecati et est corporis et enim.",
"target_amount": 2685,
"total_amount": "0.0",
"total_donations": 0,
"url": "https://segment-2.demo1.community-fundraising.com/",
"donate_url": "https://segment-2.demo1.community-fundraising.com/donate",
"banners": [
{
"id": 14,
"created_at": "2015-11-17T16:32:11Z",
"updated_at": "2015-11-17T16:32:11Z",
"url": "https://cdn.kentaa.nl/carousel/file/segment_banners/banner/14/normal_93be693da7ec2dde1a85ea4aec3832a8dfc60330.JPG",
"text": "example",
"link": "http://www.example.com/",
"locale": "nl"
}
]
}
],
"links": {
"pages": {
"first": "https://api.kentaa.nl/v1/segments?page=1&per_page=1",
"last": "https://api.kentaa.nl/v1/segments?page=3&per_page=1",
"prev": "https://api.kentaa.nl/v1/segments?page=1&per_page=1",
"next": "https://api.kentaa.nl/v1/segments?page=3&per_page=1"
}
},
"total_entries": 3,
"total_pages": 3,
"per_page": 1,
"current_page": 2
}
Get a list of segments for the current site.
HTTP request
GET https://api.kentaa.nl/v1/segments
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a Segment
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.segments.get(1)
curl https://api.kentaa.nl/v1/segments/1 \
-H "X-Api-Key: your_api_key"
Example response body:
{
"segment": {
"id": 1,
"site_id": 1,
"created_at": "2015-11-17T16:32:03Z",
"updated_at": "2015-11-17T16:32:27Z",
"external_reference": "Customer Campaign 1021AA1-11",
"subdomain": "segment-2",
"name": "Segment 2",
"title": "Aut est maxime nostrum.",
"description": "Maiores ut velit fugiat eos. Quae est nostrum rerum aut et nihil. Sequi eveniet occaecati et est corporis et enim.",
"target_amount": 2685,
"total_amount": "0.0",
"total_donations": 0,
"url": "https://segment-2.demo1.community-fundraising.com/",
"donate_url": "https://segment-2.demo1.community-fundraising.com/donate",
"banners": [
{
"id": 14,
"created_at": "2015-11-17T16:32:11Z",
"updated_at": "2015-11-17T16:32:11Z",
"url": "https://cdn.kentaa.nl/carousel/file/segment_banners/banner/14/normal_93be693da7ec2dde1a85ea4aec3832a8dfc60330.JPG",
"text": "example",
"link": "http://www.example.com/",
"locale": "nl"
}
]
}
}
Retrieve a specific segment on the current site.
HTTP request
GET https://api.kentaa.nl/v1/segments/:id
Sites
The current Community Fundraising Platform (CFP) site. It can have multiple Segments, Projects, Teams and Actions.
Site object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this site. |
created_at | string | The time (ISO 8601 format) when the site was created. |
updated_at | string | The time (ISO 8601 format) when the site was last updated. |
external_reference | string | External reference for this site. optional |
host | string | The hostname for this site. |
name | string | Name for the site. |
title | string | Title displayed on the homepage of the site. |
description | string | Description for the site. |
target_amount | integer | The target amount for the site. |
total_amount | string | The amount that was donated to the site (with decimals). |
total_donations | integer | The number of donations for the site. |
default_currency | string | The default currency (ISO 4217 code) on this site. |
url | string | The URL to the site. |
donate_url | string | The URL to directly make a donation to the site. |
video_url | string | The video showed on the homepage. |
owner_name | string | The name of the owner of the site. |
owner_email | string | The email address of the owner of the site. |
end_date | string | The countdown date (ISO 8601 format) for this site. optional |
banners | array | List of banners associated with the site. optional |
logos | array | List of logos associated with the site. optional |
background_image_url | string | The URL to the background image of the site. optional |
sign_up_flow_background_image_url | string | The URL to the sign up flow background image of the site. optional |
theme | object | The theme settings of the site (such as primary and contrast colors). |
Get current Site
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.sites.current
curl https://api.kentaa.nl/v1/sites/current \
-H "X-Api-Key: your_api_key"
Example response body:
{
"site": {
"id": 1,
"created_at": "2015-11-17T16:32:03Z",
"updated_at": "2015-11-17T16:32:27Z",
"external_reference": "Customer Campaign 1021AA1-11",
"host": "demo1.community-fundraising.com",
"name": "Demo",
"title": "Aut est maxime nostrum.",
"description": "Maiores ut velit fugiat eos. Quae est nostrum rerum aut et nihil. Sequi eveniet occaecati et est corporis et enim.",
"target_amount": 5000,
"total_amount": "0.0",
"total_donations": 0,
"video_url": "https://www.youtube.com/watch?v=VLv1jKC39jGQk",
"owner_name": "John doe",
"owner_email": "johndoe@example.com",
"default_currency": "EUR",
"url": "https://demo1.community-fundraising.com/",
"donate_url": "https://demo1.community-fundraising.com/donate",
"banners": [
{
"id": 14,
"created_at": "2015-11-17T16:32:11Z",
"updated_at": "2015-11-17T16:32:11Z",
"url": "https://cdn.kentaa.nl/carousel/file/site_banners/banner/1/normal_93be693da7ec2dde1a85ea4aec3832a8dfc60330.JPG",
"text": "example",
"link": "http://www.example.com/",
"locale": "nl"
}
],
"logos": [
{
"locale": "nl",
"url": "https://cdn.kentaa.nl/header_logos/logo/site_logo/2528/116c9a3acc4a88f9e14bb0b6319045f987f4c160.jpeg"
},
{
"locale": "en",
"url": "https://cdn.kentaa.nl/header_logos/logo/site_logo/2529/2fe74604b1554b6a3f1fb0fc0f0b80efaab9437a.png"
}
],
"background_image_url": "https://cdn.kentaa.nl/background_images/site_theme/background_image/2238/c84048633c78cd54cf3000a244738d8005d265c1.jpg",
"sign_up_flow_background_image_url": "https://cdn.kentaa.nl/background_images/site_setting/sign_up_flow_background_image/3804/0afc0d7f0932b5f8f4ed49b06e768a6eb36e31b3.jpg",
"theme": {
"primary_color": "#6b0a0a",
"contrast_color": "#400b0b"
}
}
}
Retrieve details of the current site.
HTTP request
GET https://api.kentaa.nl/v1/sites/current
Teams
A team represents a fundraising teampage on a Community Fundraising Platform (CFP) site. It contains one or more team members, which are Actions.
Team object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this team. |
slug | string | Unique identifier for this team, used to create a nice team URL. |
site_id | integer | Unique identifier for the site associated with the team. |
segment_id | integer | Unique identifier for the segment associated with the team. optional |
project_id | integer | Unique identifier for the project associated with the team. optional |
created_at | string | The time (ISO 8601 format) when the team was created. |
updated_at | string | The time (ISO 8601 format) when the team was last updated. |
external_reference | string | External reference for the team. optional |
name | string | Name for the team. |
owner | object | Represents the owner for the team. See Team - Owner object. |
members | array | List of team members in this team. See Team - Member object. |
title | string | Title for the team. |
description | string | Description for the team. |
total_team_members | integer | The number of members for the team. |
target_amount | integer | The target amount for the team. |
total_amount | string | The amount that was donated to the team (with decimals). |
total_donations | integer | The number of donations for the team. |
target_amount_achieved | boolean | Indicates whether the team target amount is achieved or not. |
visible | boolean | Indicates whether the team is visible or not. |
countable | boolean | Indicates whether the team is included in the webpages and counters of parent levels of a closed project. |
closed | boolean | Indicates whether the team is closed or not. |
ended | boolean | Indicates whether the team is ended or not. |
end_date | string | The countdown date (ISO 8601 format) for this team. optional |
url | string | The URL to the teampage. |
donate_url | string | The URL to directly make a donation to the team. |
photos | array | List of photos associated with the team. optional |
videos | array | List of videos associated with the team. optional |
questions | array | List of questions, when there are any additional questions associated with the team. See Team - Question object. optional |
Team - Member object
The Team - Member object is a subset of the Action object:
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the team member action. |
owner | object | Represents the owner of the team action. See Action - Owner object. |
team_captain | boolean | Indicates whether the team member is a team captain. |
first_name | string | The first name of the fundraiser. |
infix | string | The infix of the fundraiser. optional |
last_name | string | The last name of the fundraiser. |
avatar_url | string | The URL to the avatar image of the fundraiser. optional |
url | string | The URL to the team member action. |
donate_url | string | The URL to directly make a donation to the team member action. |
Team - Owner object
The Team - Owner object is a subset of the User object:
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for the team owner. |
first_name | string | The first name of the owner. |
infix | string | The infix of the owner. optional |
last_name | string | The last name of the owner. |
string | The email address of the owner. | |
avatar_url | string | The URL to the avatar image of the owner. optional |
Team - Question object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this question. |
created_at | string | The time (ISO 8601 format) when the question was created. |
updated_at | string | The time (ISO 8601 format) when the question was last updated. |
question | string | The question on the sign up form. |
answer | string | The answer that was given for this question. |
List Teams
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.teams
curl https://api.kentaa.nl/v1/teams \
-H "X-Api-Key: your_api_key"
Example response body:
{
"teams": [
{
"id": 1,
"slug": "asperiores-beatae-voluptate-qui",
"site_id": 1,
"created_at": "2015-08-26T14:51:35Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"members": [
{
"id": 9,
"owner": {
"id": 8,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"team_captain": false,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
},
{
"id": 3,
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"team_captain": true,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
}
],
"name": "Asperiores beatae voluptate qui.",
"title": "Vero aspernatur dolores et excepturi.",
"description": "Cum odio est. Consequuntur occaecati sapiente molestiae quam recusandae possimus aut. Ratione cum harum beatae ad repellat minus.",
"total_team_members": 2,
"target_amount": 2000,
"total_amount": "225.0",
"total_donations": 4,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"url": "https://demo1.community-fundraising.com/team/asperiores-beatae-voluptate-qui",
"donate_url": "https://demo1.community-fundraising.com/team/asperiores-beatae-voluptate-qui/donate"
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/teams?page=8&per_page=1",
"next": "https://api.kentaa.nl/v1/teams?page=2&per_page=1"
}
},
"total_entries": 8,
"total_pages": 8,
"per_page": 1,
"current_page": 1
}
Get a list of teams for the current site, segment or project.
HTTP request
GET https://api.kentaa.nl/v1/teams
GET https://api.kentaa.nl/v1/segments/:segment_id/teams
GET https://api.kentaa.nl/v1/projects/:project_id/teams
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
include | When set to owner , include the full owner object in the result.When set to members.owner , include the full owner object of members in the result.Multiple values are allowed using a comma as separator. |
Get a Team
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.teams.get(1)
client.teams.get('asperiores-beatae-voluptate-qui')
curl https://api.kentaa.nl/v1/teams/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/teams/asperiores-beatae-voluptate-qui \
-H "X-Api-Key: your_api_key"
Example response body:
{
"team": {
"id": 1,
"slug": "asperiores-beatae-voluptate-qui",
"site_id": 1,
"created_at": "2015-08-26T14:51:35Z",
"updated_at": "2015-10-12T16:27:43Z",
"external_reference": "Customer Campaign 1021AA1-11",
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"members": [
{
"id": 9,
"owner": {
"id": 8,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"team_captain": false,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
},
{
"id": 3,
"owner": {
"id": 2,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
},
"team_captain": true,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"url": "https://demo1.community-fundraising.com/fundraisers/john-doe",
"donate_url": "https://demo1.community-fundraising.com/fundraisers/john-doe/donate"
}
],
"name": "Asperiores beatae voluptate qui.",
"title": "Vero aspernatur dolores et excepturi.",
"description": "Cum odio est. Consequuntur occaecati sapiente molestiae quam recusandae possimus aut. Ratione cum harum beatae ad repellat minus.",
"total_team_members": 2,
"target_amount": 2000,
"total_amount": "225.0",
"total_donations": 4,
"target_amount_achieved": false,
"visible": true,
"countable": true,
"closed": false,
"ended": false,
"url": "https://demo1.community-fundraising.com/team/asperiores-beatae-voluptate-qui",
"donate_url": "https://demo1.community-fundraising.com/team/asperiores-beatae-voluptate-qui/donate"
}
}
Retrieve a specific team on the current site. Teams can be queried by ID or slug.
HTTP request
GET https://api.kentaa.nl/v1/teams/:id
GET https://api.kentaa.nl/v1/teams/:slug
Query parameters
Parameter | Description |
---|---|
include | When set to owner , include the full owner object in the result.When set to members.owner , include the full owner object of members in the result.Multiple values are allowed using a comma as separator. |
Users
A user represents a user account on a Community Fundraising Platform (CFP) site.
User object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this user. |
site_id | integer | Unique identifier for the site associated with the user. |
created_at | string | The time (ISO 8601 format) when the user was created. |
updated_at | string | The time (ISO 8601 format) when the user was last updated. |
first_name | string | The first name of the user. |
infix | string | The infix of the user. optional |
last_name | string | The last name of the user. |
string | The email address of the user. | |
avatar_url | string | The URL to the avatar image of the user. optional |
address | string | Address line 1 of the user. optional |
address2 | string | Address line 2 of the user. optional |
street | string | The street name of the user (only when country is NL ). optional |
house_number | string | The house number of the user (only when country is NL ). optional |
house_number_addition | string | The house number addition of the user (only when country is NL ). optional |
zipcode | string | The zip code of the user. optional |
city | string | The city of the user. optional |
country | string | The country of the user (ISO 3166-1 alpha-2 code). optional |
phone | string | The phone number of the user. optional |
birthday | string | The birthday (ISO 8601 format) of the user. optional |
gender | string | The gender of the user (male , female , neutral ). optional |
locale | string | The locale when the user was created (nl , en , de , fr , etc). |
consents instead. deprecated |
||
consents | array | List of consents associated with the user. See User - Consent object. optional |
User - Consent object
This object contains information about a specific consent a user has given, for example the processing of personal data when signing up.
Some consents can also be revoked later on by the user, after which the status will change to revoked
and the attribute revoked_at
will be returned.
Attribute | Type | Description |
---|---|---|
consent_type | string | Type of consent. See below for possible values with their description. |
consent_status | string | Status of the consent (granted or revoked ). |
granted_at | string | The time (ISO 8601 format) when the consent was granted. |
revoked_at | string | The time (ISO 8601 format) when the consent was revoked. optional |
consent_text | string | The consent text the user has agreed to. |
url | string | The URL of the webpage where the consent was given. |
terms_conditions_version | string | Version of the terms and conditions when the consent was given. |
privacy_version | string | Version of the privacy statement when the consent was given. optional |
Available consent types are:
Consent type | Description |
---|---|
terms_conditions | Accepting the terms and conditions. |
processing_personal_data | Accepting the processing of personal data. |
processing_personal_sensitive_data | Accepting the processing of sensitive personal data. |
contact_phone | Allowing use of the phone number for tips. |
contact_phone_commercial | Allowing use of the phone number for marketing purposes. |
List Users
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.users
curl https://api.kentaa.nl/v1/users \
-H "X-Api-Key: your_api_key"
Example response body:
{
"users": [
{
"id": 2,
"site_id": 1,
"created_at": "2018-07-18T13:58:11Z",
"updated_at": "2018-08-17T03:00:03Z",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
}
],
"links": {
"pages": {
"last": "https://api.kentaa.nl/v1/users?page=31&per_page=1",
"next": "https://api.kentaa.nl/v1/users?page=2&per_page=1"
}
},
"total_entries": 31,
"total_pages": 31,
"per_page": 1,
"current_page": 1
}
Get a list of users for the current site.
HTTP request
GET https://api.kentaa.nl/v1/users
Query parameters
Parameter | Description |
---|---|
page | Page number to show. Default is 1 . |
per_page | Number of results to return per page. Default is 25 . |
created_after | Show results created after the given ISO 8601 datetime, ordered by created_at . |
updated_after | Show results updated after the given ISO 8601 datetime, ordered by updated_at . |
created_before | Show results created before the given ISO 8601 datetime, ordered by created_at . |
updated_before | Show results updated before the given ISO 8601 datetime, ordered by updated_at . |
Get a User
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.users.get(1)
client.users.get('john.doe@iraiser.eu')
curl https://api.kentaa.nl/v1/users/1 \
-H "X-Api-Key: your_api_key"
curl https://api.kentaa.nl/v1/users/john.doe%40iraiser.eu \
-H "X-Api-Key: your_api_key"
Example response body:
{
"user": {
"id": 2,
"site_id": 1,
"created_at": "2018-07-18T13:58:11Z",
"updated_at": "2018-08-17T03:00:03Z",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl",
"consent": {
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"text": "Yes, I explicitly give permission to process my personal data.",
"version": "V2 22-06-2018 13:09"
},
"consents": [
{
"consent_type": "terms_conditions",
"consent_status": "granted",
"granted_at": "2018-07-18T13:58:11Z",
"consent_text": "I accept the <a href='/algemene-voorwaarden' class='theme-text-color' target='_blank'>terms and conditions</a>.",
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
},
{
"consent_type": "processing_personal_data",
"consent_status": "granted",
"granted_at": "2018-07-18T13:58:11Z",
"consent_text": "Yes, I explicitly give permission to process my personal data.",
"url": "https://demo1.community-fundraising.com/participate/who-are-you",
"terms_conditions_version": "V2 22-06-2018 13:09",
"privacy_version": "V1 10-06-2018 11:42"
}
]
}
}
Retrieve a specific user on the current site. Users can be queried by ID or email address.
HTTP request
GET https://api.kentaa.nl/v1/users/:id
GET https://api.kentaa.nl/v1/users/:email
Create a User
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.users.create(
first_name: 'John',
last_name: 'Doe',
email: 'john.doe@iraiser.eu'
)
curl https://api.kentaa.nl/v1/users \
-d '{ "first_name": "John", "last_name": "Doe", "email": "john.doe@iraiser.eu" }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu"
}
Example response body:
{
"user": {
"id": 2,
"site_id": 1,
"created_at": "2018-07-18T13:58:11Z",
"updated_at": "2018-08-17T03:00:03Z",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
}
}
Create a new user account on the current site.
HTTP request
POST https://api.kentaa.nl/v1/users
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
Yes | string | The email address of the user. unique | |
first_name | Yes | string | The first name of the user. |
infix | No | string | The infix of the user. |
last_name | Yes | string | The last name of the user. |
address | No | string | Address line 1 of the user. |
address2 | No | string | Address line 2 of the user. |
street | No | string | The street name of the user (only when country is NL ). |
house_number | No | string | The house number of the user (only when country is NL ). |
house_number_addition | No | string | The house number addition of the user (only when country is NL ). |
zipcode | No | string | The zip code of the user. |
city | No | string | The city of the user. |
country | No | string | The country of the user (ISO 3166-1 alpha-2 code). |
phone | No | string | The phone number of the user. |
birthday | No | string | The birthday (ISO 8601 format) of the user. |
gender | No | string | The gender of the user (male , female , neutral ). |
send_reset_password_email | No | boolean | When set to true , the reset password email will be sent when the user was successfully created. Default is false . |
Update a User
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.users.update(1, first_name: 'Jane')
curl -X PATCH https://api.kentaa.nl/v1/users/1 \
-d '{ "first_name": "Jane", "last_name": "Doe" }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"first_name": "Jane",
"last_name": "Doe"
}
Example response body:
{
"user": {
"id": 2,
"site_id": 1,
"created_at": "2018-07-18T13:58:11Z",
"updated_at": "2018-08-17T03:00:03Z",
"first_name": "Jane",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
}
}
Update attributes of a user on the current site.
HTTP request
PATCH https://api.kentaa.nl/v1/users/:id
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
No | string | The email address of the user. unique | |
first_name | No | string | The first name of the user. |
infix | No | string | The infix of the user. |
last_name | No | string | The last name of the user. |
address | No | string | Address line 1 of the user. |
address2 | No | string | Address line 2 of the user. |
street | No | string | The street name of the user (only when country is NL ). |
house_number | No | string | The house number of the user (only when country is NL ). |
house_number_addition | No | string | The house number addition of the user (only when country is NL ). |
zipcode | No | string | The zip code of the user. |
city | No | string | The city of the user. |
country | No | string | The country of the user (ISO 3166-1 alpha-2 code). |
phone | No | string | The phone number of the user. |
birthday | No | string | The birthday (ISO 8601 format) of the user. |
gender | No | string | The gender of the user (male , female , neutral ). |
Authenticate a User
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
client.users.auth(
email: 'john.doe@iraiser.eu',
password: 'secret'
)
curl https://api.kentaa.nl/v1/users/auth \
-d '{ "email": "john.doe@iraiser.eu", "password": "secret" }' \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Example request body:
{
"email": "john.doe@iraiser.eu",
"password": "secret"
}
Example response body (200):
{
"user": {
"id": 2,
"site_id": 1,
"created_at": "2018-07-18T13:58:11Z",
"updated_at": "2018-08-17T03:00:03Z",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@iraiser.eu",
"address": "Jansbuitensingel 29",
"street": "Jansbuitensingel",
"house_number": "29",
"zipcode": "6811AD",
"city": "Arnhem",
"country": "NL",
"phone": "0262616240",
"gender": "male",
"locale": "nl"
}
}
Example response body (403):
{
"message": "Invalid email or password."
}
Authenticate a user by using email address and password.
All users returned from the List Users endpoint can be authenticated, with the exception of users that have OTP enabled.
HTTP request
POST https://api.kentaa.nl/v1/users/auth
JSON body parameters
Parameter | Required | Type | Description |
---|---|---|---|
Yes | string | The email address of the user. | |
password | Yes | string | The password of the user. |
User avatars
Avatars can be associated with a user.
Avatar object
Attribute | Type | Description |
---|---|---|
id | integer | Unique identifier for this avatar. |
created_at | string | The time (ISO 8601 format) when the avatar was created. |
updated_at | string | The time (ISO 8601 format) when the avatar was last updated. |
avatar_url | string | The URL to the avatar. |
Get the User avatar
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
user = client.users.get(1)
user.avatar.avatar_url
curl https://api.kentaa.nl/v1/users/1/avatar \
-H "X-Api-Key: your_api_key"
Example response body:
{
"avatar": {
"id": 1,
"created_at": "2023-05-03T08:00:00Z",
"updated_at": "2023-05-03T08:00:00Z",
"avatar_url": "https://cdn.kentaa.nl/avatars/avatar/1/thumb_8ce42aeb3bbb1b4964e621b42691f13d4dfa3f21.jpg"
}
}
Retrieve the current user's avatar.
HTTP request
GET https://api.kentaa.nl/v1/users/:id/avatar
Create / update the User avatar
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
user = client.users.get(1)
user.avatar.create(
io: File.open("photo.jpeg"),
content_type: "image/jpeg"
)
curl https://api.kentaa.nl/v1/users/1/avatar \
-d 'iVBORw0KGgoAAAANSUhEUgAAARUAAABPCAYAAADFjFHHAAAAGX.....'
-H "Content-Type: image/jpeg" -H "X-Api-Key: your_api_key"
Example request body:
iVBORw0KGgoAAAANSUhEUgAAARUAAABPCAYAAADFjFHHAAAAGX.....
Example response body:
{
"avatar": {
"id": 1,
"created_at": "2023-05-03T08:00:00Z",
"updated_at": "2023-05-03T08:00:00Z",
"avatar_url": "https://cdn.kentaa.nl/avatars/avatar/1/thumb_8ce42aeb3bbb1b4964e621b42691f13d4dfa3f21.jpg"
}
}
Add or update an avatar for the user.
The Content-Type
header should be set to the type of image you want to send (e.g. "image/jpeg").
The avatar should be submitted as raw data in the HTTP request body.
HTTP request
POST https://api.kentaa.nl/v1/users/:id/avatar
Delete the User avatar
require 'kentaa/api'
client = Kentaa::Api::Client.new(api_key: 'your_api_key')
user = client.users.get(1)
user.avatar.delete
curl -X DELETE https://api.kentaa.nl/v1/users/1/avatar \
-H "Content-Type: application/json" -H "X-Api-Key: your_api_key"
Delete the avatar of a user.
HTTP request
DELETE https://api.kentaa.nl/v1/users/:id/avatar
On success, the response status code will be 204
with an empty body.