Download OpenAPI specification:Download
contactId required | integer <int32> The ID of the contact to return the fields from. |
[- {
- "ContactAddressId": 0,
- "Address1": "123 Main St",
- "Address2": null,
- "City": "Anytown",
- "StateProvince": "NY",
- "PostalCode": "12345",
- "CountryId": 1,
- "Id": 0,
- "Name": "123 Main St Anytown NY"
}
]
ContactId required | integer <int32> The ID of the contact to return the fields from. |
{- "ContactId": 1,
- "ContactDisplayName": "John Doe",
- "Groups": [
- {
- "IsSelected": false,
- "IsAdded": false,
- "IsRemoved": false,
- "ContactGroupId": 0,
- "ContactGroupAuditId": 0,
- "GroupId": 0,
- "DisallowOptIn": false,
- "DisallowOptOut": null,
- "IsMemberJoinable": false,
- "IsMemberViewable": false,
- "Category": null,
- "Name": "Group 1",
- "Description": null
}
], - "GroupMembers": [
- {
- "IsSelected": false,
- "IsAdded": false,
- "IsRemoved": false,
- "ContactGroupId": 0,
- "ContactGroupAuditId": 0,
- "GroupId": 0,
- "DisallowOptIn": false,
- "DisallowOptOut": null,
- "IsMemberJoinable": false,
- "IsMemberViewable": false,
- "Category": null,
- "Name": "Group 1",
- "Description": null
}
]
}
contactId required | integer <int32> The ID of the contact to return the fields from. |
{- "ContactId": 100,
- "ObjectTypeId": 0,
- "SearchObjectTypeId": 0,
- "AuditId": 0,
- "Notes": "My Notes",
- "Bio": "My Bio",
- "EstablishedDate": "2020-01-01T00:00:00Z",
- "Naics": null,
- "Sic": null,
- "Fields": [
- {
- "ContactId": 100,
- "Key": 1,
- "Id": 1,
- "CustomFieldId": 1,
- "Name": null,
- "DisplayName": "Custom Text Field",
- "Description": "This is a custom text field",
- "CustomFieldType": "Text",
- "StandardFieldId": null,
- "DataSize": 150,
- "FieldGroupName": "Custom Fields",
- "IsPublic": true,
- "IsMemberEditable": false,
- "IsRequired": true,
- "IsRequiredOriginal": true,
- "IsArchived": false,
- "DisplayOrder": 0,
- "GroupDisplayOrder": null,
- "ValueId": 0,
- "ValueAuditId": 0,
- "ObjectTypeId": 0,
- "Value": "This is a custom text field value",
- "TableColumns": null,
- "TotalTableColumns": 0,
- "ScaleModel": {
- "RangeFrom": 0,
- "RangeTo": 0,
- "Step": 0
}, - "ExternalDataSource": {
- "ApiUrl": null,
- "KeyFieldName": null,
- "ValueFieldName": null,
- "DataType": null
}, - "SelectListDataArray": null,
- "SelectOptions": [ ],
- "FileModel": null,
- "Icon": null,
- "SelectListData": null,
- "CustomFieldDataTypeId": 1
}
], - "HasAccessToSetup": true
}
[- {
- "CategoryListId": 1,
- "CategoryTypeId": 0,
- "IsMemberEditable": false,
- "CategoryItemId": 100,
- "CategoryListName": "Category 1",
- "Name": "Category Item",
- "DisplayOrder": 0,
- "Actions": null
}
]
ContactId required | integer <int32> The ID of the contact to return the fields from. |
[- {
- "MembershipId": 0,
- "MembershipActivationId": 0,
- "HashedMembershipId": null,
- "MembershipContactId": 0,
- "AuditId": 0,
- "OwnerContactId": 0,
- "MembershipContactContactId": 0,
- "Name": "Membership 1",
- "Notes": "",
- "MembershipStatusTypeId": 0,
- "SummaryDescription": "",
- "StartDate": "2019-01-01T00:00:00Z",
- "ExpirationDate": "2020-01-01T00:00:00Z",
- "GracePeriodExpirationDate": null,
- "EndDate": "2020-01-01T00:00:00Z",
- "Renewal": null,
- "InActive": false,
- "Actions": null,
- "MembershipEndTypeId": 0,
- "MembershipRenewalTypeId": 0,
- "RenewalDate": "0001-01-01T00:00:00Z",
- "PurchaseId": null,
- "InvoiceNumber": "12341234",
- "Balance": 0,
- "MembershipPurchaseTypeId": 0,
- "IsAlreadyRenewed": false,
- "IsRenewalPaid": true,
- "IsInactive": false,
- "IsInGracePeriod": false,
- "IsInGracePeriodInvoiced": false,
- "IsRenewDeclined": false,
- "DropReasonId": null,
- "CssClass": "",
- "PrimaryEmailAddressId": null,
- "MembershipTypeId": 0,
- "MembershipLevelId": null,
- "PlanOrFrequencyId": null,
- "HasPaymentPlan": false,
- "HasEligiblePaymentPlan": false,
- "PostActions": null
}
]
primaryContactId required | integer <int32> The ID of the contact to return the fields from. |
[- {
- "Id": 1,
- "Name": "example@email.com",
- "EmailAddressTypeId": 1
}
]
The return object returns a summary of the contact id specified.
The response will include Memberships, Conftact info, Related contacts, and Related Organizations
ContactId required | integer <int32> |
{- "ContactId": 100,
- "PersonContactId": 100,
- "ContactOrganizationId": 0,
- "SystemContactTypeId": 0,
- "CategoryTypeId": 0,
- "PrimaryAddressId": null,
- "PrimaryWebAddressId": null,
- "PrimaryPhoneId": null,
- "PrimaryEmailAddressId": null,
- "ContactDisplayName": null,
- "FamilyContactsEnabled": false,
- "RoleRequired": true,
- "IsDeleted": false,
- "ContactInfos": null,
- "Contacts": null,
- "Organizations": null,
- "Groups": null,
- "Activities": [
- {
- "ContactActivityId": 1,
- "ContactId": 100,
- "ActivityDate": "2022-01-01T00:00:00Z",
- "ActivityTypeId": 1,
- "Description": "Email sent to John Doe"
}
], - "Categories": [
- {
- "CategoryListId": 1,
- "CategoryTypeId": 0,
- "IsMemberEditable": true,
- "CategoryItemId": 1,
- "CategoryListName": "Category List 1",
- "Name": "Category 1",
- "DisplayOrder": 0,
- "Actions": null
}
], - "AssignedContacts": [
- {
- "ContactRelationshipId": 1,
- "AuditId": 0,
- "ContactId": 100,
- "StaffContactId": 100,
- "Name": "Location 1",
- "ContactRelationshipTypeId": 1,
- "Type": null,
- "Actions": null
}
], - "Projects": null,
- "FormsResponses": null,
- "Certifications": [
- {
- "CertificationContactId": 100,
- "CertificationName": "Certification 1",
- "Status": 1,
- "StartDate": "2022-01-01T00:00:00Z",
- "CompletedDate": "2022-01-01T00:00:00Z",
- "HoursEarned": 2,
- "CreditsEarned": 2,
- "Percentage": "100",
- "PercentComplete": 100,
- "CertificationCompletionType": 0,
- "DocumentGenerationTemplateId": 1,
- "ExtraOptions": {
- "RequireAdminReview": false,
- "CertificationCompletionType": 0,
- "ExpiresInMonths": null
}, - "SettingJson": "{}",
- "Actions": null
}
], - "ShouldTrackCertificateCompletion": false,
- "Memberships": null,
- "SoftwareAccounts": null,
- "ContactChapters": null,
- "IsContactChaptersReadOnly": false,
- "RelatedIndividuals": null,
- "ContactExperiences": null,
- "ChildOrganizations": null,
- "ParentOrganizations": null,
- "RelatedOrganizations": null,
- "Communication": [
- {
- "Actions": null,
- "CommunicationId": 1,
- "AuditId": 0,
- "CommunicationTypeId": 0,
- "CommunicationStatusTypeId": 0,
- "FromDisplayName": null,
- "Date": "2022-01-01T00:00:00Z",
- "Subject": "Subject 1",
- "FromInitials": null,
- "Category": null,
- "FilesCount": 0
}
], - "SalesOpportunities": null,
- "Families": null,
- "FundraisingActivities": null,
- "AllowStatusEdit": true
}
Returns a list of contacts modified since the supplied modified datetime.
Returned ordered by the date and time modified.
All date filters are based on UTC time
Example Requests.
Year Month Day: /api/contacts/delta?top=100&modifiedSince=2022-01-01
With Time: /api/contacts/delta?top=100&modifiedSince=2022-01-01T12:00:00
modifiedSince required | string Returns contacts modified after this datetime. See endpoint description for format. |
top required | integer <int32> The number of changed contacts to returned |
[- {
- "ContactId": 1000,
- "DisplayName": "John Smith",
- "ModifiedDate": "2024-07-18T13:42:52.5416563Z",
- "IsDeleted": false,
- "SystemContactTypeId": 1
}
]
contactId required | integer <int32> The ID of the contact to return the fields from. |
{- "ContactId": 0,
- "AuditId": 0,
- "IsRealEstateEdition": false,
- "SystemContactTypeId": 1,
- "PrimaryAddressId": null,
- "PrimaryEmailAddressId": null,
- "PrimaryPhoneId": null,
- "PrimaryWebAddressId": null,
- "PrimaryContactId": null,
- "forceSave": false,
- "NRDSIsStateAssociation": false,
- "IsPOE": false,
- "Prefix": null,
- "FirstName": "John",
- "MiddleName": null,
- "LastName": "Doe",
- "Suffix": null,
- "CommonName": null,
- "PrimaryTitle": null,
- "GenderId": null,
- "AccountNumber": "1234",
- "HideAccountNumber": false,
- "DesignationMsg": "Designations are a one-way sync from M1. Designations entered into Growthzone are not sent to M1.",
- "ContactDesignations": [ ],
- "ContactList": [ ],
- "Addresses": [
- {
- "AuditSourceId": 1,
- "AuditId": 0,
- "AddressAuditId": 0,
- "ContactAddressId": 0,
- "AddressId": 0,
- "TenantId": 0,
- "Address1": "123 Main St",
- "Address2": null,
- "City": "Anytown",
- "StateProvince": "NY",
- "PostalCode": "12345",
- "CountryId": 1,
- "AddressTypeId": 0,
- "AddressUsageFlagId": null,
- "Note": null,
- "isDeleted": false,
- "IsUnpublished": false
}
], - "OrganizationsAndRoles": [
- {
- "Name": null,
- "OrganizationContactId": null,
- "Title": null,
- "RoleId": null,
- "IsEmpty": true,
- "RoleStartDate": "2024-07-18T00:00:00Z",
- "RoleEndDate": null,
- "isDeleted": false,
- "ContactRoleId": 0,
- "ContactRoleAuditId": 0,
- "ContactId": null,
- "DisplayOnWeb": true,
- "IsContact": true
}
]
}
ContactId required | integer <int32> The ID of the contact to return the fields from. |
{- "ContactId": 1000,
- "LoginId": null,
- "Prefix": null,
- "FirstName": "John",
- "MiddleName": "",
- "LastName": "Doe",
- "Suffix": null,
- "CommonName": "John Doe",
- "PrimaryOrg": null,
- "DisplayName": "John Doe",
- "EmailRelayServiceAddress": null,
- "PrimaryEmailAddress": "jdoe@example.com",
- "Balance": 0,
- "OpenTaskCount": 0,
- "Status": 0,
- "Tags": [ ],
- "ProfileImage": {
- "FileId": 0,
- "ImageId": 0,
- "Url": "www.example.com/image.jpg",
- "Height": 0,
- "Width": 0,
- "Caption": null,
- "ShortDescription": null
}, - "Actions": null,
- "AuditId": 0,
- "DoNotShowEditName": true
}
This endpoint is used to return the status of selected categories for a specific contact.
While contactId is always required, the other two fields can be used in any combination.
The following would all be valid requests:
api/contacts/organization/0/categorychoices/null/null
api/contacts/organization/0/categorychoices/1/1
api/contacts/organization/0/categorychoices/null/1
api/contacts/organization/0/categorychoices/1/null
contactId required | integer <int32> The ID of the contact to return the fields from. |
categoryTypeId required | integer <int32> Enum: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Optional parameter for filtering category type to return. Use null for no value. |
categoryListId required | integer <int32> Optional parameter for limiting to a specific category entry. Use null for no value. |
{- "ContactId": 1000,
- "CategoryListId": 1,
- "CategoryTypeId": 3,
- "Categories": [
- {
- "IsSelected": true,
- "PreviouslySelected": false,
- "Id": 100,
- "CategoryItemId": 10,
- "CategoryListId": 1,
- "ContactCategoryId": null,
- "DisplayOrder": 0,
- "Type": null,
- "Name": "Category",
- "Parent": null
}
], - "CategoryListName": "CategoryListName",
- "DisAllowPrint": true
}
ContactId required | integer <int32> The ID of the contact to return the fields from. |
[- {
- "MembershipId": 0,
- "MembershipActivationId": 0,
- "HashedMembershipId": "string",
- "MembershipContactId": 0,
- "AuditId": 0,
- "OwnerContactId": 0,
- "MembershipContactContactId": 0,
- "Name": "string",
- "Notes": "string",
- "MembershipStatusTypeId": "0 - NonMember",
- "SummaryDescription": "string",
- "StartDate": "2019-08-24T14:15:22Z",
- "ExpirationDate": "2019-08-24T14:15:22Z",
- "GracePeriodExpirationDate": "2019-08-24T14:15:22Z",
- "EndDate": "2019-08-24T14:15:22Z",
- "Renewal": "2019-08-24T14:15:22Z",
- "InActive": true,
- "Actions": { },
- "MembershipEndTypeId": "0 - ManuallyEnded",
- "MembershipRenewalTypeId": "0 - Invoice",
- "RenewalDate": "2019-08-24T14:15:22Z",
- "PurchaseId": 0,
- "InvoiceNumber": "string",
- "Balance": 0,
- "MembershipPurchaseTypeId": "1 - New",
- "IsAlreadyRenewed": true,
- "IsRenewalPaid": true,
- "IsInactive": true,
- "IsInGracePeriod": true,
- "IsInGracePeriodInvoiced": true,
- "IsRenewDeclined": true,
- "DropReasonId": 0,
- "CssClass": "string",
- "PrimaryEmailAddressId": 0,
- "MembershipTypeId": 0,
- "MembershipLevelId": 0,
- "PlanOrFrequencyId": 0,
- "HasPaymentPlan": true,
- "HasEligiblePaymentPlan": true,
- "PostActions": { }
}
]
Returns a list of contacts in a pagable group.
Takes in full Odata object.
Example Request:
api/contacts?skip=0&take=1&orderBy=ContactId
$orderby | string Order the results using OData syntax. |
$skip | integer The number of results to skip. |
$top | integer The number of results to return. |
{- "Criteria": "",
- "CriteriaItems": [ ],
- "TotalRecordAvailable": 1,
- "ModelItems": {
- "HideFamilyOption": true
}, - "Results": [
- {
- "ImageShortDescription": "",
- "SelectionId": 1000,
- "ContactId": 1000,
- "OrganizationContactId": 0,
- "SystemContactTypeId": 0,
- "ContactType": null,
- "IsSelected": false,
- "Type": "fa fa-user",
- "Name": "John Smith",
- "ContactName": "John Smith",
- "MembershipStatusTypeId": 2,
- "Status": "Active",
- "Balance": 0,
- "PrimaryContact": "Tom Smith",
- "Parents": 0,
- "Children": 0,
- "EmailStatus": 50,
- "EmailAddress": "JSmith@example.com",
- "Phone": "1235551234",
- "City": "Minneapolis",
- "StateProvince": "MN",
- "CountryId": 1,
- "Country": "United States",
- "ContactRoleCount": 0,
- "Actions": null,
- "AccountNumber": "1234",
- "IsTenantOrgId": false,
- "IsTenantStaff": false
}
]
}
[- 0
]
[- {
- "GroupId": 0,
- "PrimaryCategoryId": 0,
- "Name": "string",
- "Description": "string",
- "IsActive": true,
- "AdditionalCategories": [
- 0
], - "Contacts": [
- {
- "ContactId": 0,
- "Name": "string"
}
]
}
]
Takes in full Odata object.
Example Request:
/api/groups/1/members?skip=0&take=1&orderBy=ContactGroupId
groupId required | integer <int32> |
$orderby | string Order the results using OData syntax. |
$skip | integer The number of results to skip. |
$top | integer The number of results to return. |
{- "Criteria": null,
- "CriteriaItems": null,
- "TotalRecordAvailable": 1,
- "ModelItems": null,
- "Results": [
- {
- "ContactGroupId": 0,
- "AuditId": 0,
- "GroupId": 0,
- "ContactId": 100,
- "OrganizationContactId": 0,
- "FirstName": "John",
- "LastName": "Doe",
- "Organization": null,
- "Email": "example@email.com",
- "Status": 2,
- "Role": "Member",
- "AuditlogId": 0,
- "JoinDate": "2020-01-01T00:00:00Z",
- "EndDate": null,
- "DoNotContact": false,
- "IsInternalOnly": false,
- "IsActive": false,
- "Actions": null
}
]
}
Used for dynamically populating dropdown based on up to date membership statuses.
defaultMembershipStatus required | integer <int32> Enum: 0 1 2 3 4 5 6 7 8 9 Value to be selected by default |
[- {
- "Order": 1,
- "IsSelected": true,
- "PreviouslySelected": false,
- "Id": 0,
- "Name": "Item 1"
}, - {
- "Order": 2,
- "IsSelected": false,
- "PreviouslySelected": false,
- "Id": 1,
- "Name": "Item 2"
}
]
Uses OData object to page and order memberships.
Example Request:
/api/memberships/all?skip=0&take=1&OrderBy=MembershipId
$orderby | string Order the results using OData syntax. |
$skip | integer The number of results to skip. |
$top | integer The number of results to return. |
{- "Criteria": null,
- "CriteriaItems": null,
- "TotalRecordAvailable": 1,
- "ModelItems": null,
- "Results": [
- {
- "MembershipId": 1,
- "AuditId": 0,
- "ContactId": 100,
- "ImageShortDescription": "Image Short Description",
- "Name": "Membership Name",
- "Number": "1115551234",
- "Type": null,
- "StartDate": "2015-01-01T00:00:00Z",
- "MembershipActiveFor": "Active for:",
- "EndDate": "2020-01-01T00:00:00Z",
- "ExpirationDate": "2020-01-01T00:00:00Z",
- "RenewalMonth": 1,
- "MembershipStatusTypeId": 0,
- "Status": "Active",
- "RenewalNoticeDays": 30,
- "TotalRecordAvailable": 1,
- "Style": "{'background-color':'#DA9694'}"
}
]
}
membershipId required | integer <int32> The ID of the membership to return the fields from. |
changeType required | integer <int32> Enum: 0 1 2 3 4 5 The ID of the contact to return the fields from. |
{- "MembershipId": 0,
- "ContactId": 100,
- "SystemContactTypeId": null,
- "MembershipJoinReasonId": null,
- "SendNewMemberWelcome": false,
- "CreateNewMemberProject": false,
- "ProjectTemplateId": null,
- "ChangeType": 0,
- "Change": "Upgrade",
- "MembershipTypeId": null,
- "OldMembershipTypeId": null,
- "MembershipLevelId": null,
- "DurationMonths": 0,
- "ChapterId": null,
- "SalesContactId": null,
- "Notes": null,
- "Fields": null,
- "Instructions": "",
- "PlanOrFrequencyId": null,
- "NextBillingDate": null,
- "StartDate": "0001-01-01T00:00:00Z",
- "FeeItems": [ ],
- "OncePerTermFeeItems": [ ],
- "OneTimeFeeItems": [ ],
- "OldFeeItems": null,
- "MembershipTypeDurationMonths": 0,
- "MembershipTypeFixedAnnualRenewalMonth": null,
- "FixedAnnualRenewalMonth": null,
- "Name": "Upgrade",
- "PrintInvoice": false,
- "EmailInvoice": false,
- "BillingContactId": null,
- "ResponsiblePartyContactName": null,
- "ResponsiblePartyContactId": null,
- "HasBillingResponsibleParty": false,
- "BillingResponsiblePartyRoleTypeId": null,
- "ResponsiblePartyTypeId": null,
- "BillingAddressId": null,
- "BillingEmailId": null,
- "TermId": null,
- "InvoiceMessage": null,
- "BillingStartDate": "0001-01-01T00:00:00Z",
- "SameNextBillDates": true,
- "ExpirationDate": null,
- "MembershipRenewalTypeId": 0,
- "MembershipEndTypeId": 0,
- "GracePeriodExpirationDate": "0001-01-01T00:00:00Z",
- "RenewalNotificationDate": "0001-01-01T00:00:00Z",
- "Yesterday": "2024-07-17T13:42:55.9012809Z",
- "PricingTypeId": 0,
- "RoundToNearestOnes": false,
- "PaymentGatewayId": null,
- "VoluntaryItems": null,
- "ChapterIds": null,
- "PurchaseIds": null,
- "InvoiceNumber": null,
- "HasLevels": false,
- "GracePeriodDays": 0,
- "InitialExpirationDate": null,
- "DisableDateEditing": false,
- "SendStaffNotifications": true
}
Uses OData object to page and order member types.
Example Request:
/api/membership/types?skip=0&take=1&orderBy=MembershipTypeId
$orderby | string Order the results using OData syntax. |
$skip | integer The number of results to skip. |
$top | integer The number of results to return. |
{- "Criteria": null,
- "CriteriaItems": null,
- "TotalRecordAvailable": 1,
- "ModelItems": null,
- "Results": [
- {
- "MembershipTypeId": 0,
- "MembershipTypeOptionId": null,
- "Type": "fa fa-users",
- "Name": "Gold",
- "ActiveMembershipCount": 1,
- "OwnerContactTypeId": null,
- "IsActive": false,
- "FormulaBasedPricing": false,
- "Pricing": null,
- "Levels": 0,
- "DoesLevelHasBenefitPackages": false,
- "BenefitPackages": null,
- "MembershipTypeBenefitPackageCount": 0,
- "ChapterFeesCount": 0,
- "Directories": 0,
- "Categories": 0,
- "Benefits": "",
- "ObjectTypeId": 8,
- "AllowChapterSelection": false,
- "DisplayOrder": null,
- "EditorTypeId": null,
- "FixedAnnualRenewalMonth": null,
- "HasPaymentPlans": false,
- "HidePaymentPlanAction": true,
- "Actions": null,
- "PostActions": null,
- "TotalRecordAvailable": 0
}
]
}