Introduction
The FamilyID API is organized using REST methodology. This means that you can predict what resources you will get based on the URL. All responses are returned as JSON objects, including errors. If you request some object that is not present, then you still get a JSON object that will have null data with error message that the object has not been found. This is done to help you to render form or object data even if it has failed.
In production, all calls should be done via HTTPS; non-SSL requests are not allowed.
Authorization goes via oAuth2 standard. Available scopes are:
- org:programs:read -
This scope allows the connected application to retrieve programs. - org:registrations:basic -
This scope allows the connected application to retrieve basic information for a program’s registrations. - org:registrations:sections:read -
This scope allows the connected application to retrieve sections’, section options’ and addons’ information provided in registrations. - org:registrations:internal_fields:read -
This scope allows the connected application to retrieve internal fields information provided in registrations. - org:registrations:agreements -
This scope allows the connected application to retrieve registration agreements and policies information provided in registrations. - org:registrations:form:addresses -
This scope allows the connected application to retrieve addresses used in registrations. - org:registrations:form:doctors -
This scope allows the connected application to retrieve doctors listed in registrations. - org:registrations:form:emergency_contacts -
This scope allows the connected application to retrieve emergency contacts listed in registrations. - org:registrations:form:insurances -
This scope allows the connected application to retrieve insurance information provided in registrations. - org:registrations:form:parents -
This scope allows the connected application to retrieve parent/guardian/custodian information provided in registrations. - org:registrations:form:registrant_information -
This scope allows the connected application to retrieve registrant information provided in registrations. - org:registrations:form:concerns_and_comments -
This scope allows the connected application to retrieve information provided in the Concerns and Comments section of the registration form. - org:registrations:payment_information -
This scope allows the connected application to retrieve the payment information provided in registrations.
Include more information to the object
# Example:
curl "https://payment.familyid.com/v1/some-path?
include[]=registration_sections&
include[]=registration_form_blocks&
organization_id=2"
-H "Authorization: meowmeowmeow"
Nested information of objects can be retrieved through the ‘include’ parameter (Array). Objects that can be included will be noted below. This parameter is available on the majority of API requests, and applies to the response of each request only. To update or create such objects, you need to add “_attributes” to the end of relation name (Rails schema). If you create nested object, then it will be returned in the response even if parameter ‘include’ is not marked.
Pagination
All top-level API list requests have support for bulk fetches via pagination headers. For instance, you can list people, programs, and registrations. Needed headers are located in the response: “X-total”, “X-offset” and “X-limit”. Based on this information, you can request the next pages.
To request specific list just add to the parameters “per” and/or “page”. By default, “page” equals 1 and “per” equals 25.
Data security
Our application uses roles to determine what data is made available. In order to get data for a specific organization, you need to provide the value for “organization_id” for the organization you are working with.
The prefix “org:” at the beginning of the scope means that you’re working with organization information.
Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "https://payment.familyid.com/v1"
-H "Authorization: meowmeowmeow"
Make sure to replace
meowmeowmeow
with your API key.
FamilyID uses API keys to allow access to the API. You can register a new API key at our portal sandbox).
The server expects for the API key to be included in all API requests to the server in a header that looks like the following:
Authorization: meowmeowmeow
API Endpoints
For production, use (used in all examples): https://payment.familyid.com/v1
For sandbox, use: http://api.demo.familyid.com/v1
.
Users
This data type is always scoped to your user. So, index or show will return your user.
Get All Users
curl "https://payment.familyid.com/v1/users"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
[
"id":2,
"email":"lev.tolstoi@gmail.com",
"phone":null,
"mobile_phone":null,
"agree_with_terms":null,
"send_marketing_emails":null,
"time_zone_name":"Eastern Time (US \u0026 Canada)",
"activated_at":"2016-12-09T08:54:25.034Z",
"last_sign_in_at":"2017-03-29T11:28:25.630Z",
"default_profile_id":5,
"default_profile_type":"Organization",
"permissions":
{
"admin_login":true,
"full_access":true
},
"uuid":"5002a65b-c2f1-4b80-ac1b-29fe9ae1ed8c",
"created_at":"2016-12-09T08:47:55.546Z",
"updated_at":"2017-03-14T13:31:31.814Z",
"first_name":"Lev1",
"last_name":"Tolstoi",
"notification_email":null,
"prev_sign_in_at":"2017-03-29T10:25:51.111Z",
"deactivated":false,
"failed_logins_count":0,
"login_blocked":false,
"all_organization_ids":[5]
}
],
"notifications":[]
}
}
This endpoint retrieves your user in an Array.
HTTP Request
GET https://payment.familyid.com/v1/users
Get a Specific User
curl "https://payment.familyid.com/v1/users/2"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
"id":2,
"email":"lev.tolstoi@gmail.com",
"phone":null,
"mobile_phone":null,
"agree_with_terms":null,
"send_marketing_emails":null,
"time_zone_name":"Eastern Time (US \u0026 Canada)",
"activated_at":"2016-12-09T08:54:25.034Z",
"last_sign_in_at":"2017-03-29T11:28:25.630Z",
"default_profile_id":5,
"default_profile_type":"Organization",
"permissions":
{
"admin_login":true,
"full_access":true
},
"uuid":"5002a65b-c2f1-4b80-ac1b-29fe9ae1ed8c",
"created_at":"2016-12-09T08:47:55.546Z",
"updated_at":"2017-03-14T13:31:31.814Z",
"first_name":"Lev1",
"last_name":"Tolstoi",
"notification_email":null,
"prev_sign_in_at":"2017-03-29T10:25:51.111Z",
"deactivated":false,
"failed_logins_count":0,
"login_blocked":false,
"all_organization_ids":[5]
}
,
"notifications":[]
}
}
This endpoint retrieves a specific user.
HTTP Request
GET https://payment.familyid.com/v1/users/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | Any ID |
Organizations
Organization Object
Attributes
id
integer |
Unique identifier for the object. | ||||||||||||||||||||||||||
name
string |
Name of organization. | ||||||||||||||||||||||||||
tag_line
string |
Organization’s tag line. | ||||||||||||||||||||||||||
user_id
integer |
Organization user (organization owner) unique identifier. | ||||||||||||||||||||||||||
parent_id
integer |
Parent organization unique identifier. | ||||||||||||||||||||||||||
website
string |
Organization’s website. | ||||||||||||||||||||||||||
logo
hash |
Links to the image by sizes. Key with the name ‘url’ is original size. | ||||||||||||||||||||||||||
logo_processing
boolean string |
Shows if logo is processing right now. | ||||||||||||||||||||||||||
slug
string |
Unique identifier for the object in human readable format. | ||||||||||||||||||||||||||
updated_at
timestamp |
Shows when object was most recently updated. | ||||||||||||||||||||||||||
remote_id
string |
Field to save your system organization ID here. | ||||||||||||||||||||||||||
subscription_plan
string |
Subscription plan for the organization (basic or premium). | ||||||||||||||||||||||||||
has_valid_subscription
boolean |
if set to true then you have new subscription | ||||||||||||||||||||||||||
time_zone_name
string |
Organization’s main address; if organization has multiple addresses, the first address listed will be identified as the main address. | ||||||||||||||||||||||||||
main_address
object, if requested in include |
Main address of organization. It is the first address from the list of addresses
Show attributes
|
||||||||||||||||||||||||||
addresses
array of objects, if requested in include |
All addresses for the organization, including the main address.
Show attributes
|
||||||||||||||||||||||||||
links
array of objects, if requested in include |
All links for the organization.
Show attributes
|
||||||||||||||||||||||||||
photos
array of objects, if requested in include |
All photos for the organization.
Show attributes
|
||||||||||||||||||||||||||
contacts
array of objects, if requested in include |
All contacts for the organization.
Show attributes
|
||||||||||||||||||||||||||
program_addons
array of objects, if requested in include |
Active organization addons.
Show attributes
|
||||||||||||||||||||||||||
urls
hash |
Possible urls where you can send user on main page. Depending on your rights you may have more or less rights. |
Get All Organizations
curl "https://payment.familyid.com/v1/organizations"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
[
{
"id": 5,
"name": "New Organization",
"description": "",
"tag_line": "",
"user_id": 2,
"parent_id": null,
"website": "",
"logo": null,
"logo_tmp": null,
"logo_processing": null,
"subscription_plan_id": 1,
"slug": "dada",
"updated_at": "2017-03-27T08:26:02.127Z",
"subscription_plan": "basic",
"has_valid_subscription": true,
"time_zone_name": "Eastern Time (US & Canada)"
}
],
"notifications":[]
}
}
This endpoint retrieves organization in an Array in which you have received access during the authorization process.
HTTP Request
GET https://payment.familyid.com/v1/organizations
Query Parameters
Parameter | Default | Description |
---|---|---|
include[main_address] | no | If defined, response will return the organization’s main address. |
include[addresses] | no | If defined, response will return all organization addresses. |
include[links] | no | If defined, response will return all organization links. |
include[photos] | no | If defined, response will return all organization photos. |
include[contacts] | no | If defined, response will return all organization contacts. |
include[program_addons] | no | If defined, response will return active organization addons. |
include[archived_program_addons] | no | If defined, response will return archived organization addons. |
include[payment_methods] | no | If defined, response will return all organization payment_methods. |
include[custom_fields] | no | If defined, response will return all organization custom fields. |
include[internal_fields] | no | If defined, response will return all organization internal fields. |
include[active_program_internal_field] | no | If defined, response will return active internal fields for the organization’s programs. |
include[program_internal_fields] | no | If defined, response will return all organization internal fields which are used in programs. |
include[programs] | no | If defined response will return all programs for the organization. |
include[urls] | no | If defined response will return urls to manipulate organization accessible for you. |
Get a Specific Organization
curl "https://payment.familyid.com/v1/organizations/2"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
{
"id": 5,
"name": "New Organization",
"description": "",
"tag_line": "",
"user_id": 2,
"parent_id": null,
"website": "",
"logo": null,
"logo_tmp": null,
"logo_processing": null,
"subscription_plan_id": 1,
"slug": "dada",
"updated_at": "2017-03-27T08:26:02.127Z",
"subscription_plan": "basic",
"has_valid_subscription": true,
"time_zone_name": "Eastern Time (US & Canada)"
}
,
"notifications":[]
}
}
In this endpoint, you have access to only the organization to which you received access during the authorization process.
HTTP Request
GET https://payment.familyid.com/v1/organizations/<ID>
URL Parameters
Programs
Get All Programs
curl "https://payment.familyid.com/v1/programs"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
[
{
"id":11,
"organization_id":5,
"name":"Graduation Program",
"slug":"graduation",
"description":"",
"tag_line":null,
"multiple_sections":true,
"sections_instructions":null,
"registration_information":"",
"tags":null,
"deposit_amount":"10.0",
"deposit_allowed":false,
"overdeposit_payment_method":"online",
"fee_payer":"charge_organization",
"logo":null,
"logo_tmp":null,
"logo_processing":null,
"archived":false,
"payment_deadline":null,
"registration_deadline":null,
"payment_instructions":null,
"refund_instructions":null,
"publishing_state":"public",
"publishing_starts_at":"2017-02-20T10:41:00.000Z",
"publishing_ends_at":"2017-12-16T17:42:00.000Z",
"registration_state":"open",
"registration_starts_at":"2017-02-20T10:41:00.000Z",
"registration_ends_at":"2017-12-30T17:42:00.000Z",
"position":null,
"old_logo_id":null,
"old_slug":null,
"old_id":null,
"created_at":"2017-02-20T10:40:33.071Z",
"updated_at":"2017-02-20T14:08:37.969Z",
"sharing_id":"15283cc3-a369-4b63-89df-79000bd8e7db",
"deleted":false,
"from_template_id":null,
"from_template_at":null,
"render_publishing_state":"public",
"render_registration_state":"open"
}
],
"notifications":[]
}
}
This endpoint retrieves all programs to which you received access during the authorization process.
HTTP Request
GET https://payment.familyid.com/v1/programs
Query Parameters
Parameter | Default | Description |
---|---|---|
organization_id | nil | required for scopes started with “org:” |
include[form_parts] | no | If defined, response will return form parts, blocks, attributes and custom fields. Needed to see which registration form the program already have. |
include[addons] | no | If defined, response will return all addons used by the program. |
include[not_archived_addons] | no | If defined, response will return only those addons that are not archived. |
include[sections] | no | If defined, response will return all section within the program, with section options and choices. |
include[agreements] | no | If defined, response will return agreements and policies. |
include[program_addons] | no | If defined, response will return connection between organization addons and program. |
include [product_payment_methods] | no | If defined, response will return all payment methods used in this program. |
include[addresses] | no | If defined, response will return all program addresses. |
include[main_address] | no | If defined, response will return the program’s main address. |
include[contacts] | no | If defined, response will return all contacts. |
include[links] | no | If defined, response will return all links. |
include[urls] | no | If defined response will return urls to manipulate program accessible for you. |
Get a Specific Program
curl "https://payment.familyid.com/v1/programs/2"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
{
"id":11,
"organization_id":5,
"name":"Graduation Program",
"slug":"graduation",
"description":"",
"tag_line":null,
"multiple_sections":true,
"sections_instructions":null,
"registration_information":"",
"tags":null,
"deposit_amount":"10.0",
"deposit_allowed":false,
"overdeposit_payment_method":"online",
"fee_payer":"charge_organization",
"logo":null,
"logo_tmp":null,
"logo_processing":null,
"archived":false,
"payment_deadline":null,
"registration_deadline":null,
"payment_instructions":null,
"refund_instructions":null,
"publishing_state":"public",
"publishing_starts_at":"2017-02-20T10:41:00.000Z",
"publishing_ends_at":"2017-12-16T17:42:00.000Z",
"registration_state":"open",
"registration_starts_at":"2017-02-20T10:41:00.000Z",
"registration_ends_at":"2017-12-30T17:42:00.000Z",
"position":null,
"old_logo_id":null,
"old_slug":null,
"old_id":null,
"created_at":"2017-02-20T10:40:33.071Z",
"updated_at":"2017-02-20T14:08:37.969Z",
"sharing_id":"15283cc3-a369-4b63-89df-79000bd8e7db",
"deleted":false,
"from_template_id":null,
"from_template_at":null,
"render_publishing_state":"public",
"render_registration_state":"open"
}
,
"notifications":[]
}
}
This endpoint retrieves specific program from a list where you were given access during the authorization process.
HTTP Request
GET https://payment.familyid.com/v1/programs/<ID>
URL Parameters
Registrations
Registration Object
curl "https://payment.familyid.com/v1/registrations/363"
-H "Authorization: meowmeowmeow"
{"object":
{"id":363,
"person_id":163,
"program_id":109,
"state":"completed",
"registration_date":"2017-08-10T13:33:03.795Z",
"uuid":"e4b3ab6a-fbbf-4cc9-99bb-f3250566ac4a",
"user_change_at":"2017-08-10T13:33:03.764Z",
"created_at":"2017-08-10T13:32:55.782Z",
"owner_id":36,
"owner_type":"User",
"owner":
{"email":"amiles@familyid.com",
"uuid":"dbadfb41-7444-42f7-8b81-1ee4d59dcea5",
"first_name":"Adam",
"last_name":"Miles",
"all_organization_ids":[63, 61, 48, 50, 47]},
"person":
{"id":163,
"first_name":"Andy",
"last_name":"Arbogast",
"uuid":"9ca828ad-37c7-4f30-b5d7-fe51976f27a7"},
"registration_form_blocks":
[{"id":1570,
"registration_id":363,
"form_block_id":3494,
"entity_id":55,
"entity_type":"PersonConcern",
"style":nil,
"created_at":"2017-08-10T13:32:55.866Z",
"updated_at":"2017-08-10T13:32:56.121Z",
"options":
{"requested_entity_attributes":
{"head_injury":"No",
"medical_attention_for_head_injury":"No",
"diagnosed_concussion":"No"}},
"old_custom_attrs":{},
"form_block":
{"id":3494,
"form_part_id":981,
"name":"Head Injury/Concussion",
"style":"Product::FormBlock::PartPersonHeadConcern",
"handle":"head-injuryconcussion",
"position":2,
"created_at":"2017-08-10T13:21:54.806Z",
"updated_at":"2017-08-10T13:27:34.551Z"},
"entity":
{"id":55,
"head_injury":"No",
"medical_attention_for_head_injury":"No",
"diagnosed_concussion":"No"}},
{"id":1569,
"registration_id":363,
"form_block_id":3493,
"entity_id":55,
"entity_type":"PersonConcern",
"style":nil,
"created_at":"2017-08-10T13:32:55.859Z",
"updated_at":"2017-08-10T13:32:56.092Z",
"options":
{"requested_entity_attributes":
{"allergies":"No",
"asthma":"Yes, Has asthma inhaler",
"cardiac_health":"No",
"diabetes":"No",
"eating":"No",
"epi_pen":"No",
"hospitalization":"No",
"injuries":"No",
"orthopedic":"No",
"physical_limitations":"No",
"protective_or_corrective_equipment":"No",
"seizure_disorder":"No",
"serious_illnesses":"Yes, Asthma",
"vision":"No",
"other":"No"}},
"old_custom_attrs":{},
"form_block":
{"id":3493,
"form_part_id":981,
"name":"Health/Medical",
"style":"Product::FormBlock::PartPersonConcern",
"handle":"healthmedical",
"position":1,
"created_at":"2017-08-10T13:21:54.791Z",
"updated_at":"2017-08-10T13:27:34.499Z"},
"entity":
{"id":55,
"allergies":"No",
"asthma":"Yes, Has asthma inhaler",
"cardiac_health":"No",
"diabetes":"No",
"eating":"No",
"epi_pen":"No",
"hospitalization":"No",
"injuries":"No",
"orthopedic":"No",
"physical_limitations":"No",
"protective_or_corrective_equipment":"No",
"seizure_disorder":"No",
"serious_illnesses":"Yes, Asthma",
"vision":"No",
"other":"No"}},
{"id":1568,
"registration_id":363,
"form_block_id":3492,
"entity_id":55,
"entity_type":"PersonConcern",
"style":nil,
"created_at":"2017-08-10T13:32:55.852Z",
"updated_at":"2017-08-10T13:32:56.063Z",
"options":
{"requested_entity_attributes":
{"academic":"No",
"behavioral":"No",
"social":"No",
"special_needs":"No"}},
"old_custom_attrs":{},
"form_block":
{"id":3492,
"form_part_id":981,
"name":"Academic/Behavioral",
"style":"Product::FormBlock::PartPersonAcademicConcern",
"handle":"academicbehavioral",
"position":0,
"created_at":"2017-08-10T13:21:54.775Z",
"updated_at":"2017-08-10T13:27:34.295Z"},
"entity":
{"id":55,
"academic":"No",
"behavioral":"No",
"social":"No",
"special_needs":"No"}},
{"id":1565,
"registration_id":363,
"form_block_id":3468,
"entity_id":72,
"entity_type":"PersonGraduation",
"style":nil,
"created_at":"2017-08-10T13:32:55.829Z",
"updated_at":"2017-08-10T13:32:55.949Z",
"options":
{"other_type":"PersonGrade",
"other_id":66,
"requested_entity_attributes":{"school_type":nil, "grade":""}},
"old_custom_attrs":{},
"form_block":
{"id":3468,
"form_part_id":973,
"name":"Education",
"style":"Product::FormBlock::PartPersonSchool",
"handle":"education",
"position":4,
"created_at":"2017-08-10T13:21:54.315Z",
"updated_at":"2017-08-10T13:27:33.549Z"},
"entity":{"id":72, "school_type":nil, "grade":""}},
{"id":1567,
"registration_id":363,
"form_block_id":3473,
"entity_id":101,
"entity_type":"Person",
"style":nil,
"created_at":"2017-08-10T13:32:55.844Z",
"updated_at":"2017-08-10T13:32:56.004Z",
"options":
{"requested_entity_attributes":{"email":"", "cell_phone":""}},
"old_custom_attrs":{},
"form_block":
{"id":3473,
"form_part_id":975,
"name":"Contact",
"style":"Product::FormBlock::PartParentContact",
"handle":"contact",
"position":1,
"created_at":"2017-08-10T13:21:54.429Z",
"updated_at":"2017-08-10T13:27:33.751Z"},
"entity":{"id":101, "email":"", "cell_phone":""}},
{"id":1566,
"registration_id":363,
"form_block_id":3472,
"entity_id":101,
"entity_type":"Person",
"style":nil,
"created_at":"2017-08-10T13:32:55.837Z",
"updated_at":"2017-08-10T13:32:55.988Z",
"options":
{"requested_entity_attributes":
{"first_name":"Adam",
"last_name":"Miles",
"relationship":"Father"}},
"old_custom_attrs":{},
"form_block":
{"id":3472,
"form_part_id":975,
"name":"Parent/Guardian",
"style":"Product::FormBlock::PartParent",
"handle":"parentguardian",
"position":0,
"created_at":"2017-08-10T13:21:54.394Z",
"updated_at":"2017-08-10T13:27:33.711Z"},
"entity":
{"id":101,
"first_name":"Adam",
"last_name":"Miles",
"relationship":"Father"}},
{"id":1564,
"registration_id":363,
"form_block_id":3466,
"entity_id":163,
"entity_type":"Person",
"style":nil,
"created_at":"2017-08-10T13:32:55.822Z",
"updated_at":"2017-08-10T13:32:55.896Z",
"options":
{"requested_entity_attributes":
{"email":"", "cell_phone":"+12125558888"}},
"old_custom_attrs":{},
"form_block":
{"id":3466,
"form_part_id":973,
"name":"Contact",
"style":"Product::FormBlock::PartPersonContact",
"handle":"contact",
"position":2,
"created_at":"2017-08-10T13:21:54.283Z",
"updated_at":"2017-08-10T13:27:33.496Z"},
"entity":{"id":163, "email":"", "cell_phone":"+12125558888"}},
{"id":1563,
"registration_id":363,
"form_block_id":3464,
"entity_id":163,
"entity_type":"Person",
"style":nil,
"created_at":"2017-08-10T13:32:55.812Z",
"updated_at":"2017-08-10T13:32:55.812Z",
"options":
{"requested_entity_attributes":
{"first_name":"Andy", "last_name":"Arbogast"}},
"old_custom_attrs":{},
"form_block":
{"id":3464,
"form_part_id":973,
"name":"Primary",
"style":"Product::FormBlock::PartPerson",
"handle":"primary",
"position":0,
"created_at":"2017-08-10T13:21:54.216Z",
"updated_at":"2017-08-10T13:27:33.442Z"},
"entity":{"id":163, "first_name":"Andy", "last_name":"Arbogast"}}]},
"notifications":[]}
Attributes
id
integer |
Unique identifier for the object. | ||||||||||||||||||||||||||||||||||||||||||
person_id
integer |
Unique identifier of participant. | ||||||||||||||||||||||||||||||||||||||||||
program_id
integer |
Unique identifier of program. | ||||||||||||||||||||||||||||||||||||||||||
state
string |
name of current registration state. | ||||||||||||||||||||||||||||||||||||||||||
registration_date
timestamp |
Time when registration was completed. | ||||||||||||||||||||||||||||||||||||||||||
uuid
string |
Unique identifier of object in uuid format. | ||||||||||||||||||||||||||||||||||||||||||
user_change_at
timestamp |
Time when participant data was lastly changed. | ||||||||||||||||||||||||||||||||||||||||||
created_at
timestamp |
Time when registration was created. | ||||||||||||||||||||||||||||||||||||||||||
owner_id
integer |
(org:registrations:basic/owner) Unique identifier of the owner. | ||||||||||||||||||||||||||||||||||||||||||
owner_type
integer |
(org:registrations:basic/owner) Type of registration owner. Values can be User or TempUser. | ||||||||||||||||||||||||||||||||||||||||||
owner
hash, if requested in include |
(org:registrations:basic/owner) Owner basic information
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
person
hash, if requested in include |
(org:registrations:basic/person) Person basic information
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
payment_state
string |
(org:registrations:payment_information) Registration current payment state. | ||||||||||||||||||||||||||||||||||||||||||
balance
decimal |
(org:registrations:payment_information) Registration balance (total - paid). | ||||||||||||||||||||||||||||||||||||||||||
deposit
decimal |
(org:registrations:payment_information) How much user should pay deposit to complete registration. | ||||||||||||||||||||||||||||||||||||||||||
paid
decimal |
(org:registrations:payment_information) How much user has paid for registration. | ||||||||||||||||||||||||||||||||||||||||||
requested_to_pay
decimal |
(org:registrations:payment_information) How much user is going to pay. | ||||||||||||||||||||||||||||||||||||||||||
clean_paid
decimal |
(org:registrations:payment_information) How much user has paid for registration (only payments, no refundings). | ||||||||||||||||||||||||||||||||||||||||||
clean_refunded
decimal |
(org:registrations:payment_information) How much registration has been refunded. | ||||||||||||||||||||||||||||||||||||||||||
total_wout_addons
decimal |
(org:registrations:payment_information) Registration total cost without addons. | ||||||||||||||||||||||||||||||||||||||||||
total
decimal |
(org:registrations:payment_information) Registration total cost. | ||||||||||||||||||||||||||||||||||||||||||
payments
array of objects, if requested in include |
(org:registrations:payment_information/payments) Payments done.
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
registration_sections
array of objects, if requested in include |
(org:registrations:sections:read/registration_sections) Registration sections information.
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
registration_section_options
array of objects, if requested in include |
(org:registrations:sections:read/registration_sections) Registration section options information.
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
registration_addons
array of objects, if requested in include |
(org:registrations:sections:read/registration_sections) Registration addons information.
Show attributes
|
||||||||||||||||||||||||||||||||||||||||||
registration_internal_fields
array of objects, if requested in include |
(org:registrations:internal_fields:read/registration_internal_fields) Registration internal fields information. | ||||||||||||||||||||||||||||||||||||||||||
registration_agreements
array of objects, if requested in include |
(org:registrations:agreements/registration_agreements) Registration agreements information. | ||||||||||||||||||||||||||||||||||||||||||
registration_form_blocks
array of objects, if requested in include |
(org:registrations:form:*/registration_form_blocks) Registration participant information. Available scopes: org:registrations:form:addresses, org:registrations:form:doctors, org:registrations:form:emergency_contacts, org:registrations:form:insurances, org:registrations:form:medications, org:registrations:form:parents, org:registrations:form:registrant_information, org:registrations:form:concerns_and_comments Show attributes
|
Get All Registrations
curl "https://payment.familyid.com/v1/registrations"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
[
{
"id":11,
"person_id":"1",
"program_id":"3",
"state":"completed",
"registration_date":"2017-02-20T10:41:00.000Z",
"uuid":"15283cc3-a369-4b63-89df-79000bd8e7db",
"user_change_at":"2017-02-20T14:08:37.969Z",
"created_at":"2017-02-20T14:08:37.969Z"
}
],
"notifications":[]
}
}
This endpoint retrieves all registrations in programs for which you were given access during the authorization process. Form blocks structure can be seen here.
HTTP Request
GET https://payment.familyid.com/v1/registrations
Query Parameters
Registration query parameters are
Parameter | Scope | Description |
---|---|---|
organization_id | - | required |
include[owner] | org:registrations:basic | If defined, response will return owner of registration. |
include[person] | org:registrations:basic | If defined, response will return participant. |
- | org:registrations:payment_information | Scope will always return balance, deposit, paid, requested_to_pay, payment_state, total, total_wout_addons, clean_paid and clean_refunded parameters. |
include [payments] | org:registrations: payment_information | If defined, response will return payments with payment method name. |
include [registration_sections] | org:registrations:sections:read | If defined, response will return selected sections. |
include [registration_section_options] | org:registrations:sections:read | If defined, response will return selected section options and choices. |
include [registration_addons] | org:registrations:sections:read | If defined, response will return selected addons and choices. |
include [registration_internal_fields] | org:registrations:internal_fields:read | If defined, response will return set internal fields. |
include [registration_agreements] | org:registrations:agreements | If defined, response will return signed agreements. |
include [registration_form_blocks] | org:registrations:form:addresses | If defined, response will return filled addresses in the registration form. |
include [registration_form_blocks] | org:registrations:form:doctors | If defined, response will return filled doctors in the registration form. |
include [registration_form_blocks] | org:registrations:form: emergency_contacts | If defined, response will return filled emergency contacts in the registration form. |
include [registration_form_blocks] | org:registrations:form:insurances | If defined, response will return filled insurances in the registration form. |
include [registration_form_blocks] | org:registrations:form:medications | If defined, response will return filled medications in the registration form. |
include [registration_form_blocks] | org:registrations:form:parents | If defined, response will return filled parents in the registration form. |
include [registration_form_blocks] | org:registrations:form: registrant_information | If defined, response will return registrant filled blocks. |
include [registration_form_blocks] | org:registrations:form: concerns_and_comments | If defined, response will return filled registrant concerns and comments. |
Get a Specific Registration
curl "https://payment.familyid.com/v1/registrations/2"
-H "Authorization: meowmeowmeow"
The above command returns JSON structured like this:
{object:
{
"id":11,
"person_id":"1",
"program_id":"3",
"state":"completed",
"registration_date":"2017-02-20T10:41:00.000Z",
"uuid":"15283cc3-a369-4b63-89df-79000bd8e7db",
"user_change_at":"2017-02-20T14:08:37.969Z",
"created_at":"2017-02-20T14:08:37.969Z"
}
,
"notifications":[]
}
}
This endpoint retrieves all registrations in programs in which you were granted access during the authorization process.
HTTP Request
GET https://payment.familyid.com/v1/registrations/<ID>
URL Parameters
Registration form structure
Registrant form structure
This is the most complex part of registration. This is the screenshot from the program participant page.
Webhooks
Webhooks will help you to get information from FamilyID instantly without any need to pull it. You can configure them under https://www.familyid.com/developer/webhooks. You have to select:
Parameter | Description |
---|---|
owner type | Whose information will be sent. Use organization if you make connection to org and User if want to get personnal information. |
event | Pick 1 of them |
url | URl where webhook will be sent. |