NAV Navbar
Logo
shell

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:

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. Registrant form

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.