Download OpenAPI specification:Download
This document describes the API that clubs can use to communicate with myClub. Usage of API must be enabled by the myClub support team.
When using personal information of members obtained through API, the API user must adhere to the privacy settings defined by the member. Member can specify that any of his/her personal information can or cannot be displayed publicly. If the accessibility is public, that information can be displayed publicly for example on the club's website. If the accessibility is none, the information must not be displayed to unlimited audience, for example openly on the public internet.
Details on how the accessibility is presented are listed on corresponding endpoint descriptions.
API access is bound to a specific user in the club. All actions performed via API are associated with that user, i.e. API user can perform all actions and has same visibility than the user via Web-interface. Updating and deleting events is only possible for events created by the same API user.
The API key must be sent as HTTP header with all requests
X-myClub-token: ec608ee3a007433afb274de88cb31bd5
Rate limits
There is a rate limit of 300 requests / hour for each API key with a
burst of 500 requests (i.e. you can make 500 requests at a time, but then
you will have to wait for 100 minutes before you can make your next
request). If you make a request that exceeds the rate limit you will receive
HTTP response 503 Service Unavailable
New endpoint Contracts
Notifications
Now accepts and returns details_html
instead of details
. The details
paramter can still be used, but markdown will no longer be processed.
Events
Now accepts and returns description_html
instead of description
. The description
paramter can still be used, but markdown will no longer be processed.
Member.male is replaced with member.gender
All endpoints that used to return member.male (boolean) now instead return member.gender (string).
Possible values for gender are 'male', 'female', 'other', 'undefined' (default)
When creating a member, the old male attribute is still accepted, but it is converted to gender.
Updates to old endpoints
Removed line.variant-attribute from response.
Returned collection is limited
since-params supports time
New endpoints
New endpoint
New endpoint
Group levels display detailed information about group levels.
Custom fields list club custom fields.
Updates to old endpoints
New endpoint
Updates to old endpoints
Updates to old endpoints
New endpoint
Updates to old endpoints
Notifications has new fields: photo.
Groups has new fields: photo.
Updates to old endpoints
New endpoint
New endpoints
Updates to old endpoints
New endpoints
Updates to old endpoints
Removed login
from Member Create. For
backwards compatibility a value for login
can still be provied, but will
be ignored.
Removed login
, login_count
, last_login_at
, failed_login_count
from
Member Show and Member
Search
Privacy instructions added
Member Show now includes information on which fields the member has allowed to be publicly shown
Event Get now includes invoices
Member Show now includes invoices
Events now include event categories
New endpoint to get Event Categories
Action | Change
-------|------------
Event Get|Result now includes participants
Event List|List events in a group
Member Show|Link to member avatar is now included in result set
Group Memberships|New endpoint to return list of group membership
Lists events in given group. Events in subgroups are not included in the result. Results can be further filtered by given parameters. Events to which user has no access will be excluded from the result. Maximum of 300 events are returned.
end_date | string <date> Events that start or end on or before that date will be returned. |
group_id | number id of the group to list events for. |
group_ids | Array of arrays ids of the groups to list events for. |
ids | Array of arrays ids of the events to list. |
include_participants | boolean Default: false Include particpants for each event |
start_date | string <date> Default: "yesterday's date" Events that start or end on or after that date will be returned. |
updated_after | string <date-time> Events basic information or its participations have changed after timestamp |
venue_id | number |
[- {
- "event": {
- "allow_comments": true,
- "course_id": null,
- "description": null,
- "ends_at": "2014-10-30T06:00:00+02:00",
- "event_category_id": 91,
- "group_id": 34,
- "id": 651,
- "max_participations": null,
- "name": "Morning Ice",
- "participants_public": true,
- "queue_enabled": false,
- "registration": "group",
- "registration_closes_at": null,
- "registration_opens_at": null,
- "send_confirmation": false,
- "starts_at": "2014-10-30T06:00:00+02:00",
- "venue_id": 83,
- "visibility": "group",
- "accepted_card_product_ids": [
- 10,
- 11
]
}
}
]
{- "event": {
- "name": "Morning Ice",
- "starts_at": "2014-10-30 06:00:00",
- "ends_at": "2014-10-30 06:00:00",
- "group_id": 34,
- "venue_id": 83
}
}
{- "event": {
- "allow_comments": true,
- "course_id": null,
- "description": null,
- "ends_at": "2014-10-30T06:00:00+02:00",
- "event_category_id": null,
- "group_id": 34,
- "id": 651,
- "max_participations": null,
- "name": "Morning Ice",
- "participants_public": true,
- "queue_enabled": false,
- "registration_closes_at": null,
- "registration_opens_at": null,
- "registration": "group",
- "send_confirmation": false,
- "starts_at": "2014-10-30T06:00:00+02:00",
- "venue_id": 83,
- "visibility": "group"
}
}
{- "event": {
- "allow_comments": true,
- "course_id": null,
- "description": null,
- "ends_at": "2014-10-30T06:00:00+02:00",
- "event_category": {
- "color": "#00ffff",
- "name": "Training"
}, - "group_id": 34,
- "id": 651,
- "invoices": [
- {
- "due_amount": "25.0",
- "due_date": "2015-10-23",
- "id": 101,
- "member_id": 105,
- "status": "open"
}, - {
- "due_amount": "12.0",
- "due_date": "2015-10-25",
- "id": 102,
- "member_id": 106,
- "status": "paid"
}
], - "max_participations": null,
- "name": "Morning Ice",
- "participants_public": true,
- "queue_enabled": false,
- "registration": "group",
- "registration_closes_at": null,
- "registration_opens_at": null,
- "send_confirmation": false,
- "starts_at": "2014-10-30T06:00:00+02:00",
- "venue_id": 83,
- "visibility": "group",
- "participations": [
- {
- "comment": null,
- "confirmed_at": "2015-10-22T10:30:50+03:00",
- "created_at": "2015-10-16T13:11:13+03:00",
- "price": null,
- "queue_order": 0,
- "registered_order": 1,
- "self_registration": false,
- "updated_at": "2015-10-22T10:30:50+03:00",
- "member_id": 87338,
- "indication": "no_response"
}, - {
- "comment": null,
- "confirmed_at": null,
- "created_at": "2015-10-16T13:11:13+03:00",
- "price": null,
- "queue_order": 0,
- "registered_order": 2,
- "self_registration": false,
- "updated_at": "2015-10-16T13:11:13+03:00",
- "member_id": 87346,
- "indication": "yes"
}
], - "accepted_card_product_ids": [
- 10,
- 11
]
}
}
id required | number ID of the event |
object (event) |
{- "event": {
- "name": "Morning Ice",
- "starts_at": "2014-10-30 06:00:00",
- "ends_at": "2014-10-30 06:00:00",
- "group_id": 34,
- "venue_id": 83
}
}
{- "event": {
- "allow_comments": true,
- "course_id": null,
- "description": null,
- "ends_at": "2014-10-30T06:00:00+02:00",
- "event_category_id": null,
- "group_id": 34,
- "id": 651,
- "max_participations": null,
- "name": "Morning Ice",
- "participants_public": true,
- "queue_enabled": false,
- "registration": "group",
- "registration_closes_at": null,
- "registration_opens_at": null,
- "send_confirmation": false,
- "starts_at": "2014-10-30T06:00:00+02:00",
- "venue_id": 83,
- "visibility": "group"
}
}
Lists courses in given group. Courses in subgroups are not included in the result. Results can be further filtered by given parameters. Courses to which user has no access will be excluded from the result. Maximum of 300 courses are returned.
end_date | string <date> Courses that start or end on or before that date will be returned. |
group_id | number id of the group to list courses for. |
group_ids | Array of arrays ids of the groups to list courses for. |
ids | Array of arrays ids of the courses to list. |
include_participants | boolean Default: false Include participants for each course |
start_date | string <date> Default: "yesterday's date" Courses that start or end on or after that date will be returned. |
updated_after | string <date-time> Courses basic information or its participations have changed after timestamp. |
[- {
- "course": {
- "id": 0,
- "allow_comments": true,
- "course_duration_type": "events",
- "description_html": "string",
- "event_category_id": 0,
- "group_id": 0,
- "max_participations": 0,
- "name": "string",
- "queue_enabled": true,
- "registration": "none",
- "registration_closes_at": "string",
- "registration_opens_at": "string",
- "send_confirmation": true,
- "visibility": "none",
- "description": "string"
}
}
]
{- "course": {
- "name": "Morning Ice",
- "registration_opens_at": "2022-10-30 06:00:00",
- "group_id": 34
}
}
{- "course": {
- "allow_comments": true,
- "description": null,
- "ends_at": "2022-10-30T06:00:00+02:00",
- "event_category_id": null,
- "group_id": 34,
- "id": 651,
- "max_participations": null,
- "name": "Morning Ice",
- "queue_enabled": false,
- "registration_closes_at": null,
- "registration_opens_at": null,
- "registration": "group",
- "send_confirmation": false,
- "starts_at": "2022-10-30T06:00:00+02:00",
- "visibility": "group"
}
}
{- "course": {
- "allow_comments": true,
- "description": null,
- "ends_at": "2022-10-30T06:00:00+02:00",
- "event_category": {
- "color": "#00ffff",
- "name": "Training"
}, - "group_id": 34,
- "id": 651,
- "invoices": [
- {
- "due_amount": "25.0",
- "due_date": "2015-10-23",
- "id": 101,
- "member_id": 105,
- "status": "open"
}, - {
- "due_amount": "12.0",
- "due_date": "2015-10-25",
- "id": 102,
- "member_id": 106,
- "status": "paid"
}
], - "max_participations": null,
- "name": "Morning Ice",
- "queue_enabled": false,
- "registration": "group",
- "registration_closes_at": null,
- "registration_opens_at": null,
- "send_confirmation": false,
- "starts_at": "2022-10-30T06:00:00+02:00",
- "visibility": "group",
- "participations": [
- {
- "comment": null,
- "confirmed_at": "2015-10-22T10:30:50+03:00",
- "created_at": "2015-10-16T13:11:13+03:00",
- "price": null,
- "queue_order": 0,
- "registered_order": 1,
- "self_registration": false,
- "updated_at": "2015-10-22T10:30:50+03:00",
- "member_id": 87338,
- "indication": "no_response"
}, - {
- "comment": null,
- "confirmed_at": null,
- "created_at": "2015-10-16T13:11:13+03:00",
- "price": null,
- "queue_order": 0,
- "registered_order": 2,
- "self_registration": false,
- "updated_at": "2015-10-16T13:11:13+03:00",
- "member_id": 87346,
- "indication": "yes"
}
], - "accepted_card_product_ids": [
- 10,
- 11
]
}
}
id required | number ID of the course |
object Course |
{- "course": {
- "name": "Morning Ice",
- "registration_opens_at": "2022-10-30 06:00:00",
- "group_id": 34
}
}
{- "course": {
- "allow_comments": true,
- "description": null,
- "ends_at": "2022-10-30T06:00:00+02:00",
- "event_category_id": null,
- "group_id": 34,
- "id": 651,
- "max_participations": null,
- "name": "Morning Ice",
- "queue_enabled": false,
- "registration": "group",
- "registration_closes_at": null,
- "registration_opens_at": null,
- "send_confirmation": false,
- "starts_at": "2022-10-30T06:00:00+02:00",
- "visibility": "group"
}
}
Only API users which is club owner can create new members.
object Member |
{- "member": {
- "birthday": "1990-01-01",
- "city": "Espoo",
- "clothing_size": "M",
- "email": "john.doe@spam.com",
- "gender": "male",
- "street": "Albergan puistotie",
- "zip": "02600",
- "first_name": "John",
- "last_name": "Doe",
- "custom_values": {
- "Integer Custom Field": 1,
- "Boolean Custom Field": true,
- "Date Custom Field": "2014-01-01",
- "Multiselect Custom Field": [
- "Multiselect Item 1",
- "Multiselect Item 2"
]
}
}
}
{- "member_id": 10001
}
IMPORTANT PRIVACY NOTICE
public_fields
and public_custom_fields
elements describe which information the member has decided to make publicly available. If a field is not listed in these elements IT'S VALUE MUST NOT BE DISPLAYED PUBLICLY.
id required | number |
{- "member": {
- "active": true,
- "birthday": "1990-01-01",
- "city": "Espoo",
- "clothing_size": "M",
- "club_id": 9,
- "competition_number": "42",
- "confirmed": false,
- "country": "Suomi",
- "created_at": "2014-11-12T11:02:26+02:00",
- "email": "john.doe@spam.com",
- "email_2": "jack.doe@spam.com",
- "email_3": "jane.doe@spam.com",
- "email_confirmations": true,
- "external_license_id": "007",
- "first_name": "John",
- "gender": "male",
- "guardian_1_name": "Jack Doe",
- "guardian_1_phone": "+35891234",
- "guardian_2_name": "Jane Doe",
- "guardian_2_phone": "+35891234",
- "hcp": "13.0",
- "height": 178,
- "hetu": "010190-126J",
- "id": 1234,
- "import_id": null,
- "invoicing_info": null,
- "joined_at": "2014-01-01",
- "last_name": "Doe",
- "last_request_at": null,
- "left_at": null,
- "locale": "fi",
- "notes": null,
- "notifications": true,
- "organisation": null,
- "own_notes": null,
- "phone": "+24591234",
- "photography_permission": true,
- "street": "Albergan puistotie",
- "terms_accepted": false,
- "updated_at": "2014-11-12T11:20:55+02:00",
- "week_mail": true,
- "weight": "76.0",
- "zip": "02600",
- "memberships": [ ],
- "custom_values": [
- {
- "title": "Pelipaikka",
- "data_type": "multilist",
- "value": [
- "Maalivahti"
]
}, - {
- "title": "Boolean",
- "data_type": "boolean",
- "value": false
}
], - "invoices": [
- {
- "due_amount": "25.0",
- "due_date": "2015-10-23",
- "id": 101,
- "member_id": 1234,
- "status": "open"
}, - {
- "due_amount": "12.0",
- "due_date": "2015-10-25",
- "id": 102,
- "member_id": 1234,
- "status": "paid",
- "starts_at": "2015-10-25T11:00:00.000+03:00",
- "ends_at": null,
- "event_id": 110,
- "event_name": "Training"
}
], - "avatars": {
}, - "public_fields": [
- "first_name",
- "last_name",
- "phone"
], - "public_custom_fields": [
- "Pelipaikka"
]
}
}
Finds member by name, names must match exactly.
first_name required | string |
last_name required | string |
{- "member": {
- "active": true,
- "birthday": "1990-01-01",
- "business": false,
- "city": "Espoo",
- "clothing_size": "M",
- "club_id": 9,
- "coach": false,
- "competition_number": "42",
- "confirmed": false,
- "country": "Suomi",
- "created_at": "2014-11-12T11:02:26+02:00",
- "default_group_id": null,
- "email": "john.doe@spam.com",
- "email_2": "jack.doe@spam.com",
- "email_3": "jane.doe@spam.com",
- "email_confirmations": true,
- "external_license_id": "007",
- "first_name": "John",
- "gender": "male",
- "guardian_1_name": "Jack Doe",
- "guardian_1_phone": "+35891234",
- "guardian_2_name": "Jane Doe",
- "guardian_2_phone": "+35891234",
- "hcp": "13.0",
- "height": 178,
- "hetu": "010190-126J",
- "id": 1234,
- "import_id": null,
- "invoicing_info": null,
- "joined_at": "2014-01-01",
- "last_name": "Doe",
- "last_request_at": null,
- "left_at": null,
- "locale": "fi",
- "notes": null,
- "notifications": true,
- "organisation": null,
- "own_notes": null,
- "owner": false,
- "phone": "+24591234",
- "photography_permission": true,
- "street": "Albergan puistotie",
- "terms_accepted": false,
- "updated_at": "2014-11-12T11:20:55+02:00",
- "week_mail": true,
- "weight": "76.0",
- "zip": "02600",
- "memberships": [ ],
- "custom_values": [
- {
- "title": "Pelipaikka",
- "data_type": "multilist",
- "value": [
- "Maalivahti"
]
}, - {
- "title": "Boolean",
- "data_type": "boolean",
- "value": false
}
], - "avatars": {
}, - "public_fields": [
- "first_name",
- "last_name",
- "phone"
], - "public_custom_fields": [
- "Pelipaikka"
]
}
}
Adds the member to a group or updates an existing membership.
group_id required | number ID of the group |
member_id required | number ID of the member |
level | string Level for the member, if omitted, level information is not set and will also be removed from existing membership. |
{- "level": "Maalivahti"
}
{- "message": "ok"
}
Returns id of newly created invoice
object Invoice |
{- "invoice": {
- "bank_account_id": 9,
- "due_date": "2014-12-01",
- "group_id": 34,
- "member_id": 171,
- "invoice_lines": [
- {
- "category_id": 57,
- "gross_unit_price": "250.0",
- "net_unit_price": "200.0",
- "number": 100,
- "quantity": "1.0",
- "title": "Jääkiekkolasku",
- "vat_percent": "25.0"
}
]
}
}
113
{- "invoice": {
- "bank_account_id": 9,
- "comments": null,
- "created_at": "2014-11-11T14:48:12+02:00",
- "currency": "EUR",
- "delivered": false,
- "due_amount": "120.0",
- "due_date": "2014-11-25",
- "e_invoice_sent_at": null,
- "event_id": null,
- "formatted_reference": "2859",
- "group_id": 43,
- "id": 113,
- "internal_comment": "",
- "issued_on": null,
- "last_payment_entered_on": "2014-11-11",
- "last_payment_on": "2014-11-11",
- "message": "",
- "paid_amount": "120.0",
- "payment_term_days": 14,
- "penal_interest": "11.5",
- "reference": "2859",
- "reference_prefix": null,
- "status_id": "draft",
- "updated_at": "2014-11-11T14:49:21+02:00",
- "member_ext_id": 171,
- "invoice_lines": [
- {
- "category_id": 57,
- "created_at": "2014-11-11T14:48:12+02:00",
- "editable": true,
- "gross_unit_price": "120.0",
- "id": 134,
- "net_unit_price": "120.0",
- "number": 100,
- "product_id": null,
- "quantity": "1.0",
- "title": "Jäämaksu",
- "updated_at": "2014-11-11T14:49:21+02:00",
- "vat_percent": "0.0"
}
], - "payments": [
- {
- "amount": "120.0",
- "bank_account_id": null,
- "comment": "Käteismaksu",
- "created_at": "2014-11-11T14:49:21+02:00",
- "creator_id": 2170,
- "entry_date": "2014-11-11",
- "filing_code": "Simo Aho ti 11 marras 14",
- "payer": null,
- "payment_date": "2014-11-11",
- "payment_import_id": null,
- "reference": null,
- "updated_at": "2014-11-11T14:49:21+02:00",
- "visible": true,
- "payment_method": "cash"
}
]
}
}
Lists notifications in given groups or all.
group_id | number |
group_ids | Array of integers Array of group ids to search notifications from. If blank, return all. |
visibility | string Enum: "all" "group" "public" Filter notifications by visibility. Defaults to all. |
[- {
- "notification": {
- "id": 22,
- "group_id": 10,
- "subject": "Rules of conduct",
- "details_html": "<ul><li>Be nice</li><li>Help each other</li></ul>",
- "published_at": null,
- "expires_at": null,
- "updated_at": "2020-05-30T13:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "public",
- "attachments": [
- {
- "id": 1,
- "file_name": "notes.pdf",
- "content_type": "application/pdf"
}
],
}
}, - {
- "notification": {
- "id": 24,
- "group_id": 5,
- "subject": "Team announcement",
- "details_html": "<p>End of season party during next week end! Join the fun!</p>",
- "published_at": "2020-05-24T00:00:00.000+03:00",
- "expires_at": "2020-05-31T00:00:00.000+03:00",
- "updated_at": "2020-05-30T13:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "group",
- "attachments": [ ],
- "photo_small": null,
- "photo_original": null
}
}
]
object Notification |
{- "notification": {
- "group_id": 10,
- "subject": "Rules of conduct",
- "details": "<ul><li>Be nice</li><li>Help each other</li></ul>",
- "published_at": "2020-05-24T00:00:00.000+03:00",
- "expires_at": "2020-05-31T00:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "public"
}
}
{- "notification": {
- "id": 22,
- "group_id": 10,
- "subject": "Rules of conduct",
- "details_html": "<ul><li>Be nice</li><li>Help each other</li></ul>",
- "published_at": "2020-05-24T00:00:00.000+03:00",
- "expires_at": "2020-05-31T00:00:00.000+03:00",
- "updated_at": "2020-05-30T13:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "public",
- "attachments": [ ],
- "photo_small": null,
- "photo_original": null
}
}
id required | number ID of the Notification |
{- "notification": {
- "id": 22,
- "group_id": 10,
- "subject": "Rules of conduct",
- "details_html": "<ul><li>Be nice</li><li>Help each other</li></ul>",
- "published_at": "2020-05-24T00:00:00.000+03:00",
- "expires_at": "2020-05-31T00:00:00.000+03:00",
- "updated_at": "2020-05-30T13:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "public",
- "attachments": [
- {
- "id": 1,
- "file_name": "notes.pdf",
- "content_type": "application/pdf"
}
],
}
}
id required | number ID of the Notification |
object Notification |
{- "notification": {
- "subject": "Updated rules of conduct"
}
}
{- "notification": {
- "id": 22,
- "group_id": 10,
- "subject": "Updated rules of conduct",
- "details_html": "<ul><li>Be nice</li><li>Help each other</li></ul>",
- "published_at": "2020-05-24T00:00:00.000+03:00",
- "expires_at": "2020-05-31T00:00:00.000+03:00",
- "updated_at": "2020-05-30T13:00:00.000+03:00",
- "allow_comments": true,
- "visibility": "public",
- "attachments": [
- {
- "id": 1,
- "file_name": "notes.pdf",
- "content_type": "application/pdf"
}
],
}
}
Lists all groups for the club. Group is needed when creating events or invoices.
[- {
- "group": {
- "description_html": "<h1>Hockey team</h1><p>This team loves to play hockey</p>",
- "display_order": 1,
- "email": "myclub.demo@gmail.com",
- "id": 34,
- "level_set_id": 33,
- "name": "Jääkiekkojaos",
- "parent_id": 33,
- "updated_at": "2013-08-27T13:15:06+03:00",
}
}, - {
- "group": {
- "description_html": null,
- "display_order": 2,
- "email": "myclub.demo@gmail.com",
- "id": 35,
- "level_set_id": 34,
- "name": "F-juniorit",
- "parent_id": 34,
- "updated_at": "2013-08-27T13:15:06+03:00",
- "photo_small": null,
- "photo_original": null
}
}
]
Returns a list of all memberships in the group. Membership includes member level and member id.
The level of membership can only be shown publicly if the member's public_fields
element contains the identifier "level".
id required | number |
[- {
- "membership": {
- "group_id": 211,
- "member_id": 87338,
- "created_at": "2011-12-15T11:07:45+02:00",
- "updated_at": "2011-12-15T11:07:47+02:00",
- "level": "Pelaaja",
- "level_display_order": 1
}
}, - {
- "membership": {
- "group_id": 211,
- "member_id": 87346,
- "created_at": "2011-12-15T11:07:46+02:00",
- "updated_at": "2011-12-15T11:07:47+02:00",
- "level": "Pelaaja",
- "level_display_order": 1
}
}
]
Returns a list of membership levels used in the group. Needed when creating new members.
id required | number |
[- "Kannattajajäsen",
- "Jäsen",
- "Valmennuspäälikkö",
- "Kunniajäsen",
- "Hallituksen jäsen",
- "Hallituksen puheenjohtaja"
]
Returns a list of membership levels used in the group with details.
id required | number |
[- {
- "level": {
- "id": 1,
- "name": "Kannattajajäsen",
- "level_set_id": 3,
- "description": "Sponsorit",
- "sort_order": 2,
- "color": "#ff0000"
}
}, - {
- "level": {
- "id": 2,
- "name": "Jäsen",
- "level_set_id": 3,
- "description": "Varsinainen jäsen",
- "sort_order": 3,
- "color": "#00dd00"
}
}
]
Shows contracts in the club
member_id | number Id of member for which contracts should be returned |
[- {
- "contract": {
- "bank_account_id": 1,
- "contract_service_id": 4,
- "contractee_city": "Wuppertal",
- "contractee_email": "demo@clubway.de",
- "contractee_first_name": "Demo",
- "contractee_last_name": "Member",
- "contractee_phone": "0501234567",
- "contractee_street": "Demo street",
- "contractee_zip": "12345",
- "deferred_periods": [
- {
- "contract_id": 20,
- "ends_on": "2023-04-22",
- "id": 15,
- "starts_on": "2023-04-19"
}
], - "ext_id": 103,
- "extension_length": null,
- "extension_notice_period": null,
- "flag": false,
- "group_id": 6,
- "id": 20,
- "invoice_day": "first",
- "invoiced_periods": [
- {
- "contract_id": 20,
- "id": 50,
- "invoiced_amount": "75.0",
- "invoiced_from": "2023-03-02",
- "invoiced_to": "2023-04-01"
}, - {
- "contract_id": "20,",
- "id": 51,
- "invoiced_amount": "65.0",
- "invoiced_from": "2023-04-02",
- "invoiced_to": "2023-05-01"
}
], - "invoicing_period_length": 1,
- "member_id": 12,
- "notes": null,
- "notice_period": null,
- "notice_period_type": null,
- "recurring": false,
- "startup_fee": "24.9",
- "terminated_on": null,
- "terminates_on": null,
- "valid_from": "2023-03-02",
- "valid_until": "2023-06-01",
- "validity_period_type": "rolling",
- "vat_percent": "0.0"
}
}
]
Create a contract.
object Contract |
{- "contract": {
- "bank_account_id": 10,
- "contract_service_id": 2,
- "contractee_city": "Berlin",
- "contractee_email": "mail@clubway.de",
- "contractee_first_name": "John",
- "contractee_last_name": "Doe",
- "contractee_phone": "123456789",
- "contractee_street": "Street 1",
- "contractee_zip": "12345",
- "extension_length": 1,
- "extension_notice_period": 1,
- "flag": false,
- "group_id": 33,
- "invoice_day": "last",
- "invoicing_period_length": 1,
- "member_id": 129,
- "notes": "Some notes",
- "notice_period": 1,
- "notice_period_type": "from_termination",
- "recurring": true,
- "startup_fee": 19.9,
- "valid_from": "2023-03-02",
- "valid_until": "2023-06-01",
- "validity_period_type": "rolling",
- "vat_percent": 0
}
}
{- "contract": {
- "bank_account_id": 10,
- "contract_service_id": 2,
- "contractee_city": "Wuppertal",
- "contractee_email": "demo@clubway.de",
- "contractee_first_name": "Demo",
- "contractee_last_name": "Member",
- "contractee_phone": "0501234567",
- "contractee_street": "Demo street",
- "contractee_zip": "12345",
- "deferred_periods": [ ],
- "ext_id": 102,
- "extension_length": 1,
- "extension_notice_period": 1,
- "flag": false,
- "group_id": 33,
- "id": 21,
- "invoice_day": "last",
- "invoiced_periods": [ ],
- "invoicing_period_length": 1,
- "member_id": 129,
- "notes": "Some notes",
- "notice_period": 1,
- "notice_period_type": "from_termination",
- "recurring": true,
- "startup_fee": "19.9",
- "terminated_on": null,
- "terminates_on": null,
- "valid_from": "2023-03-02",
- "valid_until": "2023-06-01",
- "validity_period_type": "rolling",
- "vat_percent": "0.0"
}
}
[- {
- "contract_service": {
- "extension_length": 1,
- "extension_notice_period": 1,
- "id": 5,
- "invoice_day": "first",
- "invoicing_periods": [
- {
- "contract_service_id": 5,
- "id": 1,
- "period_length": 1,
- "unit_price": "100.0"
}, - {
- "contract_service_id": 5,
- "id": 2,
- "period_length": 6,
- "unit_price": "90.0"
}
], - "name": "Junior membership,",
- "notice_period": 1,
- "notice_period_type": "from_termination",
- "recurring": true,
- "startup_fee": "15.9",
- "validity_period_length": 1,
- "validity_period_start_month": null,
- "validity_period_type": "rolling",
- "vat_percent": "0.0"
}
}, - {
- "contract_service": {
- "extension_length": null,
- "extension_notice_period": null,
- "id": 26,
- "invoice_day": "middle",
- "invoicing_periods": [
- {
- "contract_service_id": 26,
- "id": 3,
- "period_length": 12,
- "unit_price": "329.9"
}
], - "name": "Yearly membership",
- "notice_period": null,
- "notice_period_type": null,
- "recurring": false,
- "startup_fee": "0.0",
- "validity_period_length": 12,
- "validity_period_start_month": 10,
- "validity_period_type": "fixed",
- "vat_percent": "0.0"
}
}
]
{- "club": {
- "name": "Demo Club",
- "street": "Example Street 5",
- "zip": "000000",
- "city": "Capitol City",
- "email": "email@democlub.com",
- "description": "Club for all sports.",
- "invoicing_details": {
- "reference": "Contact Person",
- "street": "Example Street 5",
- "zip": "000000",
- "city": "Capitol City",
- "e_invoice_address": "0506845840"
}
}
}
Returned collection is limited to 100 records.
since | string <date-time> Date of which to start listing orders. If empty returns all. |
{- "order": {
- "member_id": 123,
- "invoice_id": 456,
- "status": "open",
- "ext_id": 789,
- "created_at": "2021-04-16T15:06:09.000+03:00",
- "comment": "",
- "delivered_at": null,
- "internal_comment": null,
- "first_name": "John",
- "last_name": "Doe",
- "street": "Street 4",
- "zip": "12345",
- "city": "Helsinki",
- "email": "john.doe@mail.com",
- "phone": null,
- "lines": [
- {
- "quantity": 10,
- "comment": "",
- "product": {
- "id": 5,
- "visible_name": "Club Shirt L"
}
}
]
}
}
[- {
- "bank_account": null,
- "bic": "OKOYFIHH",
- "display_order": 0,
- "iban": "FI8650000120008123",
- "id": 9,
- "name": "Perustili",
- "online_payments": true,
- "receiver_address": null,
- "receiver_email": null,
- "receiver_name": "Demo-Seura"
}, - {
- "bank_account": null,
- "bic": "AABAFI22",
- "display_order": 0,
- "iban": "FI3866010001186123",
- "id": 10,
- "name": "Toinen tili",
- "online_payments": true,
- "receiver_address": "Linnoitustie 4A\r\n02600 Espoo",
- "receiver_email": "myclub.demo@gmail.com",
- "receiver_name": "Demo Seura Ry"
}
]
[- {
- "card_product": {
- "id": 10,
- "name": "Season card 2019",
- "valid_from": "2019-01-01",
- "valid_until": "2019-06-30",
- "days_valid": null,
- "usage_times": null,
- "gross_unit_price": "155.0",
- "vat_percent": "0.0"
}
}, - {
- "card_product": {
- "id": 11,
- "name": "10 times card",
- "valid_from": null,
- "valid_until": null,
- "days_valid": 90,
- "usage_times": 10,
- "gross_unit_price": "39.9",
- "vat_percent": "0.0"
}
}
]
[- {
- "custom_field": {
- "data_type": "integer",
- "decimal_count": null,
- "display_order": 100,
- "id": 10,
- "instructions": null,
- "member_editable": true,
- "member_visible": true,
- "name": "Shoe size",
- "status": "registration",
- "value_set": null
}
}, - {
- "custom_field": {
- "data_type": "multilist",
- "decimal_count": null,
- "display_order": 110,
- "id": 11,
- "instructions": null,
- "member_editable": true,
- "member_visible": true,
- "name": "Play positions",
- "status": "visible",
- "value_set": "Defender\nMidfielder\nAttacker"
}
}
]
[- {
- "event_category": {
- "id": 411,
- "color": "#ff0000",
- "name": "Training"
}
}, - {
- "event_category": {
- "id": 412,
- "color": "#959595",
- "name": "Tournament"
}
}, - {
- "event_category": {
- "id": 413,
- "color": "#446688",
- "name": "Match"
}
}
]
Shows invoicing categories that can be used to categorize invoice lines
[- {
- "invoicing_category": {
- "display_order": 100,
- "id": 57,
- "name": "Jäsenmaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 110,
- "id": 58,
- "name": "Kurssimaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 120,
- "id": 59,
- "name": "Kausimaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 140,
- "id": 60,
- "name": "Vakuutusmaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 130,
- "id": 61,
- "name": "Kenttämaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 150,
- "id": 62,
- "name": "Varustemaksut"
}
}, - {
- "invoicing_category": {
- "display_order": 160,
- "id": 63,
- "name": "Muu"
}
}
]
Lists all venues for the club. Used when creating an event an assigning a venue to that event
[- {
- "venue": {
- "city": "Espoo",
- "club_id": 9,
- "country": "Suomi",
- "created_at": "2013-08-27T13:15:00+03:00",
- "id": 81,
- "map_link": null,
- "name": "Kannusillanmäen väestönsuoja",
- "street": "Kannusillankatu 4",
- "updated_at": "2013-08-27T13:15:00+03:00",
- "web_link": null,
- "zip": "02770"
}
}, - {
- "venue": {
- "city": "Espoo",
- "club_id": 9,
- "country": "Suomi",
- "created_at": "2013-08-27T13:15:00+03:00",
- "id": 82,
- "map_link": null,
- "name": "Espoonlahden urheiluhalli",
- "street": "Rehtorintie 11",
- "updated_at": "2013-08-27T13:15:00+03:00",
- "web_link": null,
- "zip": "02320"
}
}
]
Lists event embeds in given groups or all.
group_ids | Array of integers array of group ids to search embeds from. If blank, return all. |
[- {
- "event_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "month",
- "visibility": "all",
- "registration": "all",
- "components": null,
- "max_amount": 20,
- "max_weeks": null,
- "embed_style_id": null,
- "hide_filters": true,
- "show_sub_groups": false,
- "subscription_enabled": null,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": null,
}
}, - {
- "event_embed": {
- "id": 555,
- "name": "Training",
- "group_id": 35,
- "default_mode": "list",
- "visibility": "group",
- "registration": "group",
- "components": null,
- "max_amount": null,
- "max_weeks": null,
- "embed_style_id": 7,
- "hide_filters": false,
- "show_sub_groups": true,
- "subscription_enabled": null,
- "default_locale": "fi",
- "category_ids": [
- 16
], - "venue_ids": null,
}
}
]
object Event Embed |
{- "event_embed": {
- "name": "League games",
- "group_id": 25,
- "default_mode": "month",
- "visibility": "all",
- "registration": "all",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
]
}
}
{- "event_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "month",
- "visibility": "all",
- "registration": "all",
- "components": null,
- "max_amount": 20,
- "max_weeks": null,
- "embed_style_id": null,
- "hide_filters": true,
- "show_sub_groups": false,
- "subscription_enabled": null,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": null,
}
}
{- "event_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "custom",
- "visibility": "all",
- "registration": "group",
- "components": [
- "indication_info",
- "indication_amounts"
], - "max_amount": 20,
- "max_weeks": 4,
- "embed_style_id": 23,
- "hide_filters": true,
- "show_sub_groups": false,
- "subscription_enabled": null,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": [
- 98,
- 104,
- 224
],
}
}
id required | number |
object Event Embed |
{- "event_embed": {
- "default_mode": "custom",
- "components": [
- "indication_info",
- "indication_amounts"
]
}
}
{- "event_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "custom",
- "visibility": "all",
- "registration": "group",
- "components": [
- "indication_info",
- "indication_amounts"
], - "max_amount": 20,
- "max_weeks": 4,
- "embed_style_id": 23,
- "hide_filters": true,
- "show_sub_groups": false,
- "subscription_enabled": null,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": [
- 98,
- 104,
- 224
],
}
}
Lists course embeds in given groups or all.
group_ids | Array of integers array of group ids to search embeds from. If blank, return all. |
[- {
- "course_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "list",
- "visibility": "all",
- "registration": "all",
- "max_weeks": null,
- "embed_style_id": null,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": null,
}
}, - {
- "course_embed": {
- "id": 555,
- "name": "Training",
- "group_id": 35,
- "default_mode": "list",
- "visibility": "group",
- "registration": "group",
- "max_weeks": null,
- "embed_style_id": 7,
- "hide_filters": false,
- "show_sub_groups": true,
- "default_locale": "fi",
- "category_ids": [
- 16
], - "venue_ids": null,
}
}
]
object course Embed |
{- "course_embed": {
- "name": "League games",
- "group_id": 25,
- "default_mode": "list",
- "visibility": "all",
- "registration": "all",
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
]
}
}
{- "course_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "list",
- "visibility": "all",
- "registration": "all",
- "max_weeks": null,
- "embed_style_id": null,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": null,
}
}
{- "course_embed": {
- "id": 554,
- "name": "League games",
- "group_id": 25,
- "default_mode": "list",
- "visibility": "all",
- "registration": "group",
- "max_weeks": 4,
- "embed_style_id": 23,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": [
- 98,
- 104,
- 224
],
}
}
id required | number |
object course Embed |
{- "course_embed": {
- "default_mode": "cards",
- "name": "League 2022-2023"
}
}
{- "course_embed": {
- "id": 554,
- "name": "League 2022-2023",
- "group_id": 25,
- "default_mode": "cards",
- "visibility": "all",
- "registration": "group",
- "max_weeks": 4,
- "embed_style_id": 23,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
- "category_ids": [
- 13
], - "venue_ids": [
- 98,
- 104,
- 224
],
}
}
Lists member embeds in given groups or all.
group_ids | Array of integers array of group ids to search embeds from. If blank, return all. |
[- {
- "member_embed": {
- "id": 73,
- "name": "Staff",
- "group_id": 67,
- "default_mode": "list_with_images",
- "max_amount": 10,
- "category_ids": [
- 12
], - "default_locale": "fi",
- "active_visible_fields": [ ],
- "active_promoted_fields": [ ]
}
}, - {
- "member_embed": {
- "id": 122,
- "name": "Players",
- "group_id": 67,
- "default_mode": "list_with_images",
- "max_amount": 30,
- "category_ids": [
- 22,
- 23
], - "default_locale": "fi",
- "active_visible_fields": [ ],
- "active_promoted_fields": [ ]
}
}
]
object Member Embed |
{- "member_embed": {
- "name": "Staff",
- "group_id": 67,
- "default_mode": "list_with_images",
- "max_amount": 10,
- "category_ids": [
- 12
], - "default_locale": "fi",
- "extra_settings": {
- "grouped_by": "level",
- "visible_fields": [
- "height",
- "weight",
- "3",
- "email"
], - "promoted_fields": [
- "avatar",
- "first_name",
- "last_name",
- "competition_number"
], - "sorted_by": [
- "level",
- "last_name"
]
}
}
}
{- "member_embed": {
- "id": 73,
- "name": "Staff",
- "group_id": 67,
- "default_mode": "list_with_images",
- "max_amount": 10,
- "category_ids": [
- 12
], - "default_locale": "fi",
- "active_visible_fields": [
- "height",
- "3",
- "email"
], - "active_promoted_fields": [
- "avatar",
- "first_name",
- "last_name",
- "competition_number"
], - "sorted_by": [
- "level",
- "last_name"
], - "grouped_by": "level"
}
}
{- "member_embed": {
- "id": 73,
- "name": "Staff",
- "group_id": 67,
- "default_mode": "list_with_images",
- "max_amount": 10,
- "category_ids": [
- 12
], - "default_locale": "fi",
- "active_visible_fields": [
- "height",
- "3",
- "email"
], - "active_promoted_fields": [
- "avatar",
- "first_name",
- "last_name",
- "competition_number"
]
}
}
id required | number |
object Event Embed |
{- "member_embed": {
- "default_mode": "list"
}
}
{- "member_embed": {
- "id": 73,
- "name": "Staff",
- "group_id": 67,
- "default_mode": "list",
- "max_amount": 10,
- "category_ids": [
- 12
], - "default_locale": "fi",
- "active_visible_fields": [ ],
- "active_promoted_fields": [ ]
}
}
Lists notification embeds in given groups or all.
group_ids | Array of integers array of group ids to search embeds from. If blank, return all. |
[- {
- "notification_embed": {
- "id": 33,
- "name": "News",
- "group_id": 25,
- "default_mode": "condensed",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
}
}, - {
- "notification_embed": {
- "id": 122,
- "name": "Team announcements",
- "group_id": 2,
- "default_mode": "list",
- "max_amount": 10,
- "hide_filters": false,
- "show_sub_groups": false,
- "default_locale": "fi",
}
}
]
object notification Embed |
{- "notification_embed": {
- "name": "News",
- "group_id": 25,
- "default_mode": "condensed",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi"
}
}
{- "notification_embed": {
- "id": 33,
- "name": "News",
- "group_id": 25,
- "default_mode": "condensed",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
}
}
{- "notification_embed": {
- "id": 33,
- "name": "News",
- "group_id": 25,
- "default_mode": "condensed",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
}
}
id required | number |
object notification Embed |
{- "notification_embed": {
- "default_mode": "list"
}
}
{- "notification_embed": {
- "id": 33,
- "name": "News",
- "group_id": 25,
- "default_mode": "list",
- "max_amount": 20,
- "hide_filters": true,
- "show_sub_groups": false,
- "default_locale": "fi",
}
}
[- {
- "shop_product_embed": {
- "id": 33,
- "name": "Top 20 Products",
- "max_amount": 20,
- "default_locale": "fi",
}
}, - {
- "shop_product_embed": {
- "id": 122,
- "name": "All products",
- "max_amount": null,
- "default_locale": "fi",
}
}
]
object shop-product Embed |
{- "shop_product_embed": {
- "name": "Top 30 Products",
- "max_amount": 30,
- "default_locale": "fi"
}
}
{- "shop_product_embed": {
- "id": 33,
- "name": "Top 30 Products",
- "max_amount": 30,
- "default_locale": "fi",
}
}
{- "shop_product_embed": {
- "id": 33,
- "name": "Top 30 Products",
- "max_amount": 30,
- "default_locale": "fi",
}
}
id required | number |
object shop-product Embed |
{- "shop_product_embed": {
- "name": "Top 20 Products",
- "max_amount": 20
}
}
{- "shop_product_embed": {
- "id": 33,
- "name": "Top 20 Products",
- "max_amount": 20,
- "default_locale": "fi",
}
}
Key | Required | Description |
---|---|---|
name |
X | Name of the style in UI |
custom_css |
* | Inline content for the stylesheet. Must be valid css. Required unless stylesheet_url is provided. |
stylesheet_url |
* | Url from which css stylesheet is loaded. Required unless custom_css is provided. |
Either custom_css
or stylesheet_url
must be provided
object Embed Style |
{- "embed_style": {
- "name": "string",
- "custom_css": "string",
- "stylesheet_url": "string"
}
}
{- "embed_style": {
- "id": 0,
- "name": "string",
- "custom_css": "string",
- "stylesheet_url": "string"
}
}
id required | number |
object Embed Style |
{- "embed_style": {
- "name": "Green theme",
- "custom_css": " body { background-color: 'green' } "
}
}
{- "embed_style": {
- "name": "Green theme",
- "custom_css": " body { background-color: 'green' } ",
- "stylesheet_url": null
}
}